ffmpeg · 2024 年 6 月 7 日

ffmpeg切片命令

1、切片命令,将当前文件夹1.mp4文件每片10s切片输出ts

ffmpeg -i 1.mp4 -profile:v baseline -level 3.0 -start_number 0 -hls_time 10 -hls_list_size 0 -f hls -hls_segment_filename hh/%03d.ts -hls_base_url hh/ index.m3u8

1.1 ffmpeg切片segment (将mp4文件每片10s切片输出mp4)
FFmpeg可以通过使用-segment选项来进行视频切片(segment)。以下是一个基本的命令行示例,它将输出一个视频切片文件和一个索引文件:
解释:
-i input.mp4 指定输入文件。
-c:v libx264 和 -crf 20 使用H.264编码和常量速率质量控制。
-c:a aac 和 -b:a 128k 指定音频编码为AAC和128k的比特率。
-map 0 复制流(在这个例子中是视频和音频)。
-f segment 启用切片模式。
-segment_list playlist.m3u8 指定输出的索引文件。
-segment_time 10 每10秒切割一个新的切片。
output%03d.mp4 是输出切片的文件名格式,其中%03d会被替换为切片的序号。
这个命令会生成一个TS格式的视频切片和一个M3U8格式的索引文件。每个切片都是10秒钟长,文件名按序号递增。

ffmpeg -i 1.mp4 -c:v libx264 -crf 20 -c:a aac -b:a 128k -map 0 -f segment -segment_list playlist.m3u8 -segment_time 10 hh/output%03d.mp4

1.2、将当前1.mp4截取视频的一部分
input.mp4 是输入视频文件。
-ss START 是开始截取的时间点(如:00:00:10表示第10秒钟)。
-to 结束截取的时间点(如:00:00:30)。
-c copy 表示复制编码以避免重新编码,这会更快。
output.mp4 是输出视频文件的名称。

ffmpeg -ss 00:00:00 -to 00:00:30 -i 1.mp4 -c copy output.mp4

2、合并

ffmpeg -i E:/dddd/xx.m3u8 -acodec copy -vcodec copy output.mp4

在线合并

ffmpeg -protocol_whitelist "file,http,https,tcp,tls" -i https://v2.weizan.cn/374870/489768026380563510/replay.1599820894.71972805.m3u8 -acodec copy -vcodec copy output2.mp4