流图'0:a:0'不匹配任何流

问题描述 投票:0回答:1

要使用FFMPEG编码视频,请使用以下命令:

/usr/bin/ffmpeg -i INPUT.MP4 
-preset veryfast -r 25 -g 75 -threads 4 -sc_threshold 0 
-map 0:v:0 -map 0:a:0 
-filter:v:0 scale=h=240:w=-2  
-minrate:v:0 75k  
-maxrate:v:0 218k  
-bufsize:v:0 300k 
-b:v:0 150k  -c:a aac -b:a 128k -ac 2 
-var_stream_map "v:0,a:0" 
-master_pl_name master.m3u8 
-f hls -hls_time 3 -segment_time 6 
-hls_list_size 0 -segment_format mpegts 
-hls_segment_filename /res-%v/segment-%d.ts  OUTPUT.M3U8  1> log.txt 2>&1 

一般来说,尽管命令如此之大,但还是可以应付任务

但是有一个小BUT:

如果在没有音频的视频上运行此命令,将出现错误:

Stream map '0:a:0' matches no streams. To ignore this, add a trailing '?' to the map.

是的,我知道该命令告诉我未找到音频流。要忽略此问题,您需要在地图上添加尾随的问号

但是只有我不知道在哪里?到哪个地方?

我将很高兴收到任何建议或建议

提前感谢

ffmpeg
1个回答
0
投票

使用-map 0:a:0?,例如:

/usr/bin/ffmpeg -i INPUT.MP4 
-preset veryfast -r 25 -g 75 -threads 4 -sc_threshold 0 
-map 0:v:0 -map 0:a:0? 
-filter:v:0 scale=h=240:w=-2  
-minrate:v:0 75k  
-maxrate:v:0 218k  
-bufsize:v:0 300k 
-b:v:0 150k  -c:a aac -b:a 128k -ac 2 
-var_stream_map "v:0,a:0" 
-master_pl_name master.m3u8 
-f hls -hls_time 3 -segment_time 6 
-hls_list_size 0 -segment_format mpegts 
-hls_segment_filename /res-%v/segment-%d.ts  OUTPUT.M3U8  1> log.txt 2>&1 
© www.soinside.com 2019 - 2024. All rights reserved.