0

当我们从 vlc 获取实时流到 ffmpeg 时,有时有 5-6 秒的视频没有声音部分,那么 ffmpeg 会因为这个日志而死

flv @ 0x8b426d0] 4x6 处的非法 ac vlc 代码

[flv @ 0x8b426d0] MB 错误:142

[flv @ 0x8b426d0]隐藏 257 DC、257 AC、257 MV 错误

[mpegts @ 0x8b44e50]dts < pcr,TS 无效

有没有办法避免这个问题?

4

2 回答 2

0

尝试

 -b:v 64k <your out put method>

在声明你的输出之前使用它。

于 2012-09-14T08:00:51.007 回答
0

dvch,当您的视频捕获中有损坏的位时会发生此错误。对于 RTP 或实时流,这种情况经常发生,因为 UDP 会丢弃数据包。FFMPEG 努力恢复这些区域,但根据格式会有一些损失。

尝试抓取一个以原始 h263 编码的实时流,一个以原始 h263+ 编码,一个以原始 h264 编码,看看哪种更适合您。VLC 应该做好打包的工作,所以可能是 FFMPEG 中的解码器导致了问题。你可以试试GStreamer,

我的工作管道:

发件人:gst-launch-0.10 -v filesrc location=June/akiyo_qcif.264 !h264解析!视频/x-h264 !rtph264pay pt=96 配置间隔=5 !udpsink 主机=127.0.0.1 端口=42050 同步=false

接收方:gst-launch-0.10 udpsrc port=42050 caps="application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int) 96,ssrc=(guint)4091714163,时钟基数=(guint)4007889851,seqnum-base=(guint)31909“!rtph264depay!文件接收器位置=六月/test6.264

通过 Farah 在 Gstreamer-devel 发布关于流式传输 RTP 和 h264 的文章

我希望这会有所帮助,我遇到了同样的错误,即使在本地网络上通过 RTP/AVP 使用 h263-1998,h263 也没有问题,h264 也没有问题,但是 FFMPEG 和 h263p 格式存在问题。

这是我在使用 FFMPEG 时遇到的相同错误。

[h263 @ 0x101015a00] 12x15 处的非法 ac vlc 代码 [h263 @ 0x101015a00] MB 处错误:357 [h263 @ 0x101015a00] 隐藏 44 DC、44 AC、44 MV 错误

干杯,斯科特·海恩斯

于 2011-04-05T19:35:56.480 回答