• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >ASP.NET > 在ASP.Net中实现flv视频转换的代码

在ASP.Net中实现flv视频转换的代码

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了asp.net,北京asp.net编程,免费asp.net空间,csdn asp.net,asp net培训等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
实际上是利用.Net中的Process对象来实现的。
   string str=@"d:\test.avi  d:\test_allen.flv";
   RunFFMpeg(str);



   //运行FFMpeg的视频解码,
   public void RunFFMpeg(string strCmd)
   {
       //创建并启动一个新进程
       Process p = new Process();
       //设置进程启动信息属性StartInfo,这是ProcessStartInfo类,包括了一些属性和方法:
       p.StartInfo.FileName = "ffmpeg.exe";           //程序名
       p.StartInfo.Arguments = " -i " + strCmd;    //执行参数
       p.Start();
   }

   //运行Cmd.exe执行Dos 命令,并返回执行结果 
   public string RunCmd(string command)
   {
       //创建并启动一个对进程
       Process p = new Process();

       //Process类有一个StartInfo属性,这是ProcessStartInfo类,包括了一些属性和方法,例如:
       p.StartInfo.FileName = "cmd.exe";           //程序名
       p.StartInfo.Arguments = " /c " + command;    //执行参数
       p.StartInfo.UseShellExecute = false;        //关闭Shell的使用
       p.StartInfo.RedirectStandardInput = true;   //重定向标准输入
       p.StartInfo.RedirectStandardOutput = true;  //重定向标准输出
       p.StartInfo.RedirectStandardError = true;   //重定向错误输出
       p.StartInfo.CreateNoWindow = true;          //设置不显示窗口

       p.Start(); 
       //p.StandardInput.WriteLine(command);       //也可以用這種方式輸入要執行的命令
       //p.StandardInput.WriteLine("exit");        //不過要記得加上Exit要不然下一行程式執行的時候會當機

       //必须创建可以自动转换完成以后,结束进程的代码
       return p.StandardOutput.ReadToEnd();        //從輸出流取得命令執行結果
   }



------------------------------------
另一种方法: 用MEncoder转换视频文件为Flv 

mencoder 转换视频注意事项


1、下载 mencoder.exe 和 mplayer.exe 
2、将mencoder.exe 所在文件夹,加入环境变量Path里面 ,如C:\mplayer
3、微软键+R,输入cmd,命令行打入如下语法
mencoder d:\test.avi -o d:\testflv.flv -of lavf  -lavfopts i_certify_that_my_video_stream_does_not_use_b_frames -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=100:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050

语法说明:
mencoder d:\test.avi -o d:\testflv.flv   //将D:\test.avi 输出到 d:\testflv.flv, 参数 -o 代表输出路径
-of lavf    //参数 -of :输出文件的格式,flv文件是属于lavf格式
-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames    //lavf格式的参数设置,对于转换flv格式,最好加上这个长句。意思是不用bframes。

-oac mp3lame   //输出音频编码器,这里用的mp3lame
-lameopts abr:br=56   //是专门针对mp3lame的参数设置,abr:br=56,是设置音频比特率为56

-ovc lavc  //输出视频编码器



//视频编码器的设置:
-lavcopts 

vcodec=flv:    //指定视频编码器为flv
vbitrate=500:  //指定视频比特率为500 ,低品质为150kb/s,中等品质为400kb/s,高品质为700kb/s
mbd=2:         //宏模块选择算法,值为0~2默认为0,值越大转换越缓慢,但在品质和文件大小方面有好处
mv0:           //编译每个宏模块并选择最好的一个,当mbd=0时无效;
trell:         //会稍微增加品质,mbd>0时效果更明显;
v4mv:          //量子化网格搜索,对每8×8block找到最优化编码
cbp:           //只能和trell一期使用,评估失真的图像块编码;
last_pred=3:   //与上一帧相比的移动数量预测,值为0~99,1~3比较合适,大于3时对品质的提高已经无关紧要,但却会降低速度;
dia=4:         //移动搜索范围,值为-99~6,对于快速转换,-1是个不错的值,如果不是很重视速度,可以考虑2~4;
cmp=6:         //值为1~2000,默认为0,设置用于全象素移动预算的比较函数
vb_strategy=1  //对动作很大的场景会有帮助,对有些视频,设置vmax_b_frames会有损品质,加上vb_strategy=1会好点。

