FFmpeg FFmpeg的使用及常用参数
FFmpeg的使用及常用参数
一.下载:
二.demo:
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 }
三.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://ffmpeg.org/ffmpeg-all.html
FFmpeg FFmpeg的使用及常用参数的更多相关文章
- c# ffmpeg常用参数
c# ffmpeg常用参数 转换文件格式的同时抓缩微图: ffmpeg -i "test.avi" -y -f image2 -ss 8 -t 0.001 -s 350x240 ...
- Production环境中iptables常用参数配置
production环境中iptables常用参数配置 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我相信在实际生产环境中有很多运维的兄弟跟我一样,很少用到iptables的这个 ...
- chattr的常用参数详解
chattr的常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,有的运维工程师不得不和开发和测试打交道,在我们公司最常见的就是部署接口.每天每个人部署的 ...
- dmidecode常用参数
dmidecode常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. dmidecode这个命令真是神器啊,他能快速的获取服务器的硬件信息,而且这个命令有很多的花式玩法,今 ...
- find常用参数详解
find常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux系统中,在init 3模式情况下都是命令行模式,这个时候我们想要找到一个文件的就得依赖一个非常好用的 ...
- cat常用参数详解
cat常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近,我的一个朋友对linux特别感兴趣,于是我觉得每天交给他一个命令的使用,这样一个月下来也会使用30个命令,基 ...
- find一些常用参数的一些常用实例和一些具体用法和注意事项。
find一些常用参数的一些常用实例和一些具体用法和注意事项. 1.使用name选项: 文件名选项是find命令最常用的选项,要么单独使用该选项,要么和其他选项一起使用. 可以使用某种文件名模式来匹配 ...
- ls常用参数
ls常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 玩Linux的老司机们每天都要敲的命令,但是这个鸡蛋的命令还有很多中玩法哟~跟着我一起敲一遍吧!在这里我就列举几个常 ...
- C#中Messagebox.Show()常用参数用法详解
声明:IWin32Window owner , HelpNavigator navigator , string keyword 上面的三个参数类型不是很了解.没有做讨论. 等以后了解多了 ...
随机推荐
- Careercup - Google面试题 - 6253551042953216
2014-05-06 01:49 题目链接 原题: Modify the following code to add a row number for each line is printed pub ...
- Java_Swing实现小球沿正弦曲线运动的代码
1 package zuidaimapack_1; import java.awt.*; import javax.swing.*; /** *Java_Swing实现小球沿正弦曲线运动的代码 * @ ...
- MySQL 分组
MySQL GROUP BY 语句 GROUP BY 语句根据一个或多个列对结果集进行分组. 在分组的列上我们可以使用 COUNT, SUM, AVG,等函数. GROUP BY 语法 SELECT ...
- 用CSS3制作的旋转六面体动画
这是用CSS3制作的旋转的六面体 请用火狐或谷歌浏览器预览,有些旋转角度做的不够好,请大神指教 top bottom left right front back
- nginx配置解读
nginx.conf基本配置 ##Start. ##Basic 基础配置 user www www; #运行用户 worker_processes ; #启动进程,通常设置成和cpu的数量相等 wor ...
- 一个利用window.name实现的windowStorage
//key:value|key:value var windowStorage = { _inited: false, _data: {}, init: function(str) { var tmp ...
- Telnet、FTP、SSH、SFTP、SCP
[Telnet]著名的终端访问协议,传统的网络服务程序,如FTP.POP和Telnet,其本质上都是不安全的:因为它们在网络上用明文传送数据.用户帐号和用户口令. [telnet命令]telnet h ...
- mybatis中:returned more than one row, where no more than one was expected.异常
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorEx ...
- C#中“貌似”跳出while(true)死循环
当程序第一次执行到Read()函数时,程序会被阻塞,然后输入字符,Enter之后程序被激活,windows平台会自动在输入字符之后加入回车符和换行符,此时输入流中就有三个字符,然而read每次只读取一 ...
- POJ 1466
#include<iostream> #include<stdio.h> #define MAXN 505 using namespace std; int edge[MAXN ...