1 FFmpeg录制直播流为mp4文件

以录制CCTV5直播流为例,假设CCTV5直播流地址为:http://39.134.115.163:8080/PLTV/88888910/224/3221225767/index.m3u8

则录制命令行为:

ffmpeg -i http://39.134.115.163:8080/PLTV/88888910/224/3221225767/index.m3u8 -c:a copy -c:v copy H:\视频录制\cctv5live.mp4

其中-i参数对应直播流地址,-c:a copy表示以直播流原有音频编码保存,-c:v copy表示以直播流原有视频编码保存,-c:a copy-c:v copy可以避免对视频流进行转码,可以大幅减少CPU占用。

上述命令开启录制之后,按q键结束录制,会在指定文件夹自动保存录制的视频文件。

如果我们只想录制2个小时时间,我们可以使用-t参数表明录制的时长,其中-t参数有多种表示方法,比如

  • -t 60:表示60秒
  • -t 0.5:表示0.5秒
  • -t 500ms:表示500ms
  • -t 500000us:表示500000微秒,也就是0.5秒
  • -t 2:10:45:表示2小时10分钟45秒

所以如果我们要录制两分钟可以这样写录制命令

ffmpeg -i http://39.134.115.163:8080/PLTV/88888910/224/3221225767/index.m3u8 -c:a copy -c:v copy -t 120 H:\视频录制\cctv5live.mp4

执行成功的界面如下:

FFmpeg – 录制HLS直播流为mp4文件-StubbornHuang Blog