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 ...
一周排行
  • 创建型模式 简单工厂模式 (Simple Factory Pattern) 单例模式 (Singleton Pattern) 工厂方法模式 (Factory Method Pattern) 抽象工厂模式 (Abstr ...
  • 数据压缩LZ77算法原理及实现
    1. 引言 LZ77算法是采用字典做数据压缩的算法,由以色列的两位大神Abraham Le ...
  • 微软这次调整组织架构在业内引起了很大反响啊,连篇累牍的报道和分析,不过在我看来,落到实际效果上,恐怕会雷声大.雨点小.因为微软现在在消费者端的优势已经被苹果.亚马逊和facebook打得满地找牙了,但是微软在企业端, ...
  •    最近用cacti 实现了对几台服务器的监控,期间遇到很多问题,通过借鉴网友的方法都一个个的解决了,我把具体的配置过程发在这里,希望对大家有所帮助.       安装用到的 源码包有 cacti-memcache ...
  • jobssteve的博客今天上午10点多的时候,同事接到一个电话,某数据库任何连接都连不上数据库,登录主机后发现,该数据库已经挂死,sqlplus都无法登陆,在alertlog中发现大量的“PMON failed t ...
  • 文/舒化鲁市面有一本书,叫<申五的店>,讲的是一个真实的故事.申五真名叫申五性,大学毕业,但学的是机械工程专业.他毕业后,进了沿海一家颇有名气的国有企业.因为他的质朴,造成在公司政治中没有臆料到的人际关系 ...
  • 协同过滤算法
          转载请注明出处: http://www.cnblogs.com/gufeiya ...
  • VB.NET编程语言可以帮助我们轻松的实现各种数据库的操作,比如今天为大家介绍的VB.NET打开Notes数据库这一方法,就可以通过本文介绍的方法轻松的实现.下面大家就一起来看看具体操作方法.     一.前言    ...
  • 简介 Git是一个分布式版本控制系统(你可以通过Git来管理你的代码以及相关文档,可以在自己电脑上管理,同时也可以和同事协同使用管理),Github为Git提供一个服务器(简单的说,就是你可以把你的代码推送到Gith ...
  • test_JQ和JS属性操作
    <!DOCTYPE html PUBLIC "-//W3C//DTD XH ...