我正在尝试将MP4视频文件转换为f4v视频文件,以便我可以使用Flash Media Server流式传输视频。理想情况下,我想将mp4转换为各种比特率,以便我可以完成视频的多比特流。我很确定ffmpeg能够做到这一点,但我不断得到不同的错误消息。这是我尝试过的最新内容:
ffmpeg.exe -i source.mp4 -ar 150 destination.f4v
我收到以下错误消息:“无法为'destination.mp4'destination.mp4找到合适的输出格式:无效的参数
提前致谢!
答案 0 :(得分:5)
一些注意事项:
答案 1 :(得分:3)
首先,.f4v不是F4V视频格式的官方扩展,至少在ffmpeg眼中。
如果您想要流式传输mp4文件,一些Flash播放器的实现将允许您寻找尚未下载的地方。正常的解决方案是在f4v容器中转换(实际上只是重新打包)这些文件。
要转换为与流兼容的f4v,您需要使用FLV元数据注入器,例如Yamdi(http://yamdi.sourceforge.net/)
您可以采取的步骤:
ffmpeg.exe -i source.mp4 -vcodec copy -acodec copy destination.flv
这会将视频和音频直接重新打包到flv文件中。如果输入为H.264,FFMPEG将自动使用f4v格式。
yamdi -i destination.flv -o destination.f4v
插入元数据后,您的f4v文件现已准备好进行流式传输。如果省略最后一步,则只能导航到已下载文件的部分。
仅供参考,如果您可以支持可变比特率,请使用-crf选项。双通道编码会使您的比特率接近您指定的比特率,但需要两倍的时间。恒定的速率因素虽然可以给你一个恒定的质量,但你可能必须测试不同的值(理所当然的不可思议的损失:18 - 24)来获得你想要的比特率。