1 mp4格式:
 裁剪从一个视频中的1分钟、2分钟、3分钟开始截取10秒
 ffmpeg -i test_1280x720.mp4 -ss 00:01:00 -t 10 -codec copy copy1.mp4
 ffmpeg -i test_1280x720.mp4 -ss 00:02:00 -t 10 -codec copy copy2.mp4
 ffmpeg -i test_1280x720.mp4 -ss 00:03:00 -t 10 -codec copy copy3.mp4
 
 合并:
 方法1:
 ffmpeg -i “concat:copy1.mp4|copy2.mp4|copy3.mp4” -codec copy out_mp41.mp4
 (这个方法播放完第一个视频后,没继续播放后面的)
 
 方法2:
 ffmpeg -f concat -i mp4list.txt -codec copy out_mp42.mp4
 
 mp4list.txt:
 
 2 ts格式:
 转成ts格式
 ffmpeg -i copy1.mp4 -codec copy -vbsf h264_mp4toannexb copy_1.ts
 ffmpeg -i copy2.mp4 -codec copy -vbsf h264_mp4toannexb copy_2.ts
 ffmpeg -i copy3.mp4 -codec copy -vbsf h264_mp4toannexb copy_3.ts
 
 合并:
 方法1:
 ffmpeg -i “concat:copy_1.ts|copy_2.ts|copy_3.ts” -codec copy out_ts1.mp4
 
 方法2:
 ffmpeg -f concat -i tslist.txt -codec copy out_ts2.mp4
 
 tslist.txt:
 
 (方法一和方法二在输出文件上时间有点不同,方法一中输出文件 时间38秒,但播放在20秒时就直接变成30秒,但画面是正常的。实际播放时间也是30秒)
3 flv格式:
 转成flv格式
 ffmpeg -i copy1.mp4 -codec copy copy1.flv
 ffmpeg -i copy2.mp4 -codec copy copy2.flv
 ffmpeg -i copy3.mp4 -codec copy copy3.flv
 
 合并:
 方法1:
 ffmpeg -i “concat:copy1.flv|copy2.flv|copy3.flv” -codec copy out_flv1.mp4
 
 (这个方法播放完第一个视频后,没继续播放后面的)
方法2:
 ffmpeg -f concat -i flvlist.txt -codec copy out_flv2.mp4
 
 flvlist.txt:
 
 建议:1、使用方法二进行拼接
 2、转成ts文件进行拼接
(分离某些封装格式(例如mp4/flv/mkv等)中的h264的时候,需要首先写入SPS和PPS,否则会导致分离出来 的数据没有SPS、PPS而 无法播放,h264码流的SPS和PPS信息存储在AVCodecContext结构体的extradata中,需要使用ffmpeg中名称为"h264_mp4toannexb"的bitstream filter处理)
不同编码格式的拼接情况
 1:
 修改音频编码
 ffmpeg -i copy2.mp4 -vcodec copy -acodec ac3 -vbsf h264_mp4toannexb copy2_ac3.ts
 此时是还可以播放的:ffplay copy2_ac3.ts
 (播放时是有10秒,但知道文件显示只有4秒多)
 
 mpeg -i “concat:copy_1.ts|copy2_ac3.ts|copy_3.ts” -codec copy out_ts1.mp4
 ffplay out_ts1.mp4,播放完第一段就到第三段了,第二段没有了
 
 1:
 修改音频采样率
 ffmpeg -i copy2.mp4 -vcodec copy -acodec aac -ar 96000 -vbsf h264_mp4toannexb copy2_aac.ts
 
 ffmpeg -i “concat:copy_1.ts|copy2_aac.ts|copy_3.ts” -codec copy out_ts1.mp4
 ffplay out_ts1.mp4,播放完第一段就到第三段了,第二段没有了
 
 2:
 修改视频编码格式
 ffmpeg -i copy2.mp4 -vcodec libx265 -acodec copy copy2_265.ts
 
 ffmpeg -i “concat:copy_1.ts|copy2_265.ts|copy_3.ts” -coc copy out_ts1.mp4
 (播放到第二段时只声音正常,没画面,到第三段又恢复正常)
3:
 修改视频分辨率
 ffmpeg -i copy2.mp4 -vcodec libx264 -s 800x472 -acodec copy -vbsf h264_mp4toannexb copy2_264.ts
 
 ffmpeg -i “concat:copy_1.ts|copy2_264.ts|copy_3.ts” -coc copy out_ts1.mp4
 (可以播放)
 
 最后:
 1:视频分辨率可以不同,但是编码格式需要一样
 2:音频编码格式需要一样,音频参数采样率、声道等也要一样的
 3:把每个视频封装格式统一为ts流,在拼接输出时现设置需要的封装格式(MP4等)