使用FFMPEG将mp4转换为最大移动支持的MP4

时间:2012-11-26 08:06:10

标签: mobile ffmpeg h.264

我想使用ffmpegmp4转换为'低尺寸'mp4 ...

我需要mp4h263视频和aac音频文件(或低成本手机支持的其他设置)。我主要担心的是视频可在大多数设备上播放

要完成此任务的可能ffmpeg命令是什么?

提前致谢。

1 个答案:

答案 0 :(得分:40)

有许多方法可以对mp4视频进行编码,对移动设备进行编码则更为复杂。我不确定你所说的“低成本手机”你的意思是设备中的低成本,还是播放所述视频所需的带宽?

无论哪种方式,这里有一篇帖子可以帮助您:H.264 WEB VIDEO ENCODING TUTORIAL WITH FFMPEG

实施例

以下是帖子中的一些ffmpeg个例子......

  

“标准”网络视频(480p,500kbit / s):

     

<强> ffmpeg -i input_file.avi -vcodec libx264 -vprofile high -preset slow -b:v 500k -maxrate 500k -bufsize 1000k -vf scale=-1:480 -threads 0 -acodec libvo_aacenc -b:a 128k output_file.mp4

     

针对较旧手机的360p视频(360p,基准线为250kbit / s)   轮廓):

     

<强> ffmpeg -i inputfile.avi -vcodec libx264 -vprofile baseline -preset slow -b:v 250k -maxrate 250k -bufsize 500k -vf scale=-1:360 -threads 0 -acodec libvo_aacenc -ab 96k output.mp4

     适用于iPad和平板电脑的480p视频(主要配置文件中的400p / 400kbit / s):

     

<强> ffmpeg -i inputfile.avi -vcodec libx264 -vprofile main -preset slow -b:v 400k -maxrate 400k -bufsize 800k -vf scale=-1:480 -threads 0 -acodec libvo_aacenc -ab 128k output.mp4

     

用于存档/存储的高质量SD视频(1Mbit / s的PAL高   轮廓):

     

<强> ffmpeg -i inputfile.avi -vcodec libx264 -vprofile high -preset slower -b:v 1000k -vf scale=-1:576 -threads 0 -acodec libvo_aacenc -ab 196k output.mp4

比特率,比例和个人资料......

从那里的例子中,你可能需要注意的一些关键事项是......

-b:v 500k

-b:a 128k

这些是视频v和音频a的比特率,数字越低,质量越低,但在低端设备上播放的效果也越好。

scale=-1:480

这会将视频缩小到较小的尺寸,请参阅帖子中的更多信息)

-vprofile baseline

对某些低成本(例如Android)设备进行编码时,这似乎很奇怪baseline(或其他合适的profile parameter)可能很重要...

  

基线资料(BP)

     

主要用于需要额外数据丢失的低成本应用程序   健壮性,此配置文件用于某些视频会议和移动设备   应用。此配置文件包括支持的所有功能   约束基线配置文件,以及三个附加功能   可用于损失稳健性(或用于其他目的,如   低延迟多点视频流合成)。的重要性   自从定义以来,这个配置文件有所褪色   2009年约束基线概况。所有约束基线概况   比特流也被认为是基线配置文件比特流,如   这两个配置文件共享相同的配置文件标识符代码值。