gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 23:08:09 26 4
gpt4 key购买 nike

我已经敲了2天的头了。我目前可以输出 3 M3U8 "HLS"输出调整大小,但现在我需要为每个输出添加叠加层。覆盖图像也需要调整大小。我对此的看法是图像应该应用于源,然后可以生成 3 个输出。我读过 -vf不能使用,因为有 2 个输入。这是我目前使用的有效方法。

How could I add an image overlay?


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:a 96k -hls_flags single_file^
360p.m3u8
-vf scale=w=1280:h=720: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 2800k -maxrate 2996k -bufsize 4200k -b:a 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

任何建议将不胜感激。

提前致谢。

最佳答案

您需要为覆盖过滤器使用 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 可以。)

关于ffmpeg - 使用 FFmpeg 将 PNG 覆盖添加到多输出 HLS M3U8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51088697/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com