【发布时间】:2017-04-06 12:15:59
【问题描述】:
所以我将视频和音频流式传输到 YouTube,如下所示
背景
1. 首先我将图形 GIF 转换为 MP4 文件
ffmpeg -f gif -i graphic.gif -c:v libx264 -pix_fmt yuv420p -vf scale=1280:-1 temp.mp4
2. 然后我在 MP4 上覆盖一个带有文本的 PNG
ffmpeg -i temp.mp4 -i overlay.png -filter_complex "overlay=10:10" '.$graphicsPath.'/graphic.mp4
3. 然后我开始流式传输视频并使用以下代码将其与音频结合(sources.txt 只是一个 concat 列表 *)
ffmpeg -f concat -i sources.txt -i music.mp3 \
-c:v libx264 -c:a aac -shortest -deinterlace \
-pix_fmt yuv420p -preset '.$encoding.' -r 30 -g 60 -b:v 2500k \
-acodec libmp3lame -ar 44100 -threads 6 -qscale 3 -b:a 712000 \
-maxrate 800k -bufsize 1400k \
-f flv rtmp://a.rtmp.youtube.com/live2/KEY
4. 流结束后,代码重新开始,用一首新歌模仿 247 流。
问题
所以我遇到的问题是它似乎流得太快了。这与缓冲区太长的缓冲问题相反(例如,如果您打开流,则在第一首歌曲完成时缓冲的完整歌曲)
有谁知道我可以如何限制输出?我试过maxrate 和bufsize 但没有真正的结果。
* sources.txt 示例
文件'graphic.mp4'
文件'graphic.mp4'
文件'graphic.mp4'
文件'graphic.mp4'
文件'graphic.mp4'
文件'graphic.mp4'
等等
【问题讨论】:
标签: video youtube ffmpeg streaming