好不容易找到喜欢的视频,下载了,结果是一堆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/