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

使用FFMPEG将mp4转换为最大移动支持mp4,ffmpeg,h.264,Ffmpeg,H.264,我想使用ffmpeg将mp4转换为“低尺寸”mp4 我需要一个mp4文件,其中包含h263视频和aac音频(或低成本移动设备支持的一些其他设置)。我主要关心的是视频可以在大多数设备上播放 有什么可能的ffmpeg命令来实现这一点 提前感谢。mp4视频的编码方式有很多种,而为移动设备编码则更为复杂。我不知道你所说的“低成本手机”是什么意思,你是指设备的低成本,还是播放上述视频所需的带宽 无论哪种方式,这里都有一个帖子可以让你继续: 例子 下面是一些来自post的ffmpeg示例 “标准”网络视频(

我想使用
ffmpeg
mp4
转换为“低尺寸”
mp4

我需要一个
mp4
文件,其中包含
h263
视频和
aac
音频(或低成本移动设备支持的一些其他设置)。我主要关心的是视频可以在大多数设备上播放

有什么可能的
ffmpeg
命令来实现这一点


提前感谢。

mp4视频的编码方式有很多种,而为移动设备编码则更为复杂。我不知道你所说的“低成本手机”是什么意思,你是指设备的低成本,还是播放上述视频所需的带宽

无论哪种方式,这里都有一个帖子可以让你继续:

例子 下面是一些来自post的
ffmpeg
示例

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

ffmpeg-i input_file.avi-vcodec libx264-vprofile high-preset slow-b:v 500k-maxrate 500k-bufsize 1000k-vf scale=-1:480-线程
0-acodec libvo_aacenc-b:128k输出文件.mp4

适用于老式移动电话的360p视频(基线为250kbit/s时为360p) 个人资料):

ffmpeg-i inputfile.avi-vcodec libx264-vprofile基线-预设慢-b:v 250k-maxrate 250k-bufsize 500k-vf比例=-1:360-线程0
-acodec libvo_aacenc-ab 96k输出.mp4

适用于iPad和平板电脑的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

用于存档/存储的高质量SD视频(PAL在高分辨率下为1Mbit/s) 个人资料):

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

比特率、比例和配置文件。。。 从这里的例子中,您可能需要注意的一些关键事项是

-b:V500K

-b:128k

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

scale=-1:480

这样可以将视频缩小到更小的尺寸,请在帖子中查看更多相关信息)

-vprofile基线

当为某些较低成本(如Android)设备编码时,这似乎很奇怪的
基线
(或另一个合适的)可能很重要

基线概况(BP)

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


我找到了答案,谢谢你的帮助

ffmpeg -i $input_file -s $size $output_file

$size:320X400或任意宽度xheight

此所有转换,我的输入和输出文件的格式相同。我正尝试使用360p命令将AVI转换为MP4,但“-acodec libvo_aacenc-ab 128k”不起作用,如果我将其替换为“-acodec copy”,则会起作用,错误为“打开输出流#0:0的编码器时出错-可能是不正确的参数,如比特率、速率、宽度或高度“。我应该为音频设置更多参数吗?如果是,params是什么?@user1202498
-acodec copy
实际上根本不会对音频进行编码,而只是将音频流从旧文件复制到新文件中。如果您支持libvo_aacenc
(是吗?)。您也可以尝试使用ffmpeg的本机aac编码。非常感谢,所有的解决方案都有过时的参数,关于
-movflags+faststart
输出选项,以便“将一些信息移到文件的开头,让视频在完全下载之前开始播放“-?这不能回答你的问题。贾斯汀·詹金斯的回答更完整、更有洞察力。链接的博客文章还提供了更多细节来回答这个复杂的问题,即为移动设备编码视频。这只是做旋转,没有任何修改,这正是我想要的,我不想要文档link@Susheel:该命令行根本不执行旋转,它执行调整大小-不设置编解码器或比特率(这就是问题所要求的)。