ffmpeg常用命令操作

news/2024/7/10 21:10:47 标签: 视频, audio, h264, ffmpeg


原文地址:http://www.code4app.com/blog-843201-336.html


1.分离视频音频流

ffmpeg -i input_file -vcodec copy -an output_file_video  //分离视频
ffmpeg -i input_file -acodec copy -vn output_file_audio  //分离音频流

2.视频解复用

ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264
ffmpeg –i test.avi –vcodec copy –an –f m4v test.264

3.视频转码

[代码]objc代码:ffmpeg –i test.mp4 –vcodec h264 –s 352*278 –an –f m4v test.264 //转码为码流原始文件ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v test.264 //转码为码流原始文件
ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi //转码为封装文件//-bf B帧数目控制,-g 关键帧间隔控制,-s 分辨率控制

4.视频封装

ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file

5.视频剪切

ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg //提取图片
ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi //剪切视频
//-r 提取图像的频率,-ss 开始时间,-t 持续时间

6.视频录制

ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi

7.YUV序列播放

ffplay -f rawvideo -video_size 1920x1080 input.yuv

8.YUV序列转AVI

ffmpeg –s w*h –pix_fmt yuv420p –i input.yuv –vcodec mpeg4 output.avi

常用参数说明:

主要参数: -i 设定输入流 -f 设定输出格式 -ss 开始时间 视频参数: -b 设定视频流量,默认为200Kbit/s -r 设定帧速率,默认为25 -s 设定画面的宽与高 -aspect 设定画面的比例 -vn 不处理视频 -vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器 音频参数: -ar 设定采样率 -ac 设定声音的Channel数 -acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器 -an 不处理音频

------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------

1、将文件当做直播送至live

ffmpeg -re -i localFile.mp4 -c copy -f flv rtmp://server/live/streamName

2、将直播媒体保存至本地文件

ffmpeg -i rtmp://server/live/streamName -c copy dump.flv

3、将其中一个直播流,视频改用h264压缩,音频不变,送至另外一个直播服务流

ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv rtmp://server/live/h264Stream  

4、将其中一个直播流,视频改用h264压缩,音频改用faac压缩,送至另外一个直播服务流

ffmpeg -i rtmp://server/live/originalStream -c:a libfaac -ar 44100 -ab 48k -c:v libx264 -vpre slow -vpre baseline -f flv rtmp://server/live/h264Stream

5、将其中一个直播流,视频不变,音频改用faac压缩,送至另外一个直播服务流

ffmpeg -i rtmp://server/live/originalStream -acodec libfaac -ar 44100 -ab 48k -vcodec copy -f flv rtmp://server/live/h264_AAC_Stream

6、将一个高清流,复制为几个不同视频清晰度的流重新发布,其中音频不变

ffmpeg -re -i rtmp://server/live/high_FMLE_stream -acodec copy -vcodec x264lib -s 640×360 -b 500k -vpre medium -vpre baseline rtmp://server/live/baseline_500k -acodec copy -vcodec x264lib -s 480×272 -b 300k -vpre medium -vpre baseline rtmp://server/live/baseline_300k -acodec copy -vcodec x264lib -s 320×200 -b 150k -vpre medium -vpre baseline rtmp://server/live/baseline_150k -acodec libfaac -vn -ab 48k rtmp://server/live/audio_only_AAC_48k

7、功能一样,只是采用-x264opts选项

ffmpeg -re -i rtmp://server/live/high_FMLE_stream -c:a copy -c:v x264lib -s 640×360 -x264opts bitrate=500:profile=baseline:preset=slow rtmp://server/live/baseline_500k -c:a copy -c:v x264lib -s 480×272 -x264opts bitrate=300:profile=baseline:preset=slow rtmp://server/live/baseline_300k -c:a copy -c:v x264lib -s 320×200 -x264opts bitrate=150:profile=baseline:preset=slow rtmp://server/live/baseline_150k -c:a libfaac -vn -b:a 48k rtmp://server/live/audio_only_AAC_48k

8、将当前摄像头及音频通过DSSHOW采集视频h264、音频faac压缩后发布

ffmpeg -r 25 -f dshow -s 640×480 -i video=”video source name”:audio=”audio source name” -vcodec libx264 -b 600k -vpre slow -acodec libfaac -ab 128k -f flv rtmp://server/application/stream_name

9、将一个JPG图片经过h264压缩循环输出为mp4视频

ffmpeg.exe -i INPUT.jpg -an -vcodec libx264 -coder 1 -flags +loop -cmp +chroma -subq 10 -qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -flags2 +dct8x8 -trellis 2 -partitions +parti8x8+parti4x4 -crf 24 -threads 0 -r 25 -g 25 -y OUTPUT.mp4

