ffmpeg 将视频转GIF
偶然在b站看了个关于FFmpeg的视频,总共10p,花一个多小时就可以学完。学完以后还是挺有意思的,这里做个简单的总结。
先准备一个视频文件,下载到本地就好了。
播放文件
ffplay.exe 996之歌.flv
播放音频 ffplay 1.mp3
获取文件属性
ffprobe 996之歌.flv
转码mkv为mp4
ffmpeg -i example.mkv example.mp4
MP4封装:h264视频编码+aac音频编码
flac转mp3
ffmpeg -i input.flac -acodec libmp3lame -ar 44100 -ab 320k -ac 2 out.mp3
获取单独的视频流,去除音频
ffmpeg -i input.mp4 -vcodec copy -an v.mp4
获取音频
ffmpeg -i input.mp4 -vn -acodec copy out.m4a
合并分离的音频和视频
ffmpeg -i out.m4a -i v.mp4 -c copy out.mp4
截取前10s
ffmpeg -i in.mp3 -ss 00:01:00 -to 00:01:10 -acodec copy out.mp3
ffmpeg -i in.mp3 -ss 00:01:00 -t 10 -acodec copy out.mp3
截取末尾10s
ffmpeg -i in.mp3 -sseof 00:05:00 -t 10 -acodec copy out.mp3
ffmpeg -ss 00:01:00 -i in.mp4 -to 00:01:10 -c copy copyts out.mp4 ss在前保证时间戳位置
合并文件
ffmpeg -i "concat:01.mp4|02.mp4|03.mp4" -c copy out.mp4
截图第5s这一帧画面
ffmpeg -i in.mp4 -ss 5 -vframes 1 img.jpg
左上角加水印
ffmpeg -i in.mp4 -i logo.png -filter_complex "overlay=20:20" out.mp4
7.5到8.5截取成GIF
ffmpeg -i in.mp4 -ss 7.5 -to 8.5 -s 640x320 -r 15 out.gif
录屏
ffmpeg -f gdigrab -i desktop in.mp4
保持编码下载m3u8
ffmpeg -i 't.m3u8' -codec copy -y out.ts
截取片段
ffmpeg -y -i 'out.ts' -ss 00:01:00 -to 00:10:00 -vcodec copy -acodec copy '1.ts'
合并ts生成MP4文件
ffmpeg -y -i "concat:1.ts|2.ts" -map_channel 0.1.0 -map_channel 0.1.0 -s 1024x576 -aspect 16:9 -max_muxing_queue_size 1024 "out.mp4"
图片转视频
cat imgs/* |ffmpeg -framerate 1 -i - out.mp4
将 gif 转为 mp4
ffmpeg -f gif -i origin.gif output.mp4
成果
工具
视频字幕
Hardened HLS merger
Some random notes that I found useful while working with ffmpeg
autosub安装使用指南.html)
Final Cut Pro 教程】全系列视频拍摄
牛逼的视频编辑脚本jumpcutter
https://savemedia.com/
https://en.savefrom.net/
http://www.clipconverter.cc/
http://convert2mp3.net/
http://www.downfi.com/video/
https://www.soogif.com/video/
https://tool.gifhome.com/video/
https://weibo.com/5198011111/...
https://ezgif.com/
ACONVERT.COM
压缩图片
Chrome 插件 MakeGIF Video Capture
字幕制作神器「Arctime」
PHP+FFMPEG自动转码H264标准Mp4文件
ffmpeg命令行转压视频