Windows下使用FFMPEG摄像头转换m3u8流并通过Nginx展示

附:ffmpeg一些实用命令

删除视频中的音频:

ffmpeg.exe -i videoWithAudio.mp4 -c:v copy -an videoWithoutAudio.mp4

给视频添加音频:

ffmpeg \
-i video.mp4 \
-i audio.mp3 \
-c copy \
-map 0:v:0 \
-map 1:a:0 \  videoWithAudio.mp4

所做的就是使用map命令将视频和音频分别从不同的文件中复制到同一个输出文件。

  • -map 0:v:0 选择了第0个输入文件(视频输入)的第0个轨道。
  • –map 1:a:0 选择了第一个输入文件(音频输入)的第0个轨道。
  • 不用重新编码,-c copy同时复制音轨和视轨到输出文件。

从视频中提取音频:

ffmpeg -i videoWithAudio.mp4 -vn -acodec copy onlyAudio.aac

提取时重新编码,并设置质量:

ffmpeg.exe -i videoWithAudio.mp4 -vn -c:a libmp3lame -q:a 1 onlyAudio.mp3

-q:a表示质量(在LAME文档中定义[1]),质量分布范围为0~6,其中0表示高质量音频,6表示低质量音频。

替换视频中的音频:

ffmpeg -i video_with_audio.mp4 -i newAudio.wav \
-map 0:0 \
-map 1:0 \
-c:v copy \
-c:a libmp3lame -q:a 1 \
-shortest \  video_with_newAudio.mp4

从一个文件中获取视频以及另一个文件中获取音频。而map命令完成了上述操作。从第一个输入文件(视频)中选择第0个轨道,并从第2个输入文件(音频)中选择第0个轨道。

然后原样复制视频并重新编码音频,再将它们一起放入新的文件中。如果你不想重新编码音频,你只需使用-a:c copy命令,那么音频就只被复制而不会重新编码。

-shortest命令用于确保当达到较短的输入文件(两个输入文件之一)长度时停止转换。

发表评论

error: Content is protected !!