好不容易找到喜欢的视频,下载了,结果是一堆ts文件,必须整成自己需要的才舒服呀:)

第一步,找到下载存储的视频路径,一堆ts文件

/Users/用户名/Library/Containers/com.tencent.tenvideo/Data/Library/Application Support/Download/video

第二步,合并ts文件

cat *.ts > xxx.ts

第三步,安装ffmpeg 执行下面命令:

brew install ffmpeg

第四步,将ts文件转为mp4文件

ffmpeg -y -i xxx.ts -c:v libx264 -c:a copy -bsf:a aac_adtstoasc xxx.mp4

缩放视频尺寸

ffmpeg -i big.mov -vf scale=360:-1 small.mov
注意 sacle 值必须是偶数,这里的 -1 表示保持长宽比,根据宽度值自适应高度。

如果要求压缩出来的视频尺寸长宽都保持为偶数,可以使用 -2

将mp4文件转成gif

ffmpeg -i small.mp4 small.gif

补充知识:

使用ffmpeg裁剪和合并视频

剪切视频

使用 -ss 和 -t 选项,从第0秒开始,向后截取31秒视频,并保存

ffmpeg -ss 00:00:00 -i video.mp4 -vcodec copy -acodec copy -t 00:00:31 output1.mp4
从第01:33:30 开始,向后截取 00:47:16 视频,并保存

ffmpeg -ss 01:33:30 -i video.mp4 -vcodec copy -acodec copy -t 00:47:16 output2.mp4

合并视频

把剪切得到的两个视频合并成一个视频

使用 TS格式拼接视频

先将 mp4 转化为同样编码形式的 ts 流,因为 ts流是可以 concate 的,先把 mp4 封装成 ts ,然后 concate ts 流, 最后再把 ts 流转化为 mp4。

ffmpeg -i output1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb output1.ts
ffmpeg -i output2.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb output2.ts
为了减少命令的输入,需要一个filelist.txt文件,里面内容如下

file 'output1.ts'
file 'output2.ts'

合并视频命令

ffmpeg -f concat -i filelist.txt -acodec copy -vcodec copy -absf aac_adtstoasc output.mp4

参考:
http://note.rpsh.net/posts/2015/04/21/mac-osx-ffmpeg-mp4-gif-convert/