2010年4月8日星期四

使用ffmpeg转换FLV文件

转换从优酷上下载的视频在移动视频上看,
可以到用的这个命令:
for /f "delims=" %%i in ('dir *.flv /b') do ffmpeg -i "%%~nxi" -s 320x180 -ab 32k "%%~ni.mp4" 2>null
它会转换当前目录下的所有的flv文件。
这里ffmpeg没有用太新的版本,
其中涉及706d编码和faac的问题,
会导致一些设备不能正常解码。
转换后的好处是调节了文件码率和分辨率,对移动设备的储存空间解码能力缩放的性能消耗上获得方便。
之前也试过用mencoder转换,不过视频音频可能会不同步。
命令中可以把MP4改成avi或wmv,会自动选择对应的编码方式。
这里是针对QVGA分辨率的屏幕的,宽屏转换到320x180,不然就是320x240。
其中默认码率音频64k视频200kb,码率的选择要参考原视频和需要的播放质量来选择。
复杂用法在ffmpeg的文档里找。
好像要默认覆盖同名文件的话的加 -y 参数。

如果从土豆上下载的FLV文件会用到这个
for /f "delims=" %%i in ('dir *.flv /b') do ffmpeg -i "%%~nxi" -s 320x240 -ab 28k -b 128kb/s "%%~ni.mp4" 2>>null
参数要更具具体情况,现在而言是土豆会加黑边但码率比优酷高,但优酷的分辨率会很高。
话说我之前误解过分辨率和码率间的关系过。

ffmpeg的另两个组件是
ffplay和ffserver

没有评论: