Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Portada » Foros Linux » Ocio y recreación » Vídeos


Nuevo tema Responder al tema
 [ 6 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Ancestral
Forista Ancestral
Avatar de Usuario

Registrado: Mié Ago 11, 2010 10:32 am
Mensajes: 3176
Ubicación: Oviedo-es_ES

Nota Publicado: Mar May 15, 2018 3:24 pm 
Arriba  
una pregunta, que es una tontería, y más bien relacionada con conocimientos de programación... pero quie me daba verguenza poner ahí. A ver si lo explico bien...
a) Resulta que me he descargado un montón de videos, desde Youtube (una serie completa, de TV). Están en formato *.webm, y los quiero tener en formato *.avi (para poderlos meter en un pendrive y verlos en la tele)

b) los nombres de los videos son:
01-nombre muy largo1.webm
02-nombre muy largo2.webm
(etc, hasta 30)

c) yo quiero recodificar por consola, con ffmpeg, mediante este comando
Código:
ffmpeg -i nombrevideo.webm -vcodec mpeg4 -q:v 0 -acodec libmp3lame nombrevideo.avi

y, naturalmente, es un coñazo hacerlo uno a uno

d) para hacerlo más sencillo, se me ha ocurrido emplear comodines y el mandado &&, y me lo monto así (que es sencillo, con copy-pastes y pequeños cambios)
Código:
ffmpeg -i 01*.webm -vcodec mpeg4 -q:v 0 -acodec libmp3lame 01*.avi && ffmpeg -i 02*.webm -vcodec mpeg4 -q:v 0 -acodec libmp3lame 02*.avi && ffmpeg -i 03*.webm -vcodec mpeg4 -q:v 0 -acodec libmp3lame 03*.avi && (etc)

y ya copiaré&pegaré, después, los nombres de los archivos *.avi creados.

Pero se me ocurre que es un procedimiento simple (y útil, porque facilita el tema), pero de 'inexperto total en programación' y, por aquello de aprender, se me ocurre preguntar a algún guru del foro si hay un sistema 'más profesional' para simplificar la recodificación masiva de archivos de video 01..., 02... 0n... con una orden de ffmpeg como la que he puesto arriba.

(a ver si alguien tiene humor de contestar, por supuesto yo ya he resuelto mi problema, pero me queda esa incognita de saber si hay un método 'más PRO'... para mejorar mi conocimiento)

 Perfil WWW  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1790

Nota Publicado: Jue May 17, 2018 1:29 am 
Arriba  
No lo probé, pero se supone que esto debería funcionar.
Le das permiso de ejecución y luego lo ejecutas en el directorio de pornos. Quiero decir, de videos de Jazz.

Código:
#!/bin/bash
#Cuando se trabaja con un bucle for, es conveniente modificar la variable IFS para que el sistema entienda que cada registro ocupa una
#línea, y no termina en el primer espacio.
IFS=$'\x0A'$'\x0D'

#Lo que sigue es el bucle, y trabaja con las extensiones que pusiste en tu post.
#Podría hacerse algo más flexible, con read -p "extensión origen" etc. Ya sabes cómo se hace.
for i in $(ls *.webm); do
ffmpeg -i $i -vcodec mpeg4 -q:v 0 -acodec libmp3lame `basename $i`.avi;
done


Es el tipo de script que, cuando se tiene cierta práctica, no se escribe y se guarda, sino que se arma al vuelo en una terminal, terminando cada línea con &&. Casualmente, hoy hice algo así para descargar todos los archivos pgn (partidas de ajedrez) de un sitio: bajar el código html, extraer los enlaces, enviarlos a un archivo de texto y parsearlo con un bucle for para descargar cada archivo con wget.

 Perfil  

Desconectado
Forista Ancestral
Forista Ancestral
Avatar de Usuario

Registrado: Mié Ago 11, 2010 10:32 am
Mensajes: 3176
Ubicación: Oviedo-es_ES

Nota Publicado: Jue May 17, 2018 3:45 pm 
Arriba  
neurus siempre al rescate... gracias, como siempre.

A ver, te cuento. Funciona... con algunos matices.
a) en primer lugar, yo creo que el comando ffmpeg... no admite las comillas para poner como una sola palabra archivos largos, con varias palabras separadas... Ya lo había observado en alguna ocasión. Quiero decir que, si reduzco los nombres a 01.webm, 02.webm, 03.webm... (etc) funciona perfectamente.

