【问题标题】:ffmpeg youtube livestream stops after a whileffmpeg youtube 直播一段时间后停止
【发布时间】:2021-01-16 03:04:36
【问题描述】:

我会更新这个问题

ffmpeg -版本

ffmpeg -version
ffmpeg version 4.3.1-4ubuntu1 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 10 (Ubuntu 10.2.0-9ubuntu2)

我运行此命令以使用 ffmpeg 流式传输到 youtube;

ffmpeg -y -threads 12 \
-loop 1 -framerate 30 -re \
-i ./1280x720.jpg \
-i ./audio.mp3 \
-video_size 1280x720 \
-vcodec libx264 -pix_fmt yuv420p \
-b:v 4500k -maxrate 5500k -bufsize 22000k \
-preset ultrafast -crf 23 -tune stillimage \
-b:a 128k -ar 44100 -ac 2 -acodec aac \
-filter_complex "dynaudnorm=f=150:g=15" \
-r 30 -g 60 \
-f flv rtmp://a.rtmp.youtube.com/live2/xxxx 2>&1 | tee _LOG

流在 45-53 分钟内非常好,然后我会从 ffmpeg 收到这样的错误:

[flv @ 0x56077027cd80] Delay between the first packet and last packet in the muxing queue is 10034000 > 10000000: forcing output

然后 youtube 开始说,没有接收到数据,流将结束,它确实如此。

这是完整的日志:http://0x0.st/-zUH.txt

【问题讨论】:

  • 日志是41M,在哪里上传?
  • 我用完整的日志文件更新了问题。
  • 我更新了问题,提供了 ffmpeg 版本,重新运行命令并做一个完整的日志。请看一看。

标签: ffmpeg youtube http-live-streaming


【解决方案1】:

您的 MP3 持续时间是 00:49:57.42,因此流结束后会出现混乱。使用-stream_loop -1 循环音频并添加-re 以实时读取输入:

ffmpeg -y \
-loop 1 -framerate 30 -re -i ./1280x720.jpg \
-re -stream_loop -1 -i ./audio.mp3 \
-c:v libx264 -pix_fmt yuv420p \
-b:v 4500k -maxrate 5500k -bufsize 22000k \
-preset ultrafast -tune stillimage \
-b:a 128k -ar 44100 -ac 2 -c:a aac \
-filter_complex "dynaudnorm=f=150:g=15" \
-g 60 -f flv rtmp://a.rtmp.youtube.com/live2/xxxx

或者,如果您希望流在音频结束时结束,请删除 -re -stream_loop -1 并添加输出选项 -shortest

不相关的变化:

  • 无需设置-threads。让ffmpeg自动选择。
  • -video_size 1280x720 是某些解复用器的输入选项,在您的命令中不执行任何操作。已移除。无论如何,您的输入已经是 1280x720:否则,请参阅 Resizing videos with ffmpeg to fit a specific size
  • -b:v-crf 是互斥的。在您的情况下,-b:v 被忽略。对于流媒体,您可能想要使用-b:v。删除了-crf
  • 您已经使用-framerate 30 设置了帧速率,因此不需要-r 30。已移除。
  • 建议使用最慢的-preset,但编码速度仍然足够快。

【讨论】:

    猜你喜欢
    • 2018-11-14
    • 1970-01-01
    • 2017-09-21
    • 1970-01-01
    • 1970-01-01
    • 2016-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多