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


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Mensajes
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23
131  Programación / Programación General / ffmpeg Consult a(1) en: 15 Abril 2018, 07:30 am
Buenas noches amigos, estoy con una consulta y espero puedan ayudarme como en ocasiones anteriores, que mas que eso han sido respuestas con un gran valir educativo.

El asunto es el siguiente, usando el programa ffmpeg eh hecho muchas cosas y en este caso el poder capturar el sonido del microfono y la pantalla del escritorio en un video.
Este codigo es totalmente funcional, el unico detalle es que el video va a una velocidad muy rapida no acorde a la voz del microfono asi que no se reproduce como debe ser se corta antes de  tiempo, eh buscado mucho y no eh encontrado nada relacionado a eso, espero alguien pueda ayudarme.

Código:
    string input = "salida";
            string audio = Settings.Default.micDefault;
            string destFile = Path.Combine(Settings.Default.directorioVideo, Path.GetFileNameWithoutExtension(input) + ".mp4");
            string args = string.Format(@"-y -rtbufsize 200M -f gdigrab -thread_queue_size 1024 -probesize 10M -r 30 -draw_mouse 1 -i desktop -f dshow -channel_layout stereo -thread_queue_size 1024 -i audio=""{0}"" -c:v libx264 -r 30 -preset ultrafast -tune zerolatency -crf 25 -pix_fmt yuv420p -c:a aac -strict -2 -ac 2 -b:a 128k  ""{1}", audio, destFile);

            System.Threading.Tasks.Task.Run(() =>
            {
                System.Diagnostics.Process Conversor = new System.Diagnostics.Process();
                Conversor.StartInfo.FileName = "ffmpeg";
                Conversor.StartInfo.Arguments = args;
                Conversor.Start();
                Conversor.WaitForExit();
                Conversor.Close();
            });

Nota: Como un extra , si alguien sabe como bajar el peso del archivo seria fantastico ya que con solo 2 segundos ya son 2 Mb aproximadamente... (muy alto).

Nota 2 : La  Settings.Default.micDefault; es donde se guarda un microfono (nombre exactamente)

Settings.Default.directorioVideo; Ruta de salida odnde se guarda el archivo.