b) bueno, funciona perfectamente... pero solo la parte final, tengo que anular, anteponiendo una almohadilla #, lo de la variable IFS. Vamos que solo poniéndolo así...
Código:
#!/bin/bash
...
# IFS=$'\x0A'$'\x0D'
#Lo que sigue es el bucle, y trabaja con las extensiones que pusiste en tu post.
#Podría hacerse algo más flexible, con read -p "extensión origen" etc. Ya sabes cómo se hace.
for i in $(ls *.webm); do
ffmpeg -i $i -vcodec mpeg4 -q:v 0 -acodec libmp3lame `basename $i`.avi;
done

... funciona, y me convierte perfectamente, y separadamente, los videos *.webm a AVI que incluya en la carpeta donde abra la consola y el script.

c) Y hombre, por matizar más, me los convierte manteniendo el nombre y extensión (o sea, de un '01.webm' me crea un '01.webm.avi'). Pero eso no es ningun problema, claro, si luego tengo que poner el nombre completo.

La prueba la he hecho bajándome 4 videos de 2-3 minutos de los Beatles, que son más cortitos y manejables que los de stripteuses o de jazz :D :D :D
y más de mi época... :? :cry: :cry:
:wink: :wink:

:drinks:

 Perfil WWW  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1790

Nota Publicado: Jue May 17, 2018 4:45 pm 
Arriba  
De todos modos, hay una aplicación que te permite hacer esto de manera gráfica.
Si no recuerdo mal, se llama WinFF, y está en los repositorios.

 Perfil  

Desconectado
Forista Ancestral
Forista Ancestral
Avatar de Usuario

Registrado: Mié Ago 11, 2010 10:32 am
Mensajes: 3176
Ubicación: Oviedo-es_ES

Nota Publicado: Jue May 17, 2018 5:31 pm 
Arriba  
si, la tengo, pero no me gusta nada porque, aunque está basada en ffmpeg, nunca he llegado a entenderla bien (o tiene mucho que configurar), y siempre que la he probado me genera cosas con baja calidad, y con gran lentitud. No se si será cuestión de dedicar un tiempo a estudiarla a fondo, pero es que el comando de ffmpeg que uso (y alguno otro más, que tengo 'fichado') me resulta sencillo, cómodo y, sobre todo, muy rápido.

y (con tu script, y aquel que tenía yo (tu también me diste las ideas clave) para descargar los videos de Youtube, me he organizado un buen 'montaje', y ahora tengo 'medio' automatizado el descargar videos de youtube, en formato webm, y convertirlos a AVI)

 Perfil WWW  

Desconectado
Forista Legendario
Forista Legendario
Avatar de Usuario

Registrado: Dom Oct 10, 2004 7:00 am
Mensajes: 1790

Nota Publicado: Jue Jun 21, 2018 2:55 am 
Arriba  
Citar:
c) Y hombre, por matizar más, me los convierte manteniendo el nombre y extensión (o sea, de un '01.webm' me crea un '01.webm.avi'). Pero eso no es ningun problema, claro, si luego tengo que poner el nombre completo.


Me había olvidado de esto (lo leí y pensé: más tarde respondo...).

basename se usa así: basename archivo.extensión extensión. Eso te responde: archivo.

Es decir, deberías dejar esa parte del script así: `basename $i webm` avi

 Perfil  
Mostrar mensajes previos:  Ordenar por  
 [ 6 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


 Temas relacionados   Autor   Respuestas   Vistas   Último mensaje 
Conversión de un String Hex a Int en Java

en Programación

ceduardo

0

663

Sab Sep 04, 2010 7:58 pm

ceduardo Ver último mensaje

Conversion de php5 a php7

en Programación

lesthersrv

5

499

Dom Ene 28, 2018 10:55 pm

elhui2 Ver último mensaje

Problema deprecated conversion from string constant to ‘char*’

en Programación

oliver_87

4

6659

Dom Ene 09, 2011 11:29 pm

codestation Ver último mensaje

"Soy Linux": 7 vídeos + 1

en Vídeos

e-Vox

5

3387

Vie Sep 17, 2010 9:36 pm

virox Ver último mensaje

Tema de videos.

en Software

MarcVision

4

624

Vie May 28, 2010 4:35 pm

MarcVision Ver último mensaje



¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 0 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC + 1 hora [ DST ]
Traducción al español por Huan Manwë
phpBB SEO