FFMPEG 常用命令行
1. 分离音视频
- 分离视频:
ffmpeg -i test.mkv -vcodec copy -an test_video.mp4 - 分离音频:
ffmpeg -i test.mkv -acodec copy -vn test_audio.mp2
2. 解复用
ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264
ffmpeg –i test.avi –vcodec copy –an –f m4v test.264
3. 视频转码
ffmpeg -i test.mp4 -vcodec h264 -s 480*480 -an -f m4v test.264
ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v test.264
说明: -bf B帧数目控制,-g 关键帧间隔控制,-s 分辨率控制
4. 视频封装
ffmpeg –i test_video.mp4 –i test_audio.mp2 –vcodec copy –acodec copy test.mkv
5. 视频剪切
提取图片:ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg
剪切视频:
剪切从0:1:30开始时长20s的视频
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi
剪切从0:1:30开始到0:2:30秒间的视频
ffmpeg -i input.avi -vcodec copy -acodec copy -ss 0:1:30 -to 0:2:30 output.avi
6. 视频录制
ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi
7.叠加水印
使用命令:ffmpeg -i Titanic.mkv -vf "movie=test.PNG,scale=100:150[watermask];[in][watermask] overlay=100:100[out]" -y Titanic.mp4
scale:水印的大小
overlay:水印的位置
8.将MP3转换为PCM数据
ffmpeg -i test.mp3 -f s16be -ab 192 -ar 44100 test.pcm
9. 推送RTP流、接收RTP流并存为ts文件
- 推送RTP流
ffmpeg -re -i 4kp30_avc.mp4 -an -c copy -f rtp rtp://192.168.25.89:5004 > rtp.sdp
- ffplay 接收rtp流
ffplay.exe -protocol_whitelist "udp,tcp,http,https,file,rtp" rtp.sdp
- ffmpeg 接收rtp流,并存为ts文件
ffmpeg -protocol_whitelist "udp,tcp,http,https,file,rtp" -i rtp.sdp -c copy 4kp30_avc.ts
10. ffmpeg 编码
ffmpeg -s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec mpeg4 bus_cif.avi//avi
ffmpeg -s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec mpeg2video bus_cif.VOB//dvd
ffmpeg -s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec wmv1 bus_cif.wmv//wmv
ffmpeg -s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec h264 bus_cif.mp4//mp4
ffmpeg -s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec flv bus_cif.flv//flv
ffmpeg -s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec rv10 bus_cif.rm//rm
ffmpeg -s 352*288 -pix_fmt yuv420p -i bus_cif.yuv -vcodec vp9 bus_cif.webm//webm
11. ffmpeg 解码
ffmpeg -i test1.h264 -c:v rawvideo -pix_fmt yuv420p test1.yuv
12. 截取 YUV
从第0帧开始截取30帧
ffmpeg -s widthxheight -i input.yuv -c:v rawvideo -filter:v select="between(n\, 0\, 29)" out.yuv
根据时间截取帧(截取从第10秒到第20秒)
ffmpeg -s widthxheight -i input.yuv -c:v rawvideo -filter:v select="between(t\, 10\, 20)" out.yuv
13. 压缩分辨率
ffmpeg -i 1080_60i.ts -s 720x576 720x576.ts
14. ffplay 播放YUV
ffplay -f rawvideo -video_size 1280x720 -pix_fmt nv12 test.yuv
需要指定的参数:
1. -video_size 指定yuv的宽高
2. -pix_fmt 指定yuv的格式
yuv的格式名可以通过 ffplay -pix_fmts来查询
15. ffplay 播放PCM
ffplay -ar 44100 -channels 1 -f s16le -i test.pcm
需要指定的参数:
1. -ar pcm的采样率
2. -channels pcm的通道数
3. -f pcm的格式
pcm的格式可以通过ffplay -sample_fmts来查询
16. 将 PCM 数据编码为 AC3
ffmpeg -y -f s16le -ac 1 -ar 44100 -acodec pcm_s16le -i audio_1.pcm test.ac3
FFMPEG 常用命令行的更多相关文章
- Linux 常用命令行
Linux常用命令行 第一部分: cd命令 第二部分:文件操作 第三部分:压缩包操作
- vi 常用命令行
vi 常用命令行 1.vi 模式 a) 一般模式: vi 处理文件时,一进入该文件,就是一般模式了. b) 编辑模式:在一般模式下可以进行删除,复制,粘贴等操作,却无法进行编辑操作.等按下‘i,I ...
- GCC常用命令行一览表
GCC常用命令行一览表 这些常用的 gcc/g++ 命令行参数,你都知道么?1. gcc -E source_file.c-E,只执行到预编译.直接输出预编译结果. 2. gcc -S source_ ...
- Linux - 常用命令行(一)
今天和大家分享一些最基本常用命令行:也是作为新手最应该了解掌握的 ls 命令:用来显示指定工作目录下内容 dir命令:与ls命令一致 cd 命令:变化工作目录 pwd命令:显示用户当前的工作路径,显 ...
- FFmpeg 常用命令收集
FFmpeg 常用命令 合并视频 ffmpeg -i "KTDS-820A_FHD.mp4" -c copy -bsf:v h264_mp4toannexb -f mpegts i ...
- HBase表的基本结构和常用命令行操作
一.HBase表的基本结构 1.概述: 平时常见的MySQL.Oracle数据库都是传统型关系数据库,它们都是按行查询.按行存储:而HBase为非关系型数据库,它是按列存储的的. 在HBase插入数据 ...
- Zookeeper常用命令行及API
一.Zookeeper常用命令行 1.启动zookeeper客户端(在启动zookeeper集群后启动进行调试) zkCli.sh 2.查看帮助.操作历史 help.history 3.查看当前Zno ...
- [转]vi 常用命令行
From : http://www.cnblogs.com/sunormoon/archive/2012/02/10/2345326.html vi 常用命令行 1.vi 模式 a) 一般模式: v ...
- (转)Mysql常用命令行
原文:http://www.cnblogs.com/TsengYuen/archive/2012/01/11/2319034.html Mysql常用命令行 Mysql经常使用号令行大全 熬头招.my ...
随机推荐
- Git 的核心概念
本文不是Git使用教学篇,而是偏向理论方面,旨在更加深刻的理解Git,这样才能更好的使用它,让工具成为我们得力的助手. 版本控制系统 Git 是目前世界上最优秀的分布式版本控制系统.版本控制系统是能够 ...
- ueditor自动上传Word中的图片
如何做到 ueditor批量自动上传word图片? 1.前端引用代码 <!DOCTYPEhtmlPUBLIC"-//W3C//DTD XHTML 1.0 Transitional//E ...
- Noip2001 提高组 T3
T3 题目描述 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个).要求将此字母串分成k份(1<k<=40),且每份中包 ...
- JS 的 new 到底是干什么的?
大部分讲 new 的文章会从面向对象的思路讲起,但是我始终认为,在解释一个事物的时候,不应该引入另一个更复杂的事物. 今天我从「省代码」的角度来讲 new. --------------------- ...
- P1106 删数问题 自己码风好菜
一个人的码风好坏究竟会影响多少
- pandas入门之Series
一.创建Series 参数 - Series (Series)是能够保存任何类型的数据(整数,字符串,浮点数,Python对象等)的一维标记数组.轴标签统称为索引. - data 参数 - index ...
- 查看Oracle表空间使用情况
1.查询表空间的总容量 as MB from sys.dba_data_files a group by a.TABLESPACE_NAME 2.查询表空间的空闲容量 select b.TABLESP ...
- vue实战_从头开始搭建vue工程
写在前面:vue工程入口文件分析 /index.html,/src/main.js,/src/APP.vue /index.html文件示例: <!DOCTYPE html> <ht ...
- pwn学习日记Day15 《程序员的自我修养》读书笔记
程序编译链接过程: 1.调用cc1程序,这个程序实际上就是GCC的C语言编译器,它将"hello.c"编译成一个临时的汇编文件"/tmp/ccUhtGSB.s" ...
- ArcGIS超级工具SPTOOLS-制图篇
1.1 梯形接幅表的创建 视频:https://weibo.com/tv/v/Hvq9KzKKQ?fid=1034:4374886702060760 根据一个图层范围,生成接幅表,支持地图比例尺有1 ...