ffmpeg 输出没有音频

ffmpeg 输出没有音频

我正在开发一个 24/7 音乐流媒体频道。此脚本应bg.mp4循环播放并播放文件夹中的 mp3 文件mp3。目前,循环播放 mp4 文件有效,但没有播放音频。

这是我当前的脚本:

ffmpeg -loglevel info -y -re \
    -re -stream_loop -1 -i bg.mp4 \
    -f concat -safe 0 -i <((for f in ./mp3/*.mp3; do path="$PWD/$f"; echo "file ${path@Q}"; done) | shuf) \
    -c:v libx264 -preset veryfast -b:v 3000k -maxrate 3000k -bufsize 6000k \
    -framerate 25 -video_size 1280x720 -vf "format=yuv420p" -g 50 -shortest -strict experimental \
    -c:a aac -b:a 128k -ar 44100 \
    -f flv rtmp://a.rtmp.youtube.com/live2/

运行 ffmpeg 版本 4.4.2-0ubuntu0.22.04.1

我对 ffmpeg 还比较陌生,任何关于解决这个问题的提示都很有用。

我的输出日志:https://pastebin.com/aVbsWwgF

========= 更新 =========

经过一段时间的研究,我终于通过使用地图使它工作起来:-map 0:v:0 -map 1:a:0

最终代码:

ffmpeg -y -re \
    -re -stream_loop -1 -i bg.mp4 \
    -f concat -safe 0 -i <((for f in ./mp3/*.mp3; do path="$PWD/$f"; echo "file ${path@Q}"; done) | shuf) \
    -c:v libx264 -preset veryfast -b:v 3000k -maxrate 3000k -bufsize 6000k \
    -framerate 25 -video_size 1280x720 -vf "format=yuv420p" -g 50 -shortest -strict experimental \
    -c:a aac -b:a 128k -ar 44100 -map 0:v:0 -map 1:a:0 \
    -f flv rtmp://a.rtmp.youtube.com/live2/

相关内容