三千越甲可吞吴℡
im3000.cn
博客园
首页
社区
新随笔
联系
订阅
管理
(工具ffmpeg)视频转换为flv格式,视频截取图片[转贴]
/**/
///
<summary>
///
视频(avi,mov等等格式)转换为flv格式视频
///
</summary>
///
<param name="FromName">
被转换的视频文件
</param>
///
<param name="ExportName">
转换flv后的文件名
</param>
///
<param name="ExportName">
视频大小的尺寸
</param>
///
<returns></returns>
public
string
VideoConvertFlv(
string
FromName,
string
ExportName,
string
WidthAndHeight)
...
{
string
ffmpeg
=
@"
C:Inetpubwwwrootdemopic fmpeg.exe
"
;
System.Diagnostics.ProcessStartInfo startInfo
=
new
System.Diagnostics.ProcessStartInfo(ffmpeg);
startInfo.WindowStyle
=
System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.Arguments
=
"
-i
"
+
Server.MapPath(FromName)
+
"
-ab 56 -ar 22050 -b 500 -r 15 -s
"
+
WidthAndHeight
+
"
"
+
Server.MapPath(ExportName);
try
...
{
System.Diagnostics.Process.Start(startInfo);
return
ExportName;
}
catch
(Exception err)
...
{
return
err.Message;
}
}
/**/
///
<summary>
///
从视频画面中截取一帧画面为图片
///
</summary>
///
<param name="VideoName">
视频文件pic/guiyu.mov
</param>
///
<param name="WidthAndHeight">
图片的尺寸如:240*180
</param>
///
<param name="CutTimeFrame">
开始截取的时间如:"1"
</param>
///
<returns></returns>
public
string
GetPicFromVideo(
string
VideoName,
string
WidthAndHeight,
string
CutTimeFrame)
...
{
string
ffmpeg
=
@"
C:Inetpubwwwrootdemopic fmpeg.exe
"
;
string
PicName
=
Server.MapPath(Guid.NewGuid().ToString().Replace(
"
-
"
,
""
)
+
"
.jpg
"
);
System.Diagnostics.ProcessStartInfo startInfo
=
new
System.Diagnostics.ProcessStartInfo(ffmpeg);
startInfo.WindowStyle
=
System.Diagnostics.ProcessWindowStyle.Hidden;
startInfo.Arguments
=
"
-i
"
+
Server.MapPath(VideoName)
+
"
-y -f image2 -ss
"
+
CutTimeFrame
+
"
-t 0.001 -s
"
+
WidthAndHeight
+
"
"
+
PicName ;
try
...
{
System.Diagnostics.Process.Start(startInfo);
return
PicName;
}
catch
(Exception err)
...
{
return
err.Message;
}
}
ffmpeg参数使用说明
ffmpeg.exe
-
i F:闪客之家闪客之歌.mp3
-
ab
56
-
ar
22050
-
b
500
-
r
15
-
s 32
0x240
f:
11
.flv
ffmpeg
-
i F:
1
.wmv
-
ab
56
-
ar
22050
-
b
500
-
r
15
-
s 32
0x240
f:test.flv
使用
-
ss参数 作用(time_off
set
the start time offset),可以从指定时间点开始转换任务。如:
转换文件格式的同时抓缩微图:
ffmpeg
-
i
"
test.avi
"
-
y
-
f image2
-
ss
8
-
t
0.001
-
s 35
0x240
'
test.jpg
'
对已有flv抓图:
ffmpeg
-
i
"
test.flv
"
-
y
-
f image2
-
ss
8
-
t
0.001
-
s 35
0x240
'
test.jpg
'
-
ss后跟的时间单位为秒
Ffmpeg转换命令
ffmpeg
-
y
-
i test.mpeg
-
bitexact
-
vcodec h263
-
b
128
-
r
15
-
s 176x144
-
acodec aac
-
ac
2
-
ar
22500
-
ab
24
-
f 3gp test.3gp
或者
ffmpeg
-
y
-
i test.mpeg
-
ac
1
-
acodec amr_nb
-
ar
8000
-
s 176x144
-
b
128
-
r
15
test.3gp
ffmpeg参数设定解说
-
bitexact 使用标准比特率
-
vcodec xvid 使用xvid压缩
-
s 32
0x240
指定分辨率
-
r
29.97
桢速率(可以改,确认非标准桢率会导致音画不同步,所以只能设定为15或者29.
97
)
画面部分,选其一
-
b
<
比特率
>
指定压缩比特率,似乎ffmpeg是自动VBR的,指定了就大概是平均比特率,比如768,1500这样的
就是原来默认项目中有的
-
qscale
<
数值
>
以
<
数值
>
质量为基础的VBR,取值0.
01
-
255
,约小质量越好
-
qmin
<
数值
>
设定最小质量,与
-
qmax(设定最大质量)共用,比如
-
qmin
10
-
qmax
31
-
sameq 使用和源同样的质量
声音部分
-
acodec aac 设定声音编码
-
ac
<
数值
>
设定声道数,1就是单声道,2就是立体声,转换单声道的TVrip可以用1(节省一半容量),高品质
的DVDrip就可以用2
-
ar
<
采样率
>
设定声音采样率,PSP只认24000
-
ab
<
比特率
>
设定声音比特率,前面
-
ac设为立体声时要以一半比特率来设置,比如192kbps的就设成96,转换
君默认比特率都较小,要听到较高品质声音的话建议设到160kbps(
80
)以上
-
vol
<
百分比
>
设定音量,某些DVDrip的AC3轨音量极小,转换时可以用这个提高音量,比如200就是原来的2倍
这样,要得到一个高画质音质低容量的MP4的话,首先画面最好不要用固定比特率,而用VBR参数让程序自己去
判断,而音质参数可以在原来的基础上提升一点,听起来要舒服很多,也不会太大(看情况调整
例子:ffmpeg
-
y
-
i
"
1.avi
"
-
title
"
Test
"
-
vcodec xvid
-
s 368x208
-
r
29.97
-
b
1500
-
acodec aac
-
ac
2
-
ar
24000
-
ab
128
-
vol
200
-
f psp
-
muxvb
768
"
1.***
"
解释:以上命令可以在Dos命令行中输入,也可以创建到批处理文件中运行。不过,前提是:要在ffmpeg所在的目录中执行(转换君所在目录下面的cores子目录)。
参数:
-
y(覆盖输出文件,即如果1.
***
文件已经存在的话,不经提示就覆盖掉了)
-
i
"
1.avi
"
(输入文件是和ffmpeg在同一目录下的1.avi文件,可以自己加路径,改名字)
-
title
"
Test
"
(在PSP中显示的影片的标题)
-
vcodec xvid(使用XVID编码压缩视频,不能改的)
-
s 368x208(输出的分辨率为368x208,注意片源一定要是16:9的不然会变形)
-
r
29.97
(帧数,一般就用这个吧)
-
b
1500
(视频数据流量,用
-
b xxxx的指令则使用固定码率,数字随便改,1500以上没效果;还可以用动态码率如:
-
qscale 4和
-
qscale
6
,4的质量比6高)
-
acodec aac(音频编码用AAC)
-
ac
2
(声道数1或2)
-
ar
24000
(声音的采样频率,好像PSP只能支持24000Hz)
-
ab
128
(音频数据流量,一般选择32、
64
、
96
、
128
)
-
vol
200
(
200
%
的音量,自己改)
-
f psp(输出psp专用格式)
-
muxvb
768
(好像是给PSP机器识别的码率,一般选择384、512和768,我改成1500,PSP就说文件损坏了)
"
1.***
"
(输出文件名,也可以加路径改文件名)
P.S. 版主机器强劲的话,可以多开几个批处理文件,让它们并行处理。
E:ffmpeg.exe
-
i I:
1
.wmv
-
b
360
-
r
25
-
s 32
0x240
-
hq
-
deinterlace
-
ab
56
-
ar
22050
-
ac
1
D:
2
.flv
posted on 2006-10-30 19:07
三千
阅读(1071)
评论(1)
编辑
收藏
所属分类:
多媒体/设计
、
Flash技术
、
FFMPEG
、
FMS研究
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
闪存
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索
相关文章:
ASP.NET中常用的优化性能的方法(转贴,Icyer收集整理)
OO设计原则总结
avi格式播放
非常恶俗地分享一首歌曲(群星·北京欢迎你)【附视频】
请问系统中容易变化的计算公式应该怎样设计处理?
试题系统该用哪种设计模式好?
孙振耀撰文畅谈工作与生活(转贴)
欢迎具有软件设计能力的博客园园友加入!
相关链接:
所属分类的其他文章:
silverlight与Flash的技术比较[silverlight vs Flash]
(工具ffmpeg)视频转换为flv格式,视频截取图片[转贴]
AS代码2.0:针对Flash Player 7
ffplay - FFplay media player [reship]
编码人员和美工的配合问题
最新IT新闻:
MySpace推自助广告平台MyAds
Facebook创始人:信息共享或存摩尔定律
微软承认Vista用户账户控制功能有问题
资本寒冬侵袭中国视频网站 营销春天或不远
金融风暴波及全球创业板 中国概念股难独善其身
美国项目管理学会PMP。
★RIA 编程 Q群:18144801
MSN:
<
2008年10月
>
日
一
二
三
四
五
六
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的文章
我的参与
我的新闻
最新评论
我的标签
留言簿
(11)
给我留言
查看留言
我管理的小组
Flash/AS3/FMS/Flex研究
我参加的小组
web标准设计
创业交流
项目经理联盟
jQuery
程序员音乐空间
windows mobile 开发
生活杂谈
Silverlight
读书(Books)
ASP.NET
我参与的团队
上海.NET俱乐部(0/2250)
北京.NET俱乐部(0/1555)
深圳.NET俱乐部(0/1619)
Ajax&Atlas技术团队(0/1138)
ASP.NET AJAX (Atlas)学习(0/1352)
微软(西安).NET开发俱乐部(0/748)
软件项目管理团队(0/194)
我的标签
FLASH
(1)
ActionScript取小数后的几位
(1)
小数
(1)
FMS 中文帮助
(1)
下载
(1)
随笔分类
(161)
[A]. ActionScript(22)
[B]. Ajax (3)
[C]. ASP(2)
[D]. ASP.NET(12)
[E]. C#(12)
[F]. FCS/FMS研究(7)
[G]. FFMPEG(7)
[H]. FlashLite(9)
[I ]. Flash技术(32)
[J]. Flex(4)
[K]. JavaScript(7)
[L]. SQL Server(3)
[M]. XML/SOAP(3)
[N]. 程序人生(7)
[O]. 开源框架/项目(5)
[P]. 其它(19)
[Q]. 项目管理(7)
文章分类
(70)
ASP.NET(3)
C#(1)
Delphi
FFMPEG(4)
Flash技术(5)
FMS研究(3)
JavaScript(2)
SQL(6)
Web开发/ASP(3)
XML/Dhtml
电子商务
多媒体/设计(5)
其它(13)
软件工程(7)
项目管理(18)
收藏夹
(116)
网络收藏夹(116)
[Flash开发笔记] 系列
[Flash开发笔记] 系列
最新随笔
1. [Flash开发笔记] 系列
2. FMS 中文帮助 (下载)
3. [Flash开发笔记] ComboBox,List组件的二个函数
4. [Flash开发笔记] AS中保留多少位小数的函数
5. 用C#截取指定长度的中英文混合字符串 改进版
6. [Flash开发笔记]如何让Flash的swf文件在客户端不缓存
7. [FMS开发笔记]理解应用程序实例(聊天室房间的划分)
8. [Flash开发笔记] List控件--删除指定label或data的项
9. FMS如何连接FlashRemoting?(附示例源码下载)
10. 我为什么在joyo购书(2)
积分与排名
积分 - 155102
排名 - 245
最新评论
1. re: 配置 SQL Server 2005 远程调试存储过程
首先谢谢楼主的分享!! 不过楼主 是不是 忘记了写其中配置的细节了 我按你的方法做了 但还是没有能调试 希望楼主可以写清楚点 Server上要做哪些 Client上要做哪些 列出来让大家看这清楚...
--一叶舟
2. re: FMS 开发 准备
楼主能不能给我把fms2_components.zip、Flash Remoting For .Net flashremoting_components_flash8.msi给我发过来,不胜感激...
--marln
3. re: Cuyahoga 的安装
楼主,请问如何汉化?急!谢谢!
--reavic
4. re: 教你用Flash制作曲线报表图
谢谢楼主,能不能写个程序员看得懂的flash简易入门? 例如在那里找这些mc的id,还有就是命名空间,作用域等 as2,as3都要讲讲哦~~ 不过我期待as2的,因为as2太乱了...
--爱在戏院前
5. re: 把AIR update Beta 2 for Flash CS3 安装到Flash CS3 中文版
@chenzhuolin1002
:D
--三千
阅读排行榜
1. Flash上传文件(结合asp.net)(11026)
2. JavaScript 中 void(0) 的含义(3438)
3. 软件测试工程师面试题(3251)
4. 用C#截取指定长度的中英文混合字符串(3217)
5. Flash Remoting For .Net 的跨域连接问题解决~(2711)
6. 用FFmpeg从视频截取任意一帧图片的解决办法~(2631)
7. ASP.NET中把扩展名.aspx改成自定义的扩展名.mspx,如何在IIS与.net框架中配置(2616)
8. C#从视频截图的方法(2424)
9. 博客园发展,我也来谈谈(2190)
10. C#启动一个外部程序(1)-WinExec(2109)
评论排行榜
1. 博客园发展,我也来谈谈(36)
2. Flash上传文件(结合asp.net)(32)
3. FMS 开发 准备(32)
4. 大量发放msn邀请~需要的都来吧~(19)
5. 教你用Flash制作曲线报表图(18)
6. 用C#截取指定长度的中英文混合字符串(17)
7. JavaScript 中 void(0) 的含义(16)
8. 发布一个可用在Blog上的Flash Mp3 Player (也支持flv格式)(15)
9. 配置 SQL Server 2005 远程调试存储过程(14)
10. asp.net中使用基于角色role的Forms验证(13)