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 ...
随机推荐
- uniq cut wc 命令详解
uniq uniq命令可以去除排序过的文件中的重复行,因此uniq经常和sort合用.也就是说,为了使uniq起作用,所有的重复行必须是相邻的. uniq语法 [root@www ~]# uniq [ ...
- 10、组件注册-@Import-使用ImportBeanDefinitionRegistrar
10.组件注册-@Import-使用ImportBeanDefinitionRegistrar public interface ImportBeanDefinitionRegistrar { /** ...
- PHP mysqli_connect_errno() 函数
返回上一次连接错误的错误代码: <?php $con=mysqli_connect("localhost","wrong_user","my_p ...
- 查看文件被哪个进程lock住
How do you know who or what is locking a remote file? http://serverfault.com/questions/1948/how-do-y ...
- 显示浏览访客的IP
jQuery(function($){ var url = 'http://chaxun.1616.net/s.php?type=ip&output=json&callback= ...
- F. Make Them Similar ( 暴力折半枚举 + 小技巧 )
传送门 题意: 给你 n 个数 a[ 1 ] ~ a[ n ], n <= 100: 让你找一个 x , 使得 a[ 1 ] = a[ 1 ] ^ x ~ a[ n ] = a[ n ] ^ ...
- 数据库学习之二--SQL语句以及数据类型
一.SQL语句种类: 1. DDL(Data Definition Language,数据定义语言)用来创建或者删除存储数据用的数据库以及数据库中的表;包含以下几种指令: a. CREATE:CREA ...
- LOJ2341. 「WC2018」即时战略 [动态点分治]
LOJ 思路 考虑最蠢的暴力:枚举2~n,从1拉一条到他们的链,需要查询\(n^2\)次,显然不能通过. 考虑优化:如果拉的第一个点已经被访问过了,那么类似二分的做法,一次往那个方向多跳几步. 多跳几 ...
- web软件测试基础系统测试简化理论
系统测试点主要如下 1.系统测试基础-2.测试对象与测试级别-3.系统测试类型-4.系统测试方法-5.系统测试之软件测试质量. 1.系统测试:是尽可能彻底地检查出程序中的错误,提高软件系统的可靠性. ...
- SSRF漏洞攻击利用从浅到深
梳理一下ssrf 不详细 简单记录 0x01 SSRF成因和基本利用0x02 内网打未授权redis0x03 关于ssrf打授权的redis0x04 写redis shell和密钥的一点问题0x05 ...