Ffmpeg 如何在每个HLS输出中仅输出一个视频流

Ffmpeg 如何在每个HLS输出中仅输出一个视频流,ffmpeg,Ffmpeg,我已经使用-map 360、720和1080p成功输出了3个HLS输出。我的源文件是540p。生成后,我在新创建的360.ts、720.ts和1080.ts上使用ffprobe,注意还有第二个视频频道。此频道是输入视频。如何使FFmpeg不输出原始视频作为输出的一部分 这是360.ts上的ffprobe 流#0:0[0x100]:视频:h264(主)([27][0][0]/0x001B),yuv420p,640x360[SAR 1:1 DAR 16:9],29.97 fps,29.97 tbr,

我已经使用-map 360、720和1080p成功输出了3个HLS输出。我的源文件是540p。生成后,我在新创建的360.ts、720.ts和1080.ts上使用ffprobe,注意还有第二个视频频道。此频道是输入视频。如何使FFmpeg不输出原始视频作为输出的一部分

这是360.ts上的ffprobe

流#0:0[0x100]:视频:h264(主)([27][0][0]/0x001B),yuv420p,640x360[SAR 1:1 DAR 16:9],29.97 fps,29.97 tbr,90k tbn,59.94 tbc 流#0:10x101:音频:aac([15][0][0][0]/0x000F),48000 Hz,立体声,fltp,100 kb/s 流#0:2[0x102]:视频:h264(主)([27][0][0][0]/0x001B),yuv420p,960x540[SAR 1:1 DAR 16:9],29.97 fps,29.97 tbr,90k tbn,59.94 tbc

这是FFmpeg命令

%ffmpeg%-日志级别致命-线程%threads%-隐藏条幅-y-i%input%-i%overlayImg%^ -过滤复合物“[1]彩色通道混合器=aa=%thumbopacity%,比例=iw*%thumbscale%:-1[wm];[0:v][wm]叠加=(主叠加)-36:(主叠加)-21,分割=4[a][b][c][d];[a]比例=w=640:h=360:原力纵横比=减少[a];[b]比例=w=1280:h=720:原力纵横比=减少[b];[c]比例=w=1920:原力纵横比减少[c] [d]比例=w=1280:h=720:force_original_aspect_ratio=减少[d]。”^ -地图“[a]”地图0-c:aac-ar 48000-c:v h264-profile:v main-movflags+faststart-tune film-crf%crf%-preset%preset%-sc_阈值0-G72-keyint_min 72-hls_时间4-hls_播放列表类型vod-b:V800K-maxrate 856k-bufsize 1200k-b:96k-hls_标志单个_文件^ %输出%\360p.m3u8^ -地图“[b]”地图0-c:aac-ar 48000-c:v h264-profile:v main-movflags+faststart-tune film-crf%crf%-preset%preset%-sc_阈值0-G72-keyint_min 72-hls_时间4-hls_播放列表类型vod-b:V2800K-maxrate 2996k-bufsize 4200k-b:128k-hls_标志单个_文件^ %输出%\720p.m3u8^ -地图“[c]”地图0-c:aac-ar 48000-c:v h264-profile:v main-movflags+faststart-tune film-crf%crf%-preset%preset%-sc_阈值0-G72-keyint_min 72-hls_时间4-hls_播放列表类型vod-b:V5000K-maxrate 5350k-bufsize 7500k-b:192k-hls_标志单个_文件^ %输出%\1080p.m3u8^ -地图“[d]”-地图0-c:a aac-ar 48000-c:v h264-配置文件:v main-预设%预设%^ %输出%\720.mp4^ -地图0:v-y-SS0.5-vframes 1-s%thumbsize%-SS30^ %输出HUMB%

谢谢。

1)
-map 0将包括所有原始流,包括视频。更改为
-map 0:a

2) 您不需要缩放到720p两次。缩放一次并拆分

3)
b:v
crf
在libx264(h264编码器)中是独占的。选择一个(最好是crf)

使用

%ffmpeg% -loglevel fatal -threads %threads% -hide_banner -y -i %input% -i %overlayImg%^ -filter_complex "[1]colorchannelmixer=aa=%thumbopacity%,scale=iw*%thumbscale%:-1[wm];[0:v][wm]overlay=(main_w-overlay_w)-36:(main_h-overlay_h)-21,split=4[a][b][c][d];[a]scale=w=640:h=360:force_original_aspect_ratio=decrease[a];[b]scale=w=1280:h=720:force_original_aspect_ratio=decrease,split=2[b][d];[c]scale=w=1920:h=1080:force_original_aspect_ratio=decrease[c]"^ -map "[a]" -map 0:a -c:a aac -ar 48000 -c:v h264 -profile:v main -movflags +faststart -tune film -crf %crf% -preset %preset% -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^ %output%\360p.m3u8^ -map "[b]" -map 0:a -c:a aac -ar 48000 -c:v h264 -profile:v main -movflags +faststart -tune film -crf %crf% -preset %preset% -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^ %output%\720p.m3u8^ -map "[c]" -map 0:a -c:a aac -ar 48000 -c:v h264 -profile:v main -movflags +faststart -tune film -crf %crf% -preset %preset% -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^ %output%\1080p.m3u8^ -map "[d]" -map 0:a -c:a aac -ar 48000 -c:v h264 -profile:v main -preset %preset%^ %output%\720.mp4^ -map 0:v -y -ss 0.5 -vframes 1 -s %thumbsize% -ss 30^ %outputthumb%