我想使用ffmpeg将mp4转换为'low size‘mp4 ...
我需要一个带有h263视频和aac音频的mp4文件(或低成本手机支持的其他一些设置)。我主要关心的是视频是否可以在大多数设备上播放。
可以使用哪些ffmpeg命令来实现此目的?
提前谢谢。
发布于 2012-11-27 17:22:56
对mp4视频进行编码的方法有很多种,而在移动设备上对它们进行编码则更加复杂。我不确定你所说的“低成本移动设备”是指设备中的低成本,还是播放视频所需的带宽?
无论哪种方式,这里有一篇文章可以让你继续前进:H.264 WEB VIDEO ENCODING TUTORIAL WITH FFMPEG
示例
下面是这篇文章中的一些ffmpeg示例。
标准web视频(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视频(基线配置文件中250kbit/s时为360p):
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
适用于iPads和平板电脑的480p视频(主配置文件中400kbit/s时为480p):
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
用于存档/存储的高质量标清视频(高清模式下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
在为某些低成本(例如安卓)设备编码时,这个看似奇怪的baseline (或另一个合适的profile parameter)可能很重要……
Baseline Profile (BP)
此配置文件主要用于需要额外数据丢失稳健性的低成本应用程序,用于某些视频会议和移动应用程序。此配置文件包括受约束的基线配置文件中支持的所有功能,以及可用于损失稳健性(或用于其他目的,如低延迟多点视频流合成)的三个附加功能。自从2009年定义受约束的基线配置文件以来,此配置文件的重要性已有所减弱。所有受约束的基线配置文件比特流也被认为是基线配置文件比特流,因为这两个配置文件共享相同的配置文件标识符代码值。
发布于 2021-11-03 12:56:46
ffmpeg.exe -i "input.mp4" -vcodec mpeg4 -preset slower -b:v 1000k -vf "scale=640:480,setsar=1,fps=30,pad=640:480:0:0" -acodec aac -ac 2 -ar 22050 -ab 128k "output (480p).mp4"发布于 2012-11-28 17:06:58
我找到了答案,无论如何,谢谢你的帮助。
ffmpeg -i $input_file -s $size $output_file$size : 320X400或任何WidthXHeight
https://stackoverflow.com/questions/13560852
复制相似问题