//mencoder的参数
-vf scale=512:-3   //-vf表示视频格式scale是缩放,512:-3表示强制将宽度设置为512,高度写为-3表示保持高宽比,也可以设置为-1或-2,
-ofps 12            /*输出视频的帧频,一般,用于flash播放的视频帧频高了没有意义,反而会增加视频文件大小,但如果ofps设置的不合适,
                          比如源视频帧频不是ofps的整数倍,可能会导致转换后的视频、音频不同步,
                          似乎可以将这一参数改为-noskip来解决这一问题;*/

-srate 22050      //音频采样率一般为22050或44100。



----------------------------------------------------------

Mencoder中文参考手册地址 

http://www.mplayerhq.hu/DOCS/HTML/zh_CN/ 


----------------------------------------------------------

参数说明: 

-srate 32000 : //声音采样率,22050hz 
-af channels=2:2:1:0:1:1 //右声道 
-af channels=2:2:0:0:0:1 //左声道 
-stereo 0 //立体声 
-oac mp3lame : //输出音频使用mp3编码 
-lameopts mode=2:cbr:br=32 : //码率br=32 kbit 
-ovc xvid -xvidencopts bitrate=200 : //以xvid方式编码,码率200kbps (经实验,目前divx比xvid要快,在使用vhq功能时会稍稍影响速度) 

-vf scale=480:-3 -sws 9 : //变换至480像素宽,高度按比例缩放 

"C:\dance.avi" -o "C:\dance.XviD.avi" //源文件地址 -o到 输出文件地址 

2> 2.txt : //编码日志记录地址 




-
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Asp.net SignalR 应用并实现群聊功能 开源代码
  • asp.net动态更新
  • asp.net利用母版制作页脚效果
  • Asp.Net服务器发送HTTP标头后无法设置内容类型的问题解决
  • 使用asp.net mvc,boostrap及knockout.js开发微信自定义菜单编辑工具(推荐)
  • 详解ASP.NET MVC 常用扩展点:过滤器、模型绑定
  • ASP.NET Core发送邮件的方法
  • 在ASP.NET Core 中发送邮件的实现方法(必看篇)
  • ASP.NET MVC从视图传参到控制器的几种形式
  • Asp.net core WebApi 使用Swagger生成帮助页实例

相关文章

  • 2017-05-11Asp.net SignalR创建实时聊天应用程序
  • 2017-05-11获取远程网页的内容之一(downmoon原创)
  • 2017-05-11asp.net下实现输入数字的冒泡排序
  • 2017-05-11在ASP.NET 2.0中操作数据之五十:为GridView控件添加Checkbox
  • 2017-05-11C#.NET发送邮件的实例代码
  • 2017-05-11C#中HTML字符转换函数分享
  • 2017-05-11js实现网页防止被iframe框架嵌套及几种location.href的区别
  • 2017-05-11asp.net利用cookie保存用户密码实现自动登录的方法
  • 2017-05-11c# 读取文件内容存放到int数组 array.txt
  • 2017-05-11Asp.Net网站优化系列之数据库的优化措施与索引优化方法

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#开发微信 二维码鼠标滑动 图像显示隐藏效果(推荐)
    • ASP.NET实现个人信息注册页面并跳转显示
    • JS实现完美include加载功能代码
    • 提交页面的定位--scrollIntoView的用法
    • ajaxToolkit:AccordionPane演示与应用实例
    • .net WCF简单实例详解(5)
    • asp.net 读取xml文件里面的内容,绑定到dropdownlist中
    • asp.net 获取系统中参数的实现代码
    • ASP.NET AJAX 4.0的模版编程(Template Programming)介绍
    • aspx实现的 jquery ui 的 flexgrid demo

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有