要使用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.
是的,我知道该命令告诉我未找到音频流。要忽略此问题,您需要在地图上添加尾随的问号
但是只有我不知道在哪里?到哪个地方?
我将很高兴收到任何建议或建议
提前感谢
使用-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