ffmpeg mp4 mkv avi 视频ts切片生成m3u8

时间:2年前   阅读:2646   评论:3

下面转换的方法:

1、首先将视频文件转为视频编码h264,音频编码aac格式的mp4文件

非 MP4 文件可以转为mp4切分,试了下 mkv、avi等都可以。

使用ffprobe查看文件编码方式

ffprobe input.mkv

如果音视频编码为h264/aac则执行

ffmpeg -i input.mkv -acodec copy -vcodec copy out.mp4

否则执行

ffmpeg -i input.mkv -acodec libfaac -vcodec libx264 out.mp4

2、再将视频编码为h264,音频编码为aac格式的mp4文件进行切片

ffmpeg转视频直接可以切边并生成 m3u8(目前用的方式,也可以用选项 segment ):

ffmpeg -i '源文件.mp4' -c:v h264 -flags +cgop -g 30 -hls_time 20 -hls_list_size 0 -hls_segment_filename index%3d.ts 'index.m3u8'

或者这个:

ffmpeg -i input.mp4 -vcodec copy -acodec copy -hls_time 60 -hls_list_size 0 index.m3u8

ffmpeg切片命令,以H264和AAC的形式对视频进行输出(非h264 acc编码的可以用下面的命令)

ffmpeg -i input.mp4 -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 5 output.m3u8

ffmpeg转化成HLS时附带的指令 :

    -hls_time n: 设置每片的长度,默认值为2。单位为秒

    -hls_list_size n:设置播放列表保存的最多条目,设置为0会保存有所片信息,默认值为5

    -hls_wrap n:设置多少片之后开始覆盖,如果设置为0则不会覆盖,默认值为0.这个选项能够避免在磁盘上存储过多的片,而且能够限制写入磁盘的最多的片的数量

    -hls_start_number n:设置播放列表中sequence number的值为number,默认值为0


微信扫码关注

更新实时通知

上一篇:rv1126配置编译内核文件系统笔记

下一篇:gstreamer视频h264,h265转码,摄像头录像,网络视频流的一些常用命令

网友评论

  • 2023-06-11 01:01:00

    参数-bsf:v h264_mp4toannexb,这个参数的作用是将MP4中的H.264数据转换成为H.264 AnnexB标准的编码,AnnexB标准的编码常见于实时传输流中。如果源文件为FLV、TS等可以作为直播传输流的视频,则不需要这个参数。

  • 2023-06-11 01:03:46

    hls_base_url 参数用于为M3U8列表的文件路径设置前置基本路径参数,因为在FFmpeg中生成M3U8时写入的TS切片路径默认为M3U8生成的路径相同,但是实际上TS所存储的路径既可以为本地绝对路径,也可以为相对路径,还可以为网络路径

  • 2023-06-11 09:16:54

    ffmpeg -i ten4out.mp4 -c:v libx264 -c:a aac -strict -2 -f hls -hls_list_size 0 -hls_time 2 -bsf:v h264_mp4toannexb -hls_base_url http://200wu.com/test/ ten3.m3u8

请先 登录 再评论,若不是会员请先 注册