10、将普通流视频改用h264压缩,音频不变,送至高清流服务(新版本FMS live=1)

ffmpeg -i rtmp://server/live/originalStream -c:a copy -c:v libx264 -vpre slow -f flv “rtmp://server/live/h264Stream live=1〃

------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------

------------------------------------------------------------------------

 

1.采集usb摄像头视频命令:

ffmpeg -t 20 -f vfwcap -i 0 -r 8 -f mp4 cap1111.mp4  
ffmpeg -t 10 -f vfwcap -i 0 -r 8 -f mp4 cap.mp4


具体说明如下:我们采集10秒,采集设备为vfwcap类型设备,第0个vfwcap采集设备(如果系统有多个vfw的视频采集设备,可以通过-i num来选择),每秒8帧,输出方式为文件,格式为mp4。

 

2.最简单的抓屏:

ffmpeg -f gdigrab -i desktop out.mpg 

3.从屏幕的(10,20)点处开始,抓取640x480的屏幕,设定帧率为5 :

ffmpeg -f gdigrab -framerate 5 -offset_x 10 -offset_y 20 -video_size 640x480 -i desktop out.mpg 

4.ffmpeg视频中生成gif图片:

ffmpeg -i capx.mp4 -t 10 -s 320x240 -pix_fmt rgb24 jidu1.gif

5.ffmpeg将图片转换为视频

http://blog.sina.com.cn/s/blog_40d73279010113c2.html



http://www.niftyadmin.cn/n/1607289.html

相关文章

百度开放云·网站及部署解决方案

百度世界大会开放云论坛上,百度开放云共对外发布10套解决方案,覆盖建站部署、视频、图像、存储分发、大数据分析、移动APP以及数字营销、在线教育、物联网、政企等领域。首先来剖析网站及部署解决方案!结合百度生态专属优势,打通网…

想来一杯奶昔吗?NEX-5R、NEX-6强势登场

松下、索尼、奥林巴斯可以说是微单市场的“三天王”,而索尼NEX又是其中比较特别的一个系列,它紧凑的机身设计,巨大的镜头甚至被笑称机身是“镜头盖”。较早前NEX系列出了一款低端的NEX-F3,近日新加波的VR-ZONE网站公布了中高端机型…

第15章 派 生 类

第15章 派 生 类 这一章解释如何用派生类产生可扩展的程序。 本章包含如下一些主题: * 派生类综述 * 多重基类 * 虚拟函数 * 抽象类 * 范围规则总结 派生类概述 利用继承机制,新的类可以从已有的类中派生(有关继承见下一节“单一继承”的开始)。那些用于派生的类称为这…

百度开放云·存储及分发解决方案

百度拥有国内最大的对象存储系统和遍布全国的高质量CDN节点,这让存储与分发解决方案,极具天然优势。将为用户开放百度网盘、百度搜索的技术服务。一起来剖析存储与分发解决方案吧!1架构图2功能介绍更多解决方案剖析敬请期待

百度第三个超级核心及华南IDC集群正式启用

9月10日,百度高级副总裁王劲出席广东电信、广东移动的数据中心启用仪式,以及与广东联通的合作备忘录签约仪式,标志着百度第三个超级核心及华南IDC广州南沙云谷数据中心集群正式启用。(王劲、刘超一行出席与三大运营商合作仪式&…

罗姆尼:奥巴马竞争对手如何利用杠杆并购毁掉一家公司

在雷晓宇的一篇文章中讲道:1989年,古永锵进入加州大学博客利分校毕业,进入贝恩咨询工作,后来古去斯坦福念MBA就是贝恩咨询出资的,当时古永锵在贝恩咨询结识了一个美国同事,两人虽不在同一城市,但…

百度开放云·智能图像云解决方案

百度的图像处理技术已在百度内部成熟运用,百度开放云智能图像云解决方案基于百度精湛的图像处理技术,为开发者提供百度海量的图片存储、高速的图片上传/下载,多样灵活的图片转码和深度智能化的人脸识别、图片审核、OCR识别等图片内容处理服务…

第16章 成员访问控制

第16章 成员访问控制 在C中,用户可以说明成员数据和成员函数的访问级别。共有三种访问级别:公共的、保护的和私有的。这一章解释访问控制如何运用于类类型对象以及派生类。 本章包括如下主题: * 类成员的访问控制 * 访问指示符 * 基类的访问指示符 * 友元 * 保护的成员访…