如果我没有弄错的话,Safari目前需要为HTML5 <video>
元素编码的MP4(H.264/AAC)视频。
所以我试着用ffmpeg
把一个视频转换成这种格式,但是当我输入shell命令ffmpeg -i video.flv video.mp4
时,返回的错误是:
似乎流0编解码器帧速率与容器帧速率不同:2000.00(2000/1)-〉29.92(359/12)输入#0,flv,来自“视频. flv”:
持续时间:00:05:01.20,开始时间:0.000000,比特率:66 kb/s数据流#0.0:视频:h264,yuv 420 p,320 x240 [PAR 1:1 DAR 4:3],66 kb/s,29.92字节,1千字节,2千字节视频流#0.1:音频:aac,22050 Hz,立体声,s16输出#0,mp4,至“video.mp4”:流#0.0:视频:mpeg4,yuv 420 p,320 x240 [PAR 1:1 DAR 4:3],q=2-31,200 kb/s,9万总字节数,29.92总字节数视频流#0.1:音频:0x 0000,22050 Hz,立体声,s16,64 kb/s流Map:流#0.0 -〉#0.0
流#0.1 -〉#0.1输出流#0.1不支持的编解码器
需要一个AAC编解码器,但我是Ubuntu的新手,我真的不知道如何解决这个问题。我用Ubuntu 9.10 Karmik Koala(amd 64)。
非常感谢您的评分
8条答案
按热度按时间jgwigjjp1#
http://handbrake.fr是一个很好的高级工具,有很多有用的预置mp4的iPod,PS3,...与图形用户界面和CLI界面的Linux,Windows和Mac OS X。
它作为一个静态链接的fat二进制文件附带了自己的依赖项,因此您可以包含所有的x264 / aac编解码器。
要列出所有可用的预设:
yeotifhr2#
软件专利导致Debian/Ubuntu禁用了ffmpeg中的H.264和AAC编码器。参见/usr/share/doc/ffmpeg/README. Debian. gz。
所以,去安装x264,mplayer/mencoder,和Nero的AAC编码器.(或者,如果你想使用所有的自由软件,并且不太关心音频质量,那么sudo aptitude install faac.)
我不记得mencoder的medibuntu包是否包含x264 vid编码,因为我自己是从git x264和svn mplayer源代码中构建的(x264是非常活跃的开发,经常添加显著的质量和速度改进)http://git.videolan.org/?p=x264.git;a=summary.
x264也已打包,但您应该检查它是否足够新,以便将weightp与recent bugfixes一起包括在内,甚至包括最近的速度改进...
或者,如果您已经愿意从.flv进行转换,而不是从制作flv的高质量源进行转换,那么您可以找到任何最新版本的x264都可以。
laik7k3q3#
您正在尝试转换(已经)包含H.264视频和AAC音频的(非常罕见的).flv文件。
将控制台的输出格式化为FFmpeg会显示这些细节。
原始flv将转换为带有H.264视频和AAC音频的.mp4文件(就像原始.flv一样):
因为.flv中的音频和视频数据已经采用了您需要的.mp4格式/编解码器,所以您只需将所有内容复制到新的.mp4容器中即可。此过程将比对所有内容进行解码和重新编码要快得多:
或者更简单地说:
真实的的错误是:##
不支持输出流#0.1的编解码器
这意味着FFmpeg无法将音频(流#0.1)转换为AAC。
您可以通过以下方式 * 跳过 * 错误:
或者您可以通过以下方式 * 解决 * 错误:
有关详细信息,您还应阅读Converting FLV to MP4 With FFmpeg The Ultimate Guide
d6kp6zgx4#
您需要recompile ffmpeg (from source) so that it supports x264。如果您按照本页中的说明进行操作,那么您将能够执行任何类型的转换。
siv3szwd5#
您也可以尝试将Motumedia PPA添加到apt源代码中,并更新ffmpeg包。
sgtfey8w6#
最近有这个问题与转换讨厌的WMV到最终削减亲X的编辑。流播放器可以做到这一点,但它留下了一个水印,所以我摆弄了一点ffmpeg,直到我得到了一些进展。
首先安装ffmpeg -我用
brew install ffmpeg
显然你需要brew安装第一,谷歌位。接下来,我编写了一个简单的命令行脚本,内容如下--您可以用$1替换输入/输出文件,或者只创建一个shell脚本文件... vi convert.sh Paste。
echo "Pass one" ffmpeg -y -i "$1" -c:v libx264 -preset medium -b:v 1555k -pass 1 -c:a libfaac -b:a 256k -f mp4 /dev/null && echo "Pass two" ffmpeg -i "$1" -c:v libx264 -preset medium -b:v 1555k -pass 2 -c:a libfaac -b:a 256k "$1.mp4"
个然后转换你的视频... sh convert.sh myvideofile.wmv如果一切顺利,你应该看到一个新的文件名为myvideofile.wmv.mp4。
希望这对你有用。
qlfbtfca7#
你需要用AAC编码器编译ffmpeg。你可以在AudioCoding找到一个。
gcmastyq8#
试试这个::Linux中的Libav