偶然在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 "《something just like this》.mp4" -f mp3 outaudio.mp3
ffmpeg version N-93885-gc61d16cf3b Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8.3.1 (GCC) 20190414
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
libavutil 56. 28.100 / 56. 28.100
libavcodec 58. 52.101 / 58. 52.101
libavformat 58. 27.103 / 58. 27.103
libavdevice 58. 7.100 / 58. 7.100
libavfilter 7. 53.101 / 7. 53.101
libswscale 5. 4.101 / 5. 4.101
libswresample 3. 4.100 / 3. 4.100
libpostproc 55. 4.100 / 55. 4.100
获取单独的视频流,去除音频
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
m3u8 格式转MP4
ffmpeg -i "http://xxxxxx/video/movie.m3u8" -vcodec copy -acodec copy -absf aac_adtstoasc output.mp4
ffprobe 获取一个视频的基本信息
FFmpeg中常用的工具主要是ffmpeg、ffprobe、ffplay,它们分别用作多媒体的编解码工具、内容分析工具和播放器。 ffprobe 获取一个视频的基本信息,并以JSON格式输出
ffprobe video.mp4 -v quiet -print_format json -show_format -show_streams
将 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命令行转压视频
FFprobe使用指南
FFmpeg工具使用及参数说明
每天学习一个命令:ffprobe 查看多媒体信息
ffmpeg 入门笔记
如何使用 FFmpeg 进行视频转码
ffmpeg视音频编解码入门
MP4/FLV格式视频音频在线提取工具
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。