C# 使用ffmpeg.exe进行音频转换完整demo-asp.net转换代码
上一篇说了在winform下进行调用cmd.exe执行ffmpeg.exe进行音频转换完整demo.后来我又需要移植这个方式到asp.net中,但是asp.net和winform程序有很多不同。
需要修改WavConvertToAmr的方法,支持asp.net
1、WavConvertToAmr修改执行权限:如果在windows server中可能会遇到权限问题,需要配置IIS权限:
先从IIS中找到你的网站,在右键--【属性】中看看使用的应用程序池是哪个,然后【在应用程序池】目录下找到它,右键---【属性】
找到【标识】选项卡,再找到【预定义账户】,在后边的下拉菜单中选择“本地系统”就可以了!
这样一来,你的网站就可以随心所欲的执行cmd命令了,其实不仅仅是执行cmd命令,简直是至高无上的权限!
提醒一下,这样更改的是应用程序池权限,因此所有使用这个应用程序池的网站都有很高的权限,这是相当危险的,还须谨慎使用!!
这个方法存在危险,也通过设置执行的用户名和密码来设置:
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
32
33
34
35
36
37
38
39
40
41
42
|
/// <summary>
/// 执行Cmd命令
/// </summary>
private string Cmd( string c)
{
try
{
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.FileName = "cmd.exe" ;
process.StartInfo.UseShellExecute = false ;
process.StartInfo.CreateNoWindow = true ;
process.StartInfo.UserName = "user" ;
//构造用户密码,假定密码为123,必须一个字符一个字符的添加
System.Security.SecureString password = new System.Security.SecureString();
password.AppendChar( 'p' );
password.AppendChar( 'a' );
password.AppendChar( 's' );
password.AppendChar( 's' );
process.StartInfo.Password = password;
process.StartInfo.RedirectStandardInput = true ;
process.StartInfo.RedirectStandardOutput = true ;
process.StartInfo.RedirectStandardError = true ;
process.Start();
process.StandardInput.WriteLine(c);
process.StandardInput.AutoFlush = true ;
Thread.Sleep(1000);
process.StandardInput.WriteLine( "exit" );
process.WaitForExit();
//StreamReader reader = process.StandardOutput;//截取输出流
string outStr = process.StandardOutput.ReadToEnd();
process.Close();
return outStr;
}
catch (Exception ex)
{
return "error" +ex.Message;
}
}
|
注意:构造用户密码,假定密码为123,必须一个字符一个字符的添加 !
2、在asp.net中调用方式:
1
2
3
4
5
6
7
8
|
protected void Button1_Click( object sender, EventArgs e)
{
string fileName = "d:\\2222.amr" ;
string targetFileName = "d:\\2222.mp3" ;
WavConvertAmr.WavConvertToAmr toamr = new WavConvertAmr.WavConvertToAmr();
string remsg = toamr.ConvertToAmr(Server.MapPath( "./ffmpeg/" ), fileName, targetFileName);
}
|
将ffmpeg.exe放在网站的目录ffmpeg的下面
在asp.net要注意ffmepg的路径:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
./当前目录 /网站主目录 ../上层目录 ~/网站虚拟目录 如果当前的网站目录为E:\wwwroot 应用程序虚拟目录为E:\wwwroot\company 浏览的页面路径为E:\wwwroot\company\news\show.asp
在show.asp页面中使用 Server.MapPath( "./" ) 返回路径为:E:\wwwroot\company\news
Server.MapPath( "/" ) 返回路径为:E:\wwwroot
Server.MapPath( "../" ) 返回路径为:E:\wwwroot\company
Server.MapPath( "~/" ) 返回路径为:E:\wwwroot\company
server.MapPath(request.ServerVariables( "Path_Info" ))
Request.ServerVariables( "Path_Translated" )
上面两种方式返回路径为 D:\wwwroot\company\news\show.asp
|
转载网址:
http://www. suxxxxxxxxchso.com/projecteactual/csharp-ffmpeg-demo-mp3-amr-mp4-asp.net.html
C# 使用ffmpeg.exe进行音频转换完整demo-asp.net转换代码的更多相关文章
-
C# 使用ffmpeg.exe进行音频转换完整demo
今天在处理微信的开发接口时候,发现微信多媒体上传接口中返回的音频格式是amr.坑人的是现在大部分的web 播放器,不支持amr的格式播放.试了很多方法都不行. 没办法,只要找一个妥协的解决方案:将am ...
-
.net 使用ffmpeg.exe进行音频转码
#region 音频转换 private int AudioIntervalTime = 100, iAudio = 0; private string strPath = "D:\\web ...
-
C++调用ffmpeg.exe提取视频帧
有时候,我们获得一段视频,需要将其中的每一帧都提取出来,来进行一些相关的处理,这时候我们就可以需要用到ffmpeg.exe来进行视频帧的提取. ffmpeg简介:FFmpeg是一套可以用来记录.转换数 ...
-
FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg
一.简述 ffmpeg是一个非常强大的工具,它可以转换任何格式的媒体文件,并且还可以用自己的AudioFilter以及VideoFilter进行处理和编辑.有了它,我们就可以对媒体文件做很多我们想做的 ...
-
使用ffmpeg.exe进行转码参数说明
使用ffmpeg.exe进行转码参数说明 摘自:https://blog.csdn.net/coloriy/article/details/47337641 2015年08月07日 13:04:32 ...
-
ffmpeg.exe dos下怎么用 放在哪里
系统:windows 7 1.先看dos界面,win7下这里输入cmd, 看路径 2.把下载的ffmpeg.exe复制到这个路径下 3.这就可以用命令了 1.mp4说明这个文件是跟ffmpeg.ex ...
-
最简单的基于FFMPEG+SDL的音频播放器 ver2 (采用SDL2.0)
===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...
-
最简单的基于FFMPEG+SDL的音频播放器 ver2 (採用SDL2.0)
===================================================== 最简单的基于FFmpeg的音频播放器系列文章列表: <最简单的基于FFMPEG+SDL ...
-
[原]通过配合ffmpeg.exe获取视频文件时长
import subprocess import os import time def getTime(flvpath,fid): #file_str = '1.flv' file_str = flv ...
随机推荐
-
psql-08表:触发器
语句级触发器与行为触发器 //创建一个对student表的操作记录表 create table log( update_time timestamp, //操作时间 db_user varchar(4 ...
-
【XLL 框架库函数】 InitFramework
初始化框架库,它是简单的初始化临时 XLOPER/XLOPER12 内存结构,释放任何已经分配的内存. short WINAPI InitFramework(void); 参数 这个函数没有参数 备注 ...
-
使用idea Live Template实现eclipse syso自动提示代码功能
转载:http://blog.sina.com.cn/s/blog_4c4195e70102wh7e.html 具体步骤: 1.点击File-->Setting-->Live Templa ...
-
CentOS 6.2 安装vsftpd 服务器(转)
CentOS 6.2 安装vsftpd 服务器 本人的CentOS 6.2是安装在win 2008 R2 server 的 Hyper-V 虚拟机中.centos使用光盘安装,以最小模式安装,完成后用 ...
-
requests补充
HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT 这几种.其中,POST 一般用来向服务端提交数据,本文 ...
-
function CONVERSION_EXIT ****INPUT/OUTPUT说明
CONVERSION_EXIT_ALPHA_INPUT和CONVERSION_EXIT_ALPHA_OUTPUT 函数说明 CONVERSION_EXIT_MATN1_INPUT 物料号码转换函数 C ...
-
linux安装node简单方法
1.去官网下载和自己系统匹配的文件: 英文网址:https://nodejs.org/en/download/ 中文网址:http://nodejs.cn/download/ 通过 uname -a ...
-
MySQL配置版下载安装、配置与使用(win7x64)
http://jingyan.baidu.com/article/597035521d5de28fc00740e6.html
-
算法笔记_223:打印回型嵌套(Java)
目录 1 问题描述 2 解决方案 1 问题描述 *********** * * * ******* * * * * * * * *** * * * * * * * * * * *** * * * ...
-
js验证开头不为零的正整数
WST.zhengZhengShuIn = function (className){ var rex = /^[1-9]{1}[0-9]*$/;//正整数 $("."+class ...