如何为Android正确编码视频?我见过the supported media formats,但我真的不知道从哪里开始制作带有这些设置的视频。
我还没有播放这些视频。这些仅适用于本地播放。
对视频进行编码以最大限度地提高Android设备兼容性的正确流程是什么?
答案 0 :(得分:2)
以下是我用来转换适合Android的视频的行。我在运行Android> = 4的所有设备上运行它都很幸运。请注意,这与recommended video encodings中的“高质量”参数相匹配。
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,如果您还使用了transpose或scale中的任何一个,我认为这会很有帮助选项。
例如,要顺时针旋转视频,请使用:
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
我已经安装了this libav-tools package和this libavcodec-extra-53 package。