ffmpeg将mp4视频文件切割成m3u8关联的ts文件

ffmpeg -i test.mp4 -c copy -map 0 -f segment -segment_list .\test\test.m3u8 -segment_time 20 .\test\test_%3d.ts

  1. -i test.mp4: 这是输入文件,即你想要处理的视频文件。
  2. -c copy: 这意味着不对视频或音频进行重新编码,而是直接复制。这样可以更快地完成操作,但前提是你的输入和输出格式必须是兼容的。
  3. -map 0: 这表示从输入文件中选择所有的流(视频、音频、字幕等)。
  4. -f segment: 这告诉ffmpeg你想要将输出分割成多个段。
  5. -segment_list .\test\test.m3u8: 这指定了一个M3U8播放列表文件的输出路径。这个播放列表将包含所有分割的TS片段的信息。
  6. -segment_time 20: 这指定了每个TS片段的时长,这里是20秒。
  7. .\test\test_%3d.ts: 这是输出TS片段的文件名模板。%3d是一个占位符,它将被替换为一个三位数的序号,例如test_001.tstest_002.ts等。

ffmpeg -i test.mp4 -c copy -map 0 -vbsf h264_mp4toannexb -f hls -hls_time 60 -hls_list_size 0 -hls_segment_filename .\test\output_%03d.ts .\test\output.m3u8

这是一个使用ffmpeg命令行的示例,用于将MP4视频文件转换为HLS(HTTP Live Streaming)格式。让我们一步步地解析这个命令:

  1. ffmpeg: 这是调用FFmpeg程序的命令。FFmpeg是一个非常强大的工具,可以用来处理音频和视频文件。
  2. -i test.mp4-i选项后面跟的是输入文件的名称,这里是test.mp4
  3. -c copy: 这意味着将尽可能地直接复制输入文件的编码,而不进行重新编码。这可以使转换过程更快。
  4. -map 0: 这意味着从输入文件中选择所有的流(视频、音频、字幕等)进行复制。
  5. -vbsf h264_mp4toannexb: 这是一个视频比特流过滤器,用于将H.264编码的MP4视频转换为Annex B格式。这是因为HLS需要视频以Annex B格式进行分段。
  6. -f hls: 这指定了输出格式为HLS。
  7. -hls_time 60: 这指定了每个HLS分段的时长为60秒。
  8. -hls_list_size 0: 这指定了播放列表(.m3u8文件)中的最大分段数量为0,这意味着播放列表将包含所有分段。
  9. -hls_segment_filename .\test\output_%03d.ts: 这指定了分段文件的命名模式和位置。.\test\是文件的保存路径,output_%03d.ts是文件名模式,%03d将被替换为每个分段的序号,例如output_001.tsoutput_002.ts等。
  10. .\test\output.m3u8: 这是播放列表(.m3u8文件)的输出路径和名称。

总的来说,这个命令将test.mp4文件转换为HLS格式,并将分段保存在.\test\目录下,同时生成一个名为output.m3u8的播放列表文件。每个分段的时长为60秒,并且所有的分段都将包含在播放列表中。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值