elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Security Series.XSS. [Cross Site Scripting]


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  ffmpeg archivos con espacio
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ffmpeg archivos con espacio  (Leído 3,912 veces)
rigorvzla

Desconectado Desconectado

Mensajes: 221


Ver Perfil
ffmpeg archivos con espacio
« en: 8 Abril 2018, 17:18 pm »

Hola muchachos, tengo un pequeño problema y es que en c# no logro colocar en la linea de argumentos las dobles comillas " " para archivos con espacio, me explico mejor.

esta es la linea para convertir archivos : "ffmpeg -i entrada.mp4 salida.mp3"

Pero cuando intento esto "ffmpeg -i entrada dos.mp4 salida.mp3" me genera un error el cual para corregirlo debo colocar, "ffmpeg -i "entrada dos.mp4" salida.mp3" y me convierte el archivo todo esto desde una ventana de "Dos".

El problema es que en C# , wpf no encuentro para hacer esta linea "ffmpeg -i "entrada dos.mp4" salida.mp3"

el codigo esta en un boton(openfiledialog)

Código:
                string entrada = "\"" + ofd.FileName + "\"";

                    System.Diagnostics.Process Conversor = new System.Diagnostics.Process();
                    Conversor.StartInfo.FileName = "ffmpeg";
                    Conversor.StartInfo.Arguments = $"-i {entrada} -b:a 320k {@"C:\"}";
                    Conversor.Start();
                    Conversor.WaitForExit();           
                    Conversor.Close();

es funcional para archivos sin espacio, espero puedan ayudarme


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: ffmpeg archivos con espacio
« Respuesta #1 en: 8 Abril 2018, 19:33 pm »

Ya estás encerrando entre comillas dobles la ruta del archivo indiferentemente de si contiene espacios en blanco o sin ellos, por ende no hay problema con respecto a eso.

Un problema real que si hay en ese código, es que no estás asignando ningún nombre ni extensión de archivo en el argumento de la ruta de destino, y eso es algo que ffmpeg no lo genera automáticamente por si solo. Si no especiicas ninguna extensión de archivo entonces ffmpeg no puede determinar un codec de audio para la extracción (ya que tampoco has especificado el nombre de ningún codec en los argumentos).

Prueba así:
Código
  1. string input =  @"C:\File.avi";
  2. string output = Path.Combine(Path.GetDirectoryName(input), Path.GetFileNameWithoutExtension(input)) + ".mp3";
  3. string args = string.Format(@"-i ""{0}"" -b:a 320k ""{1}""", input, output);
  4.  
  5. using (Process p = new Process()) {
  6.    p.StartInfo.FileName = "ffmpeg.exe";
  7.    p.StartInfo.Arguments = args;
  8.    p.Start();
  9.    p.WaitForExit(Timeout.Infinite);
  10. }

Saludos.


« Última modificación: 8 Abril 2018, 19:38 pm por Eleкtro » En línea



rigorvzla

Desconectado Desconectado

Mensajes: 221


Ver Perfil
Re: ffmpeg archivos con espacio
« Respuesta #2 en: 8 Abril 2018, 20:06 pm »

COMO SIEMPRE!!!! GRACIAS!! elektro si tenia la ruta de salida solo que cuando copie aqui el post , borre unas cosas que no estaban como debia ser y las deje mal puesta al "corregirlas" (mi error en el post) mas , mataste 2 pajaros de un tiro al darme tu respuesta incluso me di cuenta que hay planteamientos que aunque teoricamente esten bien , logicamente no es asi.

"Ya estás encerrando entre comillas dobles la ruta del archivo indiferentemente de si contiene espacios en blanco o sin ellos, por ende no hay problema con respecto a eso."

Codigo Sin Error

Código:
string destFile = Path.Combine(@"C:\", Path.GetFileNameWithoutExtension(ofd.FileName) + ".mp3");


                System.Threading.Tasks.Task.Run(() =>
                {
                    System.Diagnostics.Process Conversor = new System.Diagnostics.Process();
                    Conversor.StartInfo.FileName = "ffmpeg";
                    Conversor.StartInfo.Arguments = $"-i {ofd.FileName} -b:a 320k {destFile}";
                    Conversor.Start();
                    Conversor.WaitForExit();
                    Conversor.Close();

No es problema solo es para aclara esa duda que me surgio porfavor, nuevamente gracias por que es la solucion correcta. Gracias!

porque esto no sirvio?
Código:
  string entrada = "\"" + ofd.FileName + "\"";
« Última modificación: 8 Abril 2018, 20:09 pm por rigorvzla » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: ffmpeg archivos con espacio
« Respuesta #3 en: 8 Abril 2018, 23:07 pm »

porque esto no sirvio?
string entrada = "\"" + ofd.FileName + "\"";

No sabría decirte sin comprobar el output de FFMPEG. Pero como ya te dije no hay nada erroneo en esa linea, ahí estás encerrando una ruta absoluta entre comillas dobles, y la estás insertando con comillas dobles cuando asignas los argumentos en la propiedad 'Conversor.StartInfo.Arguments'. Por eso te digo que el error que tuvieras no está relacionado con rutas con espacios en blanco; el código que mostraste debería funcionarte bien, siempre y cuando le asignases una ruta absoluta en el argumento de destino en vez de poner solamente "C:\".

saludos
« Última modificación: 8 Abril 2018, 23:13 pm por Eleкtro » En línea



Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Problema con FFMPEG+PHP
PHP
skdna 0 1,642 Último mensaje 21 Mayo 2010, 23:57 pm
por skdna
App.net ahora permite subir archivos, te da 10GB de espacio
Noticias
wolfbcn 0 1,362 Último mensaje 29 Enero 2013, 02:18 am
por wolfbcn
Optimiza el uso de espacio en disco del “Historial de archivos” en Windows 10
Noticias
wolfbcn 0 1,770 Último mensaje 10 Julio 2016, 02:31 am
por wolfbcn
Files Go ya disponible: libera espacio y controla tus archivos en Android
Noticias
wolfbcn 0 2,788 Último mensaje 5 Diciembre 2017, 14:13 pm
por wolfbcn
problema (duda) al guardar un espacio en archivos c++
Programación C/C++
Pancho_Ibarra 0 2,191 Último mensaje 6 Diciembre 2017, 04:46 am
por Pancho_Ibarra
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines