【问题标题】:FFMPEG not able to listen for rtmp and turn it into HLSFFMPEG 无法监听 rtmp 并将其转换为 HLS
【发布时间】:2018-10-19 20:45:06
【问题描述】:

根据我的理解,这个命令应该可以工作......

ffmpeg -听 1 -i rtmp://my-host-name.com:8000/thing/input.ts -c:v libx264 -c:a aac -ac 1 -strict -2 -crf 30 -profile:v 基线 -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 stream.m3u8

它正在侦听端口 8000 上的 rtmp 连接。在 rtmp 流连接后,它应该开始在当前目录中动态生成 HLS 流。

我在其他地方像这样发送流:

ffmpeg -i input.ts -f mpegts rtmp://my-host-name.com:8000/thing/input.ts

在发送端似乎一切正常,但在监听端似乎什么都没有发生,只是抛出了很多类似这样的错误:

[rtmp @ 0x9a1280] 收到未知数​​据包类型 0x78

[rtmp @ 0x9a1280] 收到未知数​​据包类型 0x00

[rtmp @ 0x9a1280] 收到未知数​​据包类型 0x71

[rtmp @ 0x9a1280] 收到未知数​​据包类型 0x00

我不知道这些是否只是多余的。我在这里做错了吗?

【问题讨论】:

  • 您是否尝试在-i rtmp://... 之前添加-f mpegts
  • 太棒了,这确实是问题所在。出于某种原因,我仍然遇到一些问题,但是在将两种格式都更改为 flv 并在源代码处重新编码之后,一切都运行良好。谢谢。
  • RTMP 是 Adob​​e 的流式 FLV 协议,但您设置了不同的输出格式。通常,只需 -i rtmp:// 即可。

标签: ffmpeg


【解决方案1】:

正如 Eugen Rieck 所指出的,我需要在收听方指出正在接收的格式是什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-03-25
    • 2015-09-03
    • 1970-01-01
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    相关资源
    最近更新 更多