FFmpegFFmpeg的使用及常用参数

FFmpeg的使用及常用参数

一.下载:

官网:http://ffmpeg.org/

二.demo:

FFmpegFFmpeg的使用及常用参数
FFmpegFFmpeg的使用及常用参数
 1  class Program
 2     {
 3         static void Main(string[] args)
 4         {
 5             string srcFileName = @"F:\资料\Demo\FFmpeg_Demo\videoold\PROMO.wmv";
 6             string destFileName = @"F:\资料\Demo\FFmpeg_Demo\videonew\PROMO.mp4";
 7 
 8             Process p = new Process();
 9             p.StartInfo.FileName = @"F:\资料\Demo\FFmpeg_Demo\mencoder\ffmpeg.exe";
10             p.StartInfo.UseShellExecute = false;
11 
12            p.StartInfo.Arguments = "-i " + srcFileName + GenerateDefaultSetting() + destFileName;
13 
14 
15             p.StartInfo.RedirectStandardInput = true;
16             p.StartInfo.RedirectStandardOutput = true;
17             p.StartInfo.RedirectStandardError = true;//把外部程序错误输出写到StandardError流中
18             p.ErrorDataReceived += new DataReceivedEventHandler(p_ErrorDataReceived);
19             p.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
20             p.Start();
21             p.BeginErrorReadLine();//开始异步读取
22             p.WaitForExit();//阻塞等待进程结束
23             p.Close();//关闭进程
24             p.Dispose();//释放资源
25             Console.WriteLine("ok");
26             Console.ReadKey();
27         }
28         private static void p_ErrorDataReceived(object sender, DataReceivedEventArgs e)
29         {
30             Console.WriteLine(e.Data);
31         }
32         private static void p_OutputDataReceived(object sender, DataReceivedEventArgs e)
33         {
34             Console.WriteLine(e.Data);
35         }
36 
37         private static string GenerateDefaultSetting()
38         {
39             string setting = string.Empty;
40             setting += " -y ";
41             //setting += " -b 800 ";//-b大于0就模糊【?】
42             setting += " -ab 56 ";
43             setting += " -ar 22050 ";
44             setting += " -qscale 4 ";
45             setting += " -r " + 29.970;
46             setting += " -ac 2 ";
47             setting += " -s " + 640 + "x" + 480 + " ";
48             return setting;
49         }
50     }
View Code

三.ffmpeg各种视频处理:注意参数顺序

1.视频转换:

avi-------------------------->flv

ffmpeg -i  file.avi   output.flv

MPEG-1--------------->MPEG-4

ffmpeg -i inputfile.mpg -f mp4 -acodec libfaac -vcodec mpeg4 -b 256k -ab 64k outputfile.mp4

MP3------------------->MPEG-4

ffmpeg -i inputfile.mp3 -f mp4 -acodec libaac -vn -ab 64k outputfile.mp4

DVD的VOB---------->VideoCD格式的MPEG-1

ffmpeg -i inputfile.vob -f mpeg -acodec mp2 -vcodec mpeg1video -s 352x240 -b 1152k -ab 128k outputfile.mpg

AVI------------------->H.264格式的M4V

ffmpeg -i inputfile.avi -f mp4 -acodec libfaac -vcodec libx264 -b 512k -ab 320k outputfile.m4v

任何------------------->东芝REGZA可辨识的MPEG2

ffmpeg -i inputfile -target ntsc-svcd -ab 128k -aspect 4:3 -s 720x480 outputfile.mpg

2.音频视频合并:ok

   ffmpeg -i input1.avi -i input2.mp3 -vcodec copy -acodec copy out.avi

3.拆分音频视频:ok

提取音频:

ffmpeg -i input.flv -vn -acodec copy out.mp3

提取视频:

ffmpeg -i input.flv  -an -vcodec copy  out.flv ok

ffmpeg -i input.flv out.flv  -an -vcodec copy  error------->注意参数顺序

音视频都提取:

ffmpeg -i input.flv -an out1.flv -vn out2.mp3

4.提取图片:ok

ffmpeg -i input.avi -y -f image2 -ss 8 -t 0.001 -s 350x240 out.jpg      

5.压缩文件:ok

ffmpeg -i input.mp3 -ab 128 out.mp3

6.截取指定的时间间隔的视频:ok

 ffmpeg -ss 00:00:10 -t 00:01:22 -i 五月天-突然好想你.mp3  out.mp3

7.屏幕录像:

ffmpeg -f x11grab -s xga -r 10 -i :0.0+0+0 wheer.avi 

ffmpeg -f x11grab  -s 320x240  -r 10 -i :0.0+100+200 wheer.avi

ffmpeg -f x11grab -s xga    -qscale 5    -r 10 -i :0.0+0+0 wheer.avi 

8.屏幕录像,同时录音:

ffmpeg -f oss -i /dev/dsp        -f x11grab -r 30 -s 1024x768 -i :0.0  output.mkv

ffmpeg   -ac 2 -f oss  -i  /dev/dsp   -f x11grab -r 30 -s 1024x768 -i :0.0 -acodec pcm_s16le -vcodec libx264 -vpre lossless_ultrafast -threads 0 output.mkv

9.屏幕录像,指定窗口:

10.视频连接:

 ffmpeg -i input1.avi -i input2.avi output.avi  -vcodec copy -acodec copy

11.分割视频:ok

ffmpeg -ss 01:00:00 -i input.mp4 -vcodec copy -acodec copy -t 00:06:00 out.mp4

