FFMPEG 将 concat 添加到 lavfi

FFMPEG 将 concat 添加到 lavfi

这是我的代码:

VBR="1500k"
FPS="25"
QUAL="superfast"

YOUTUBE_URL="rtmp://a.rtmp.youtube.com/live2"
KEY=""

VIDEO_SOURCE="0005.mp4"
AUDIO_SOURCE="radio.mp3"
NP_SOURCE="song.txt"
FONT="dejavu/DejaVuSans.ttf"

ffmpeg \
    -re -f lavfi -i "movie=filename=$VIDEO_SOURCE:loop=0, setpts=N/(FRAME_RATE*TB)" \
    -thread_queue_size 512 -i "$AUDIO_SOURCE" \
    -map 0:v:0 -map 1:a:0 \
    -map_metadata:g 1:g \
    -vf drawtext="fontsize=20: fontfile=$FONT: \
        box=0: [email protected]: boxborderw=20: \
        textfile=$NP_SOURCE: reload=1: [email protected]: x=50: y=th" \
    -vcodec libx264 -pix_fmt yuv420p -preset $QUAL -r $FPS -g $(($FPS * 2)) -b:v $VBR \
    -acodec libmp3lame -ar 44100 -threads 6 -b:a 320k -bufsize 512k \
    -f flv "$YOUTUBE_URL/$KEY"

我正在尝试添加类似的东西

ffmpeg -stream_loop 1 -safe 0 -i mylist.txt 

但 VIDEO_SOURCE 无法识别 txt 文件。如能提供任何帮助,我将不胜感激 :)

答案1

电影过滤器参数应该是

movie=filename=$VIDEO_SOURCE:loop=0:f=concat

但为什么呢?电影滤镜不允许您设置输入解复用器的选项。将其作为常规输入读取并添加 stream_loop 会更灵活。

ffmpeg -f concat -re -stream_loop 1 -safe 0 -i mylist.txt -vf setpts=N/(FRAME_RATE*TB),drawtext=...

相关内容