【问题标题】:ffmpeg streaming (mpegts vs rtmp) errorffmpeg 流式传输(mpegts 与 rtmp)错误
【发布时间】:2017-10-07 14:43:45
【问题描述】:

这行得通:

ffmpeg -i  test.mp4 -framerate 30 -video_size 1280x720 -c:v libx264 -preset veryfast -maxrate 1984k -bufsize 3968k -vf "format=yuv420p" -g 60 -f mpegts udp://x.x.x.x:1935/video/test

但这不是:

ffmpeg -i  test.mp4 -framerate 30 -video_size 1280x720 -c:v libx264 -preset veryfast -maxrate 1984k -bufsize 3968k -vf "format=yuv420p" -g 60 -f flv rtmp://x.x.x.x:1935/video/test

我明白了:

RTMP_Connect0, failed to connect socket. 10061 (Unknown error)
rtmp://x.x.x.x:1935/video/test: Unknown error occurred

是的,我有一个服务器 (Nimble) 正在主动监听 RTMP 连接,但它没有看到任何 RTMP 流传入。

即使在使用 127.0.0.1 的服务器机器上运行 ffmpeg,我也会遇到同样的错误。

有人知道为什么吗?

【问题讨论】:

    标签: ffmpeg


    【解决方案1】:

    您可以尝试使用网络嗅探来验证流量是否 (1) 从源服务器发送和 (2) 在预期的客户端计算机上接收。

    Wireshark 是一个很好的网络嗅探程序,可以在两端使用。或者,您可以使用“tcpdump”之类的 Linux 实用程序。看看捕获的流量是否看起来“正常”,没有太多的重试或错误——如果它发生了。

    如果接收端没有收到流量,则 (1) 仔细检查 IP 地址是否正确,(2) 检查接收端的端口是否打开。

    如果接收端接收正常但流从未超过第一条消息左右,则检查发送系统是否允许传入来自接收方的响应,因为它可能默认使用 TCP,这需要双向通信。

    如果可行 - 换句话说,如果您成功地看到来自发送方并被客户端计算机接收到的流 - 那么您可以尝试在客户端上使用 VLC 进行接收。

    【讨论】:

      猜你喜欢
      • 2018-09-17
      • 1970-01-01
      • 2019-03-25
      • 1970-01-01
      • 2015-08-24
      • 2019-09-01
      • 2021-03-15
      • 2020-10-27
      • 2020-05-12
      相关资源
      最近更新 更多