2014-06-27 65 views
0

我试图对用户在我的服务器上传的视频文件进行编码。 我将文件解释为流,通过http协议在我的服务器上传入,并使用ffmpeg进行实时文件编码,同时执行上载过程。使用ffmpeg库通过http协议编码视频流

当源文件中有.avi格式,我有成功的编码的结果,但.mp4格式出现错误:

--------------------- 
[buffer @ 0000000000308380] Unable to parse option value "-1" as pixel format 
Last message repeated 1 times 
[buffer @ 0000000000308380] Error setting option pix_fmt to value -1. 
--------------------- 

我想这可能是因为.MP4​​包含在文件末尾"moov atom"数据。 我这么认为是因为当我在编码前用"-movflags faststart"命令处理文件时,我也有成功的结果。

即命令我现在使用:

ffmpeg -i http://myhost.com/app/video/video2.mp4 -f mp4 -vcodec libx264 -b:v 800K -acodec libvo_aacenc -b:a 128K -ar 44100 -ac 2 -y c:/watch-and-get/video/video5.mp4 

我能解决这个问题,并编码多种视频格式如流,而不需要任何多余的步骤?

+0

更适合超级用户,真的。可能已经在那里回答了:http://superuser.com/questions/546560/ffmpeg-unable-to-parse-option-value-1-as-pixel-format – nmaier

回答

0

您正在运行旧版本的ffmpeg。这个问题已修复。

-pix_fmt是像素格式,其值应为整数。(ffmpeg的莫名其妙借此值-1,我不知道为什么。因此u得到这个错误。但是更新将解决这个问题)

额外info:运行ffmpeg -pix_fmts查看所有可用的像素格式。

下载最新版本。 我会建议从二进制安装最新版本,因为它更简单。我已经回答大约相同here

+0

非常感谢! – dihri