Muchas Gracias
132  Programación / .NET (C#, VB.NET, ASP) / Re: ffmpeg archivos con espacio 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 + "\"";
133  Programación / .NET (C#, VB.NET, ASP) / 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
134  Programación / .NET (C#, VB.NET, ASP) / Re: SevenZip Acceso Denegado en: 29 Marzo 2018, 15:31 pm
Gracias me pondrea  ello, esta madrugada la falta de sueño no me ayudaba a organizar las ideas jaja
135  Programación / .NET (C#, VB.NET, ASP) / Re: SevenZip Acceso Denegado en: 29 Marzo 2018, 08:07 am
gracias elektro, correccion uso es "SevenZipSharp" me acabo de serciorar y es la ultima actualmente... solucione el asunto pero aun hay unos extraños, resulta que los metodos de comprimir no me los dirige a donde yo pido , pero si los comprime en la misma carpeta y con el nombre que tiene el archivo, esto es algo bueno a pesar que no lo planeaba asi, y el de comprimir si esta bien osea donde yo pido se descomprime... el unico detalle es q no crea un subdirectorio y complica un poco las cosas por que esparece los archivos por donde esta, este detalle si seria bueno que me indicaras por que ni idea y eso que busque... por cierto gracias nuevamente elektro por que ya hoy dia entiendo el primer post que hice y en el cual me ayudaste.

Mas en ese momento no entendi
136  Programación / .NET (C#, VB.NET, ASP) / SevenZip Acceso Denegado en: 29 Marzo 2018, 05:21 am
Buenas noches amigos, eh estado trabajando con la libreria SevenZip y me ah resultado tremenda, cree mi proyecto para probar el codigo aparte y me funciono de maravilla pero a la hora de aplicarlo a mi codigo base me da un error que no le encuentro razon de ser y me gustaria otras opiniones.

Este es el codigo de mi proyecto independiente.
Código
  1. public void sevenZipCompresorD()
  2.        {
  3.            System.Threading.Tasks.Task.Run(() =>
  4.            {
  5.                System.Windows.Forms.FolderBrowserDialog ofd = new System.Windows.Forms.FolderBrowserDialog();
  6.                ofd.Description = "Seleccione la carpeta a comprimir";
  7.                ofd.RootFolder = Environment.SpecialFolder.Desktop;
  8.  
  9.                Dispatcher.Invoke(() =>
  10.                {
  11.  
  12.                    if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  13.                    {
  14.                        string folderToZip = ofd.SelectedPath;
  15.  
  16.                        System.Threading.Tasks.Task.Run(() =>
  17.                        {
  18.                            var tmp = new SevenZipCompressor();
  19.                            tmp.ArchiveFormat = OutArchiveFormat.SevenZip;
  20.                            tmp.CompressionMethod = CompressionMethod.Lzma;
  21.                            tmp.CompressionLevel = CompressionLevel.Ultra;
  22.                                tmp.FileCompressionStarted += (s, e) =>
  23.                                {
  24.                                    Dispatcher.Invoke(() => lblPorcentage.Content = (String.Format("Comprimiendo... [{0}%] {1}",
  25.                                        e.PercentDone, e.FileName)));
  26.                                };
  27.                            tmp.CompressionFinished += (s, e) => { Dispatcher.Invoke(() => lblPorcentage.Content = ("Finished!")); };
  28.                            tmp.CompressDirectory(folderToZip, @"test.7z");
  29.                        });
  30.                    }
  31.                });
  32.            });
  33.        }
  34.  
  35.        private void SevenZipCompresorA()
  36.        {
  37.            System.Threading.Tasks.Task.Run(() =>
  38.            {
  39.                Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog();
  40.            ofd.Title = "Archivos a Comprimir";
  41.            ofd.Filter = "Archivos a Comprimir|*.*";
  42.            ofd.Multiselect = true;
  43.            if ((ofd.ShowDialog() == true))
  44.            {
  45.                //StreamWriter sw = new StreamWriter("listfile.lst");
  46.                //foreach (string n in ofd.FileNames)
  47.                //{
  48.                //    sw.WriteLine(n);
  49.                //}
  50.                //sw.Close();
  51.  
  52.                System.Threading.Tasks.Task.Run(() =>
  53.                {
  54.                    var tmp = new SevenZipCompressor();
  55.                    tmp.ArchiveFormat = OutArchiveFormat.SevenZip;
  56.                    tmp.CompressionMethod = CompressionMethod.Lzma;
  57.                    tmp.CompressionLevel = CompressionLevel.Ultra;
  58.                    tmp.FileCompressionStarted += (s, e) =>
  59.                    {
  60.                        Dispatcher.Invoke(() => lblPorcentage.Content = (String.Format("Comprimiendo... [{0}%] {1}",
  61.                            e.PercentDone, e.FileName)));
  62.                    };
  63.                    tmp.CompressionFinished += (s, e) => { Dispatcher.Invoke(() => lblPorcentage.Content = ("Finished!")); };
  64.                    tmp.CompressFiles(@"test.7z", ofd.FileName);
  65.                });
  66.  
  67.            }
  68.            });
  69.        }
  70.  

Aclaro ambos funcionan de manera exitosa y pueden probarlo.

este es el codigo de mi proyecto base.
Código
  1. public void metodoDirectorio()
  2.        {
  3.  
  4.            SpeechSynthesizer habla = new SpeechSynthesizer();
  5.            AvisoVisual aviso = new AvisoVisual();
  6.            aviso.Top = 1;
  7.            aviso.Left = 600;
  8.            aviso.Visibility = Visibility.Visible;
  9.  
  10.            System.Threading.Tasks.Task.Run(() =>
  11.            {
  12.                System.Windows.Forms.FolderBrowserDialog ofd = new System.Windows.Forms.FolderBrowserDialog();
  13.                ofd.Description = "Seleccione la carpeta a comprimir";
  14.                ofd.RootFolder = Environment.SpecialFolder.Desktop;
  15.  
  16.                Dispatcher.Invoke(() =>
  17.                {
  18.                    if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
  19.                    {
  20.                        string folderToZip = ofd.SelectedPath;
  21.  
  22.                        System.Threading.Tasks.Task.Run(() =>
  23.                        {
  24.                            var tmp = new SevenZipCompressor();
  25.                            tmp.ArchiveFormat = OutArchiveFormat.SevenZip;
  26.                            tmp.CompressionMethod = CompressionMethod.Lzma;
  27.                            tmp.CompressionLevel = CompressionLevel.Ultra;
  28.                            tmp.FileCompressionStarted += (s, e) =>
  29.                            {
  30.                                Dispatcher.Invoke(() => aviso.Content = (String.Format("Comprimiendo... [{0}%] {1}",
  31.                                    e.PercentDone, e.FileName)));
  32.                            };
  33.                            tmp.CompressionFinished += (s, e) => Dispatcher.Invoke(() => aviso.Close());
  34.                            tmp.CompressDirectory(folderToZip, File.Create(Settings.Default.directorioComprimidos));
  35.                        });
  36.                    }
  37.                    else
  38.                    {
  39.                        aviso.Close();
  40.                    }
  41.                });
  42.            });            
  43.        }
  44.        public void metodoArchivo()
  45.        {
  46.            AvisoVisual aviso = new AvisoVisual();
  47.            aviso.Top = 1;
  48.            aviso.Left = 600;
  49.            aviso.Visibility = Visibility.Visible;
  50.  
  51.            System.Threading.Tasks.Task.Run(() =>
  52.            {
  53.                Microsoft.Win32.OpenFileDialog ofd = new Microsoft.Win32.OpenFileDialog();
  54.                ofd.Title = "Archivos a Comprimir";
  55.                ofd.Filter = "Archivos a Comprimir|*.*";
  56.                ofd.Multiselect = true;
  57.                if ((ofd.ShowDialog() == true))
  58.                {
  59.                    System.Threading.Tasks.Task.Run(() =>
  60.                    {
  61.                        var tmp = new SevenZipCompressor();
  62.                        tmp.ArchiveFormat = OutArchiveFormat.SevenZip;
  63.                        tmp.CompressionMethod = CompressionMethod.Lzma;
  64.                        tmp.CompressionLevel = CompressionLevel.Ultra;
  65.  
  66.                        tmp.FileCompressionStarted += (s, e) =>
  67.                        {
  68.                            Dispatcher.Invoke(() => aviso.Content = (String.Format("Comprimiendo... [{0}%] {1}",
  69.                                e.PercentDone, e.FileName)));
  70.                        };
  71.                        tmp.CompressionFinished += (s, e) => { Dispatcher.Invoke(() => aviso.Close()); };
  72.                        tmp.CompressFiles(Settings.Default.directorioComprimidos, ofd.FileName);
  73.                    });
  74.                }
  75.                else
  76.                {
  77.                    Dispatcher.Invoke(() => aviso.Close());
  78.                }
  79.            });            
  80.        }
  81.  

como se podran fijar la unica diferencia es el cambio de direccion en la parte de salida del archivo.

El error del codigo 2 es: "acceso denegado a la ruta de acceso 'C:\'.' en realidad a la ruta que le ponga da ese error y no enteindo ni se por que, espero pueda alguien ayudarme.

PD. Despues de buscar solucion ahora me envia el archivo a el lugar que quiera pero sin nombre alguno y eso asigno un nombre.
137  Programación / .NET (C#, VB.NET, ASP) / Mostrar Valor Slider en Label en: 10 Marzo 2018, 03:13 am
Buenas noches amigos, me gustaria que me opinaran en algo simple que no le encuentro solucion.

Eh creado un Slider para a mi aplicacion poder cambiar su opacidad, el valor se guarda en una settings, y no hay problema, pero quice que el valor a medida que uno lo cambia se mostrara en un label y es aqui donde eh fallado no encuentro como.

Lo que inicial mente logre es mostrar en la carga inicial del programa el valor que esta en el momento actual guardado en la setting.

Código:
        private void Window_Activated(object sender, EventArgs e)
        {
            lblOpaValor.Content = Settings.Default.opacidad;           
        }

mas no poder mostrar el valor a medida que uno lo cambie.

Intente asi pero falle entro otras muchas formas y nada.
Código:
        private void sldOpa_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {
            double valorOpacidad = e.NewValue;
            lblOpaValor.Content = valorOpacidad.ToString();
        }

Agradeceria sus ayudas , gracias por el tiempo.
138  Programación / .NET (C#, VB.NET, ASP) / Re: Foreach en SpeechRecognizer en: 18 Febrero 2018, 22:57 pm
si pero no funciona por lo siguiente, inicialmente carga el microfono que tiene por default el sistema operativo, y asi se queda, la cosa es que al yo seleccionar el del combobox , deberia cargar ese microfono pero para eso, se debe cancelar el que ya se cargo y volver a cargar el "nuevo" . Pienso que es asi mas , en caso que fuera asi no se como lograrlo.

Gracias por la respuesta y espero puedas ayudarme
139  Programación / .NET (C#, VB.NET, ASP) / Foreach en SpeechRecognizer en: 10 Febrero 2018, 11:52 am
utilizo el SpeechRecognitionEngine
con el la propiedad de "SetInputToDefaultAudioDevice" necesito que me ayuden a realizar una busqueda de los microfonos activos por medio de un foreach
aqui muestro dos metodos con los que me resulta la obtencion de los dispositivos pero ninguno resulta al yo seleccionar el microfono no me lo cambia, algo falta pero no se que es, segun es recargar el SetInputToDefaultAudioDevice luego de un Disposed pero no se como hacerlo.

 
Código:
 private void CargaMicro()
        {
            ManagementObjectSearcher mo = new ManagementObjectSearcher("select * from Win32_SoundDevice");

            foreach (ManagementObject soundDevice in mo.Get())
            {
                //Console.WriteLine(soundDevice.GetPropertyValue("DeviceId"));
                //Console.WriteLine(soundDevice.GetPropertyValue("Manufacturer"));
                mic.Items.Add(soundDevice.GetPropertyValue("Name"));              
            }
            //MMDeviceEnumerator names = new MMDeviceEnumerator();
            //var devices = names.EnumerateAudioEndPoints(DataFlow.Capture, DeviceState.Active);
            //foreach (var device in devices)
            //{
            //    mic.Items.Add(device.FriendlyName);
            //}
        }
ya que por defecto me toma el microfono predeterminado, espero puedan ayudarme, estoy usando estos codigos ambos me dan en el combobox la lista de los dispositivoos de captura de sonido, pero no encuentro la forma que al yo seleccionarlo funcionen

antes de eso cargo este metodo

Código:
 private void ActivarEscucha()
        {
            escucha.SetInputToDefaultAudioDevice();
            escucha.RecognizeAsync(RecognizeMode.Multiple);
            escucha.SpeechRecognized += Escucha_SpeechRecognized;
            escucha.AudioLevelUpdated += Escucha_AudioLevelUpdated;
        }
140  Programación / .NET (C#, VB.NET, ASP) / Re: Problema con PromptBuilder en: 4 Febrero 2018, 04:32 am
Gracias elektro, partire de ahi entonces, creia que seria mas simple asi como lo mensionaste, asi como escribir en un txtbox pero al parecer es mas laborioso, investigare al respecto.
Páginas: 1 2 3 4 5 6 7 8 9 10 11 12 13 [14] 15 16 17 18 19 20 21 22 23
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines