ffmpeg c# asp.net ayuda en ProcessStartInfo

Escribí el código para convertir el archivo en c#asp.net usando ffmpeg. Mientras se ejecuta, muestra un error como "El nombre del archivo, el nombre del directorio o la sintaxis de la etiqueta del volumen es incorrecta", pero mis rutas son correctas. Entonces, ¿cuál es la solución para esto?

ProcessStartInfo info = new ProcessStartInfo("e:\ffmpeg\bin\ffmpeg.exe", "-i cars1.flv -same_quant intermediate1.mpg");

process.Start();

Probé de otra manera como se muestra a continuación. Pero eso tampoco funcionará.

ProcessStartInfo info = new ProcessStartInfo("ffmpeg.exe", "-i cars1.flv -same_quant intermediate1.mpg");

Ayúdenme con el código de muestra para convertir un formato de archivo de video a otro usando ffmpeg en c# asp.net. Gracias por adelantado.

preguntado el 03 de mayo de 12 a las 13:05

3 Respuestas

Hay una biblioteca de contenedores disponible

http://www.ffmpeg-csharp.com/

Consulte también

http://www.codeproject.com/Articles/24995/FFMPEG-using-ASP-NET

https://stackoverflow.com/questions/tagged/asp.net+c%23+video

    string apppath = Request.PhysicalApplicationPath; 

    string outf = Server.MapPath(".");

    string fileargs = "-i" + " " + "\"C:/file.mp4 \"" + " " + "\"C:/files/test.flv \"";

    Process myProcess = new Process();

    myProcess.StartInfo.FileName = Server.MapPath(".")+"//ffmpeg.exe";

    myProcess.StartInfo.Arguments = fileargs;

    myProcess.StartInfo.UseShellExecute = false;

    myProcess.StartInfo.CreateNoWindow = false;

    myProcess.StartInfo.RedirectStandardOutput = false;

    myProcess.Start();

    myProcess.WaitForExit(50 * 1000);

Muchas Gracias

Deepu

contestado el 23 de mayo de 17 a las 12:05

Las barras invertidas (\) en su camino se considera que comienzan secuencias de escape. Para evitar esto, utilice barras invertidas dobles (\\), o prefije la cadena con @.

ProcessStartInfo info = new ProcessStartInfo("e:\\ffmpeg\\bin\\ffmpeg.exe", 
                         "-i cars1.flv -same_quant intermediate1.mpg");

o:

ProcessStartInfo info = new ProcessStartInfo(@"e:\ffmpeg\bin\ffmpeg.exe", 
                         "-i cars1.flv -same_quant intermediate1.mpg");

contestado el 03 de mayo de 12 a las 13:05

Sí... problema resuelto. gracias amigo Pero necesito más ayuda amigo. - Arun Kumar

Ahora mi excepción contiene el siguiente mensaje "StandardOut no ha sido redirigido o el proceso aún no ha comenzado". - Arun Kumar

Debe tener barras invertidas en su ruta, vea a continuación, así es como creo videos usando ffmpeg.exe

        string sConverterPath = @"C:\ffmpeg.exe";
        string sConverterArguments = @" -i ";
        sConverterArguments += "\"" + sAVIFile + "\"";
        sConverterArguments += " -s " + iVideoWidth.ToString() + "x" + iVideoHeight.ToString() + " ";
        sConverterArguments += " -b " + iVideoBitRate.ToString() + "k -ab " + iAudioBitRate.ToString() + "k -ac 1 -ar 44100 -r 24 -absf remove_extra ";
        sConverterArguments += "\"" + sOutputFile + "\"";


        Process oProcess = new Process();
        oProcess.StartInfo.UseShellExecute = true;
        oProcess.StartInfo.Arguments = sConverterArguments;
        oProcess.StartInfo.FileName = sConverterPath;

contestado el 03 de mayo de 12 a las 13:05

Por favor vea mi otra pregunta en ffmpeg. Publico todo el código. Dime cuáles son los cambios. - Arun Kumar

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.