1

如何正确编码 Android 的视频?我已经看到了支持的媒体格式,但我真的不知道从哪里开始使用这些设置制作视频。

我还没有流式传输这些视频。这些仅用于本地播放。

对视频进行编码以最大限度地提高跨 Android 设备的兼容性的正确流程是什么?

4

1 回答 1

2

这是我用来转换适合 Android 的视频的行。我很幸运能在所有运行 Android >= 4 的设备上播放它。请注意,这与推荐的视频编码中的“高质量”参数相匹配。

avconv -i source.mp4 -vcodec libx264 -profile:v baseline -b 500k -r 30 -vf "setsar=1:1" -acodec libvo_aacenc -ac 2 -ar 44100 -ab 128k converted.mp4

我使用的setsar过滤器将样本纵横比设置为 1:1,如果您还使用任何转置缩放选项,我发现这很有帮助。

例如,要顺时针旋转视频,请使用以下命令:

avconv ... -vf "transpose=dir=clock, setsar=1:1" ...

要记住的一件事是,某些设备不支持播放分辨率大于屏幕的视频。也就是说,屏幕尺寸为 400x800 的手机可能很难播放 800x600 的视频。

要逆时针旋转并缩放视频,使其宽度为 400:

avconv ... -vf "transpose=dir=cclock, scale=400:trunc(ow/a/2)*2, setsar=1:1" ...

要顺时针旋转并缩放视频,使其高度为 400,请使用以下命令:

avconv ... -vf "transpose=dir=clock, scale=trunc(oh*a/2)*2:400, setsar=1:1" ...

我希望这有帮助!对我来说,这经历了很多试验和错误。

对于它的价值,这是我正在使用的 avconv:

avconv version 0.8.6-4:0.8.6-0ubuntu0.12.04.1, Copyright (c) 2000-2013 the Libav developers
  built on Apr  2 2013 17:02:36 with gcc 4.6.3

我已经安装了这个 libav-tools 包这个 libavcodec-extra-53 包

于 2013-10-03T13:15:04.677 回答