在实际工作中 , 通常需要ffmpeg作为工具来验证一个问题 , 比如播放一个视频 , 提取一个码流 , 转码视频 , 转封格式等 , 用的时候才发现忘记了相关命令 , google一番花老大的力气才找到自己需要的命令行 。本文总结常用的命令 , 并演示如何通过命令行的help用法去构建新的命令 。
常用命令总结
一.采集命令
列出摄像头设备
ffmpeg -list_devices true -f dshow -i dummy
列出某一个摄像头的能力
ffmpeg -list_options true -f dshow -i video=“Integrated Camera”
指定格式播放某一个设备
ffplay -video_size 640x480 -pixel_format yuyv422 -framerate "30" -f dshow -i video="Integrated Camera"
录屏命令
ffmpeg -y -f gdigrab -t 30 -r 25 -i desktop -vcodec libx264 -s 1280x720 test720.mp4
详见:https://www.jianshu.com/p/601757bd053b
二.提取视频或音频裸流
ffmpeg.exe -i CCTV-2-dszg-1.mp4 -vn -y -acodec copy audio.aac //提取音频
ffmpeg.exe -i CCTV-2-dszg-1.mp4 -an -y -acodec copy video.h264 //提取视频
三.转码和转封
ffmpeg -i test_1920x1080.mp4 -acodec copy -vcodec libx264 -s 1280x720 test_1280x720.ts
四.播放
播放编码后或封装后的数据
ffplay –x 800 –y 400 test.mp4 –autoexit
强制某个解码器解码
ffplay -vcodec h264_qsv -i test.h264
播放原始数据
查看格式
ffplay -pix_fmts
播放RGB
ffplay -x 800 -y 400 -pixel_format bgra -video_size 1366x768 -i rgb24_320x240.rgb
播放YUV
ffplay -x 800 -y 400 -pixel_format yuv420p -video_size 1366x768 -i capture.yuv
播放PCM
ffplay -ar 48000 -ac 2 -f f32le 48000_2_f32le.pcm
播放网络流
ffplay –x 800 –y 400 url
五.提取原始数据
提取YUV
ffmpeg -i test_1280x720.mp4 -t 3 -pix_fmt yuv420p yuv420p_orig.yuv
提取RGB
ffmpeg -i test.mp4 -t 3 -pix_fmt rgb24 -s 320x240 rgb24_320x240.rgb
提取PCM
ffmpeg -i test.mp4 -t 10 -vn -ar 48000 -ac 2 -f f32le 48000_2_f32le_2.pcm
help 查询
1基本的help查询 , 可以重定向文件再查看
ffmpeg/ffplay/ffprobe –h
ffmpeg -h long
ffmpeg -h full
2.查看某一个类型的
文章插图
ffmpeg可查看类型
查看支持编码器
ffmpeg -codecs
查看所支持的复用器
ffmpeg -muxers等
3.查看具体类型所支持的参数
基本格式:ffmpeg -h type=xxx
举例如下:
ffmpeg -h encoder=libx264
ffmpeg -h filter=atempo
后续在工作和学习中如遇到新的需求 , 该命令行会继续扩充 。
更多更详细信息请关注公众号:AV_Chat
【ffmpeg常用命令行集锦】
推荐阅读
- 车漆保养最好的办法有哪些?
- 超详细ffmpeg.c框架分析
- 常用的Websocket技术一览
- 红茶香气常用评语,常用的评茶术语香气
- Java性能调优:JVM性能监控常用方法
- 古人冬天时有个常用的 古代人御寒
- Linux或者Mac下命令行speedtest测试网络速度
- 在命令行中使用 nmcli 来管理网络连接
- FFmpeg的FFplay框架分析
- Mybatis-plus常用API全套教程,看完没有不懂的