我想使用ffmpeg
将mp4
转换为'低尺寸'mp4
...
我需要mp4
个h263
视频和aac
音频文件(或低成本手机支持的其他设置)。我主要担心的是视频可在大多数设备上播放
要完成此任务的可能ffmpeg
命令是什么?
提前致谢。
答案 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) 轮廓):
<强>
适用于iPad和平板电脑的480p视频(主要配置文件中的400p / 400kbit / 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
强><强>
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年约束基线概况。所有约束基线概况 比特流也被认为是基线配置文件比特流,如 这两个配置文件共享相同的配置文件标识符代码值。