这是我的代码:
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=...