四.参数:

1.常用参数:

-ab      bitrate      设置音频码率

-acodec  codec        使用codec编解码

-ac      channels     设置通道,缺省为1

-ar      freq         设置音频采样率

-r       fps          设置帧频,缺省25

-b       bitrate      设置比特率,缺省200kb/s  

-qscale  6或4         使用动态码率来设置

-vcodec libx264  这个应该是个编码设置,网上查到 libx264.dll

2.更多参数:

参考百度百科:http://baike.baidu.com/link?url=ooW8425uMT5cipicRP7ian7qWKNH_P6A0AIZR7Ot5KJKCKjqHcAtNzcxN6_QhKWhB_0CyIo2teFFmVYF452-nq

参考官网:http://ffmpeg.org/ffmpeg-all.html

更多相关文章
  • 文中有不对或者有不清楚的地方,请大家告诉我,谢谢! Samba配置文件常用参数详解 Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下.smb.conf含有多个段,每个段由段名开始,直到下个段名.每个段名放在方括号中间.每段的参数的格式是:名称=指.配置文件中一行一个段名和 ...
  • lsof常用参数图解
    简介:lsof可以简单的理解为ls + of,ls即list; of即open files.组合起来就是列出打开的文件.而列出谁打开的文件呢?通常指的是进程.常用参数图解:
  •  Postfix配置文件main.cf中常用参数介绍 参数: myorigin 说明: myorigin参数用于指定该服务器使用哪个域名来外发邮件. 缺省的情况下myorigin采用本机主机名称(与参数myhostname相同). 建议:在很小的网络中,采用缺省配置.而在Internet中,我们建议 ...
  • vsftpd配置常用参数集合解析以前在做实验的过程中总结和写的一些教程的一些资料,一直没时间发布到博客上面,五一到了,终于有点时间发布啦!关于Linux上面还会有RHCE系列的学习笔记发表pam_service_name=vsftpd:---------配置vsftpd使用的PAM模块为vsftpd ...
  • rpm的常用参数和httpd的安装
    (1)介绍rpm的对象和一些常用参数rpm-->对象 软件包名称-版本号-修订号.平台.rpm,其中软件里边内容包括有[二进制 手册 库文件 头文件]rpm使用的一些主要参数如下:安装: -ivh 卸载 -e A f1 B --nodeps 查询 -q -a --->-qa 查询是否按上 ...
  • 新手可能不清楚PHP命令行执行程序php.exe,本文就分析一下关于它的使用和一些参数,如果熟练掌握具体的使用方法,除了调试PHP程序,也可以当成shell程序运行,在PHP网站开发中有很大用处. PHP命令行执行程序的具体位置及启用方式 我配置的PHP运行环境为WIN7+Apache+PHP5.3 ...
  • wget的常用参数记录2015/11/6 1.下载指定目录的内容 下载指定页面的所有 rpm 包: wget --execute robots=off -nc -nd -r -l1 -A '*.rpm' http://download.gluster.org/pub/gluster/glusterf ...
  • 文本文件命令(wc,cut,sort,uniq)及常用参数
    wc 字数统计 wc [OPTION]... [FILE]...-l, --lines 显示行数-w, --words 显示单词数 -c, --bytes 显示字节数-L, --max-line-length 打印最长行的长度.eg:cut 文件提取命令 官方解释:remove sections f ...
一周排行
  • 自从发了上篇文章以后,看到很多网友评论,很多人产生共鸣表示赞同,也有人觉得并不同意,没关系,在开始续篇三之前,先分享一些真实案例,也许对理解文章的主题能有帮助. 其一:曾经面试一个软件开发人员,自己讲:我想做大项目, ...
  • 响应式Web设计帮助移动终端访问网站
    2012年被称为智能手机年.根据最近一份调查显示,美国的智能手机覆盖率已达50%.现在确实 ...
  • kafkaproducer实例及原理分析
    1.前言首先,描述下应用场景:假设,公司有一款游戏,需要做行为统计分析,数据的源头来自日志 ...
  • Android版权介绍
     我在这里打算介绍一下Android的版权.由于Android是一个平台,由很多模块组成, ...
  • 续SCCM2007系列教程之十操作系统部署(二)SCCM 2007操作系统安装可以分为三个场景和两种模式. 1.三种场景 裸机安装:为没有操作系统计算机安装操作系统. 更新安装:为已有操作系统的计算机重新安装操作系统 ...
  • 简    介:setfacl与getfacl是一对对应的命令.而且都有acl,ACL 有两种,一种是存取 ACL (access ACLs),针对文件和目录设置访问控制列表.一种是默认 ACL (default AC ...
  • 在开发过程中,很多时候要把结果集存放到临时表中,常用的方法有两种.. SELECT INTO 1. 使用select into会自动生成临时表,不需要事先创建select * into #temp from syso ...
  • [原因分析]此问题是由于客户端插件的wfcwin32.log这个日志文件被删除导致的,比如使用idisk工具或批处理命令脚本清理系统垃圾后出现1.在CMD命令窗口中运行命令(不含引号)"echo. > ...
  • <?php /* MySQL_5.5中文参考手册 587开始 与GROUP BY子句同时使用的函数和修改程序 12.10.1. GROUP BY(聚合)函数 12.10.2. GROUP BY修改程序 12.1 ...
  • Android之内存泄漏调试学习与总结
      大家有或经常碰到OOM的问题,对吧?很多这样的问题只要一出现相信大家的想法跟小马的一样 ...