首页 文章

使用FFmpeg将PNG覆盖添加到多输出HLS M3U8

提问于
浏览
0

我现在已经敲了两天头 . 我现在可以输出3个调整大小的M3U8“HLS”输出,但现在我需要为每个输出添加一个叠加 . 叠加图像也需要调整大小 . 我对此的看法是应该将图像应用于源,然后可以生成3个输出 . 我已经读过-vf因为有2个输入而无法使用 . 以下是我目前正在使用的内容 . 我怎么能添加图像叠加?

ffmpeg -hide_banner -y -i input.mov ^ -vf scale = w = 640:h = 360:force_original_aspect_ratio = decrease -c:v h264 -profile:v main -crf 20 -sc_threshold 0 -g 72 -keyint_min 72 -hls_time 4 -hls_playlist_type vod -b:v 800k -maxrate 856k -bufsize 1200k -b:96k -hls_flags single_file ^ 360p.m3u8
-vf scale = w = 1280:h = 720:force_original_aspect_ratio =减去-c:a aac -ar 48000 -c:v h264 -profile:v main -crf 20 -sc_threshold 0 -g 72 -keyint_min 72 -hls_time 4 -hls_playlist_type vod -b:v 2800k -maxrate 2996k -bufsize 4200k -b:128k -hls_flags single_file 720p.m3u8 ^ -vf scale = w = 1920:h = 1080:force_original_aspect_ratio = decrease -c:a aac -ar 48000 -c: v h264 -profile:v main -crf 20 -sc_threshold 0 -g 72 -keyint_min 72 -hls_time 4 -hls_playlist_type vod -b:v 5000k -maxrate 5350k -bufsize 7500k -b:a 192k -hls_flags single_file 1080p.m3u8

任何建议将不胜感激 .

提前致谢 .

1 回答

  • 1

    您需要将filter_complex用于叠加过滤器,然后将结果拆分为3并缩放每个副本:

    ffmpeg -hide_banner -y -i input.mov -i image.png
           -filter_complex "[0][1]overlay,split=3[a][b][c];[a]scale=w=640:h=360:force_original_aspect_ratio=decrease[a];[b]scale=w=1280:h=720:force_original_aspect_ratio=decrease[b];[c]scale=w=1920:h=1080:force_original_aspect_ratio=decrease[c]"
           -map "[a]" -map 0:a -c:v h264 -profile:v main -crf 20 -sc_threshold 0 -g 72 -keyint_min 72 -hls_time 4 -hls_playlist_type vod -b:v 800k -maxrate 856k -bufsize 1200k -b:a 96k -hls_flags single_file 360p.m3u8
           -map "[b]" -map 0:a -c:a aac -ar 48000 -c:v h264 -profile:v main -crf 20 -sc_threshold 0 -g 72 -keyint_min 72 -hls_time 4 -hls_playlist_type vod -b:v 2800k -maxrate 2996k -bufsize 4200k -b:a 128k -hls_flags single_file 720p.m3u8
           -map "[c]" -map 0:a -c:a aac -ar 48000 -c:v h264 -profile:v main -crf 20 -sc_threshold 0 -g 72 -keyint_min 72 -hls_time 4 -hls_playlist_type vod -b:v 5000k -maxrate 5350k -bufsize 7500k -b:a 192k -hls_flags single_file 1080p.m3u8
    

    (如果您的h264编码器是x264, b:vcrf 一起使用时无效,但 maxratebufsize 可以 . )

相关问题