见范例

ffmpeg -i "concat:file001.ts|file002.ts|file003.ts|file004.ts......n.ts" -acodec copy -vcodec copy -absf aac_adtstoasc out.mp4
ffmpeg -i https://ip182.com/media=hlsA/ssd2/21/8/184547828.m3u8 -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4
ffmpeg -i https://ip182.com/media=hlsA/ssd2/21/8/184547828.m3u8 -acodec copy -vcodec copy output.mp4

切割mp4为m3u8格式,推荐用以下第一行的命令就行了

ffmpeg -i raw_video.mp4 -c copy -map 0 -f segment -segment_list hls/video.m3u8 hls/video%d.ts
ffmpeg -i Video.mp4 -c copy -map  -f segment -segment_list video_playlist.m3u8 -segment_time 2 video%03d.ts
ffmpeg -i Video.mp4 -c copy -bsf:v h264_mp4toannexb -map  -f segment -segment_time  -segment_format mpegts  -segment_list video_playlist.m3u8  video%03d.ts

这个命令也可以切片 mp4 为m3u8列表,还没有仔细看

ffmpeg -i Video.mp4 -c copy -hls_time  -hls_list_size  video_playlist.m3u8

segment_time参数指定切片的时间(大小),效果上感觉不加这个参数,使用系统默认的时间大小就挺好

还没有仔细研究,估计只是把mp4切片为m3u8列表,不需要用 -bsf:v h264_mp4toannexb 这个选项吧

有时间可以研究一下官方文档:https://www.ffmpeg.org/ffmpeg-formats.html#segment_002c-stream_005fsegment_002c-ssegment/

##########################################################################################

以下是网上抄的一段,没仔细研究,网址是https://www.cnblogs.com/saysmy/p/5629019.html

## ffmpeg转视频格式为m3u8

ffmpeg -i test.mp4 -codec:v libx264 -codec:a mp3 -map  -f ssegment -segment_format mpegts -segment_list playlist.m3u8 -segment_time  out%03d.ts

-i : 引入视频源

-codec:v : 视频格式
-codec:a : 音频格式
segment_format: 来指定输出格式为mpegts
segment_list: 用来配置输出的列表文件名
segment_time: 切片的时长

05-11 19:29