V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ReZer0
V2EX  ›  问与答

求助一个 FFMPEG 转码时的错误提示的问题。

  •  1
     
  •   ReZer0 · 2020-02-14 23:40:24 +08:00 · 3087 次点击
    这是一个创建于 1735 天前的主题,其中的信息可能已经有所发展或是发生改变。

    环境:
    远程的服务器接收推流然后广播(广播信号正常,中断报错发生在本地接收端,服务端使用 nginx-rtmp-module )
    本地接收端同时接收广播进行转码同时推流到指定播放器(转码 CPU 占用率 70%-80%)

    其中出错了 2 个原因:
    第一个原因报错如下:
    [hls @ 0x6686c00] keepalive request failed for 'http://地址 /hls/live.m3u8' with error: 'Server returned 404 Not Found' when parsing playlist
    [http @ 0x68ade40] HTTP error 404 Not Found
    [hls @ 0x6686c00] Failed to reload playlist 0
    [http @ 0x6714fc0] HTTP error 404 Not Found
    [hls @ 0x6686c00] Failed to reload playlist 0
    [http @ 0x6690c00] HTTP error 404 Not Foundtime=00:15:47.96 bitrate=6604.6kbits/s speed=0.94x
    [hls @ 0x6686c00] Failed to reload playlist 0
    [http @ 0x6716440] HTTP error 404 Not Foundtime=00:15:47.96 bitrate=6604.6kbits/s speed=0.937x
    [hls @ 0x6686c00] Failed to reload playlist 0
    [http @ 0x684e700] HTTP error 404 Not Found
    [hls @ 0x6686c00] Failed to reload playlist 0

    这个看输出应该是本地网络接收原因造成的,不过之所以贴这个结果,是在考虑下面这个报错是否和上述原因有一些关系。

    [http @ 0x668cfc0] Opening 'http://地址 /hls/live-2531.ts' for reading
    [h264 @ 0x66e1880] top block unavailable for requested intra mode -16494.2kbits/s speed=0.935x
    [h264 @ 0x66e1880] error while decoding MB 32 0, bytestream 181002
    [h264 @ 0x66e1880] concealing 8160 DC, 8160 AC, 8160 MV errors in I frame http://地址 /hls/live.m3u8: corrupt decoded frame in stream 0
    [h264 @ 0x66e01c0] concealing 6983 DC, 6983 AC, 6983 MV errors in B frame http://地址 /hls/live.m3u8: corrupt decoded frame in stream 0
    [h264 @ 0x66fa980] concealing 1426 DC, 1426 AC, 1426 MV errors in B frame8kbits/s speed=0.935x
    [h264 @ 0x66fa980] concealing 4098 DC, 4098 AC, 4098 MV errors in P frame

    查了下没有搞清楚上面这个输出结果是哪个部分的错误,希望有经验的朋友帮我分析下,感谢。

    第 1 条附言  ·  2020-02-15 00:21:38 +08:00
    第二条错误日志输出的前后均没有报告 404。只是因为曾有爆出这个错误,所以尝试联系一下是否有关联。
    目前自我猜测原因可能是:
    1、是否和连接稳定性(也就是 404 )有关系;
    2、因为本地端转码后有同时再广播,但转码导致 FFMPEG 占用资源达到 70%-80%,是否是性能原因引发;
    3、服务端广播分为多个.ts 片段,但因为没有设置,所以每个片段占用 4MB (约为 2 秒左右视频时长),也就是接收端要不断接收片段文件。不知道是不是默认设置过小的原因,还没有研究参数能否修改。



    大概自己分析原因可能是上述几点。
    4 条回复    2020-02-15 17:51:57 +08:00
    em70
        1
    em70  
       2020-02-14 23:47:17 +08:00
    http://地址 /hls/live-2531.ts

    这个地址不 404 才怪了
    ReZer0
        2
    ReZer0  
    OP
       2020-02-14 23:52:29 +08:00
    @em70 我不可能在帖子里暴露真实地址信息啊,当然手动改了。
    CEBBCAT
        3
    CEBBCAT  
       2020-02-15 03:20:45 +08:00 via Android
    @ReZer0 下次可以用 example.com
    ReZer0
        4
    ReZer0  
    OP
       2020-02-15 17:51:57 +08:00
    @CEBBCAT 好的,谢谢!
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1061 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:36 · PVG 06:36 · LAX 14:36 · JFK 17:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.