首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >av_interleaved_write_frame()流WebM时的未知错误

av_interleaved_write_frame()流WebM时的未知错误
EN

Stack Overflow用户
提问于 2013-08-16 13:38:31
回答 2查看 8.9K关注 0票数 1

我跟踪通过WebM / FFServer直播FFMpeg /FFServer的指南并遇到了一个有趣的错误。我尝试过使用DirectShow摄像头源,以及使用-vcodec拷贝的现有WebM (有限长度)视频。最初,两者都将设法连接到FFServer (我可以看到POST 200 OKs到/feed1.ffm),甚至可能发送一两帧,但随后FFMpeg会与av_interleaved_write_frame(): Unknown error崩溃。(与此同时,FFServer似乎还不错。)

这似乎是错误的一个不寻常的变体--通常更常见的是获取,比如av_interleaved_write_frame(): I/O error (它表示文件损坏)。有人见过这个错误吗,更好的是,有人能告诉我如何修复它吗?

FFMpeg命令

  • ffmpeg -re -i univac.webm -vcodec copy -acodec copy -f webm http://[my server]/feed1.ffm
  • ffmpeg -f dshow -i video="[my dshow source]" -f webm http://[my server]/feed1.ffm

FFserver命令

ffserver -f ffserver.conf

ffserver.conf

这只是上述指南中所提供的一个小小的变化。

代码语言:javascript
复制
Port 8080  
BindAddress 0.0.0.0
MaxHTTPConnections 2000
MaxClients 5
# MaxBandwidth 10000 
CustomLog -
NoDaemon  

<Feed feed1.ffm>       
   File ./feed1.ffm   
   FileMaxSize 1G  
   ACL allow [IP of the machine with ffmpeg]  
</Feed>

<Stream test.webm> 
   Feed feed1.ffm    
   Format webm

   # Audio settings
   AudioCodec vorbis
   AudioBitRate 64   

   # Video settings
   VideoCodec libvpx
   VideoSize 640x480
   VideoFrameRate 30
   AVOptionVideo flags +global_header
   AVOptionVideo cpu-used 0
   AVOptionVideo qmin 10
   AVOptionVideo qmax 42
   AVOptionVideo quality good
   AVOptionAudio flags +global_header
   VideoBitRate 400

   # Streaming settings
   PreRoll 15
   StartSendOnKey
</Stream>

FFserver日志

avserver version 0.8.6-6:0.8.6-1ubuntu2, Copyright (c) 2000-2013 the Libav developers

built on Mar 30 2013 with gcc 4.7.2

AVserver started

[current time] - [GET] "/feed1.ffm HTTP/1.1" 200 4149

[current time] - [POST] "/feed1.ffm HTTP/1.1" 200 4096

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-08-30 09:49:14

这可能是由于使用了不同版本的ffmpeg和ffserver。尝试使用相同的版本。他们应该毫无问题地工作。另外,只使用libav或ffmpeg,因为它们可能并不完全兼容。

票数 2
EN

Stack Overflow用户

发布于 2015-04-16 15:03:50

连接是由tcp建立的,在我得到客户机'av_interleaved_write_frame():未知错误‘上的错误之后。服务器上的“连接超时”。

对我来说,我发现我在配置ffmpeg用于客户端的端口上监听了另一个进程。

要检查已使用的端口命令:

(windows) netstat -a -b

(ubuntu) netstat -a -p

我在文件夹里使用了自定义的ffmpeg。使用' ffmpeg‘的命令使用了错误的ffmpeg。然后我把它改为./ffmpeg。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18274693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档