Concatenando archivos de video ogg desde la línea de comando

18

Bueno. Tengo algunos archivos ogg que he creado usando una herramienta de grabación de escritorio . Los he transcodificado usando ffmpeguna vez (principalmente para recortar los comienzos y los finales).

Ahora, tengo 3 de estos archivos que quiero concatenar en un solo .ogvarchivo. Intenté usarlo oggCat, se bloqueó con algún tipo de error (intenté concatenar un archivo para sí mismo oggCaty eso falló demasiado, lo que me llevó a creer que mi distribución está enviando una versión dañada del paquete). Simplemente catusar los archivos funciona pero no puedo buscar lo que no es genial. mencodercorre así mencoder -ovc lavc -oac lavc file1.ogv file2.ogv file3.ogv -o complete.ogv. Transcodifica los archivos en aviy recorta un poco de los 3 videos.

Entonces, ¿cómo hago esto?

Actualización 1: Mi solución actual es transcodificar los 3 archivos para .mpgusarlos ffmpeg, luego catjuntarlos y luego volverlos a codificar ogv.

Actualización 2: PiTiVi funciona para este tipo de cosas, pero necesito algo de la línea de comandos que pueda automatizar y escribir.

Noufal Ibrahim
fuente
@gry, ¿Qué falta en la respuesta actual?
soandos
@gry, pero quieres exactamente las mismas características, pero ¿un nombre diferente? o hay una diferencia de funcionalidad que está buscando. No estoy de acuerdo con que esto es lo que pedía el OP. Quería concatenar sus archivos, y oggCat no estaba funcionando. Ahora es así, así que no sigo lo que falta.
soandos
@soandos: La pregunta original era "oggCat no funciona para mí, ¿hay alguna alternativa?" y aunque el autor de la pregunta lo hizo funcionar, podría ser útil encontrar posibles alternativas como se esperaba originalmente.
@gry, 1) está arreglado ahora (vea el último comentario sobre mi respuesta) y 2) No puedo encontrar el comentario que está citando.
soandos
1
Mi intención principal era concatenar los videos. Cuando surgieron las respuestas, me alejé de OGV y, por lo tanto, no me importó demasiado la pregunta. Mencioné explícitamente que no quería usar oggCat porque no me funcionaba cuando hice la pregunta.
Noufal Ibrahim

Respuestas:

9

Ogg Video Tools parece hacer lo que estás buscando.

Breve descripción:

A veces sería bueno concatenar (unir) dos o más archivos de video. Para eso, puede usar oggCat, que crea un archivo de video Ogg continuo a partir de los archivos dados.

# oggCat newFile.ogv file1.ogv file2.ogv [ file3.ogv [...] ]

Nota: Los archivos de video deben corresponder en framerate, keyframe gap, frameize, etc.

Ver más aquí y aquí .

soandos
fuente
2
He mencionado mis experiencias con oggCat en mi pregunta. No funcionó incluso cuando intenté concatenar el archivo consigo mismo.
Noufal Ibrahim
¿Has intentado descargar el paquete directamente? ¿Y cuál fue el error?
soandos
1
Intenté compilarlo desde la fuente. Tengo un hexdump muy grande y luego un segfault.
Noufal Ibrahim
este archivo Es posible que desee probar una versión anterior si la compilación falla.
soandos
1
No estoy seguro de si esto te sirve, pero la versión binaria que descargué funciona.
soandos
5

Para esto usaría el demuxer concat de ffmpeg (requiere una versión reciente de ffmpeg).

Primero, cree un archivo llamado inputs.txt (o cualquier nombre arbitrario), que contenga líneas como:

file '/path/to/input1.ogv'
file '/path/to/input2.ogv'
file '/path/to/input3.ogv'

Tenga en cuenta que puede ser una ruta de archivo relativa o absoluta. Si todos sus archivos están en el mismo directorio y tienen un nombre similar a input1.ogv, input2.ogv ... , puede usar un bucle for para generar inputs.txt:

rm inputs.txt; for f in input*.ogv; do echo "$f" >> inputs.txt; done

Una vez que haya creado su archivo, puede concatenar sin pérdida los archivos ogv de esta manera:

ffmpeg -f concat -i inputs.txt -c copy output.ogv
maldad
fuente
Heh, encontré esta respuesta justo después de resolver esto por mí mismo. La solución oggCat no funcionó para mí debido a algunos errores extraños. Esto funcionó bien ..
Jindra Helcl
1

¿Has intentado usar PiTiVi ? Coloque los tres clips secuencialmente en la línea de tiempo y luego guarde el resultado como un archivo.

Shane Wealti
fuente
Sí, pero no es la línea de comando. No puedo automatizar esto usando un script si uso PiTiVi.
Noufal Ibrahim
1
He mencionado el punto en mi pregunta ahora.
Noufal Ibrahim
1

http://www.xiph.org/oggz/ tiene una función,

  • fusionar archivos Merge Ogg, entrelazando páginas en orden de tiempo de presentación.

Editar: esto no hace lo que desea, ya que desea reproducir un video después de otro.


http://sox.sourceforge.net también podría funcionar, la sintaxis ( http://sox.sourceforge.net/sox.html ):

 sox infile1 infile2 outfile

Editar: esto maneja solo el audio.


Podría intentar compilar los oggvideotools y ver si oggCat funciona entonces.

Editar: esto funcionó para ti ...


Puede pedir en http://sourceforge.net/projects/oggvideotools/support para solucionar los problemas con su distribución, incluido el texto de los mensajes de error que tiene cuando 1) ejecuta el binario que obtiene de sus repositorios de distribución 2) compila 3) ejecuta la versión compilada.

Editar: está buscando programas alternativos para hacer la concatenación.


Intente usar mkvtoolnix para concatenar archivos ogg en un solo mkv, luego extraiga ogg de él usando la misma herramienta


fuente
1
La fusión es diferente de la concatenación y no hace lo que quiero. sox es solo de audio y no maneja videos.
Noufal Ibrahim
1
" Intercala páginas en orden de tiempo de presentación". Quiero concatenar Uno debe jugar después de que el otro termine.
Noufal Ibrahim
1
Como esta es la única respuesta, supongo que Stack Exchange le otorgará la recompensa a pesar de que no responde a la pregunta en absoluto.
Noufal Ibrahim
1
Puedo "arreglar" cualquiera de estas herramientas preguntando en las listas de correo respectivas, rastreadores de problemas. Estoy buscando alternativas a las que he especificado.
Noufal Ibrahim
1
Probaré mkvtoolnix aunque preferiría algo como lo oggCatque realmente funciona. Aunque he renunciado a ogg. Parece que muchas personas no pueden jugarlo. Me cambié a webm y a flv fallback.
Noufal Ibrahim