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 ...
一周排行
  • Mysql-mmm就是mysql主主复制管理器,实现的功能有:高可用性(类似keepalived的vip浮动技术)同个时间只提供一台数据库写操作,保证数据库的一致性.提升slave为master,延续双主的架构首先先 ...
  • Linux平台下如何搭建Eclipse +Apache Tomcat配置的Java开发环境
  • MySQL之索引
    1.关于查询缓存直接看2个例子:可以发现,第一次执行SQL的结果会缓存起来,第二次执行同样 ...
  • Linux基础知识系统管理Shell脚本编程Linux服务管理 web,ftp ,samba,nfs,dhcp,dns,opensshMysql数据库系统Linux集群(LB 集群和HA集群)分布式应用缓存系统虚拟化 ...
  • 详细的PXE网络克隆教程
         PXE(preboot execute environment)是由Intel公 ...
  • 欲速则不达,学习JAVA没有"可以拉"这种程度.丰富多彩,学习一年的时间也不一定能学完基础,我曾经也想过这个问题,但后来看了一篇文章,便彻然醒悟.下面这篇文章(不要嫌长,看完就有收益,还有此问题不 ...
  • 随着互联网开源潮流的迅速发展,全球IT业正迎来一个新的发展格局成长期.对全球的开源体系——LAMP(Linux.Apache.MYSQL.PHP)而言,其所代表的开源软件及应用,以其开放性.低成本.安全性.适用性以及 ...
  • solr学习之三_访问solr4.2的browse页面
     在solr的参考书<Apache Solr 3 Enterprise Search ...
  • JavaScript数组系列函数之push与pop函数用法
    数组对象的push与pop方法分别在数组的尾部添加与删除元素.push方法有一个参数,也就 ...
  • ospf帧中继---全网互联
    Top图为全网互联结构1. r1-r3连接帧交换的接口封装为frame-relay2. 在 ...