Supongamos que tengo un video de 10 minutos de duración. Y quiero reducir su tamaño teniendo algunas partes con una tasa de bits alta, mientras que otras partes menos importantes pueden tener una tasa de bits baja. Para esto cortaría el original en segmentos. Dejar las importantes como están, mientras se transcodifican las partes sin importancia a una calidad inferior.
Ahora bien, ¿existe algún formato de contenedor de video que pueda "pegar" estas diferentes partes en un solo archivo ? ¿Con un buen soporte en los reproductores, el confiable mplayer reproducirá el video como si fuera un archivo ordinario? ¿Y de una manera estandarizada/anotada/deshacer para que un simple comando cli desenredara los segmentos en partes/archivos separados nuevamente?
Tenía la impresión de que Matroska podría hacer esto, a través de capítulos, donde cada uno de mis segmentos sería un capítulo. (Lo he leído en alguna parte donde se discutió la fusión de videos sin transcodificación). Pero cuando leo los documentos de mkv reales, parece que los capítulos de mkv son más como un índice textual que apunta a otra secuencia (de video) de un archivo .mkv, y no un tipo de índice de bloque de datos de bajo nivel que me ayudaría con mi idea. Entonces mkv parece un callejón sin salida.
La simple edición o fusión (que es posible sin pérdida, con algo de remuxing) no me ofrecería tener diferentes cualidades en diferentes secciones del video, ¿verdad?
Lo que busco es calidad adaptada a la región de interés , algo que ofrecen formatos de imagen como JPEG2000 para áreas espaciales, solo que aquí se aplica al video a lo largo del tiempo.
¿Alguna sugerencia o idea?
La respuesta aceptada sugiere usar las capacidades VBR de un formato como mp4. Mientras esto funciona, deje una respuesta si conoce una forma diferente de lograr el resultado deseado.
Si la única diferencia es la tasa de bits, entonces cualquier contenedor que acepte transmisiones de tasa de bits variable cumplirá con sus requisitos, por ejemplo, MP4, MKV, etc.
El paso 1 es codificar sus segmentos, idealmente usando el mismo codificador, a diferentes tasas de bits con todos los demás parámetros iguales, por ejemplo, a través de ffmpeg ,
ffmpeg -ss 0 -t 5 -i input.mp4 -b:v 1000k seg1.mp4
ffmpeg -ss 5 -t 7 -i input.mp4 -b:v 3000k seg2.mp4
ffmpeg -ss 12 -i input.mp4 -b:v 500k seg3.mp4
El paso 2 es usar ffmpeg para concatenar los segmentos codificados en modo de copia, usando el demuxer concat.
Preparar un archivo de texto
file 'seg1.mp4'
file 'seg2.mp4'
file 'seg3.mp4'
y luego
ffmpeg -f concat -i list.txt -c copy joined.mp4
Los clips con diferentes propiedades, como la resolución, también se pueden unir en un MP4, pero la compatibilidad entre los reproductores multimedia es dudosa , y ffmpeg no lo hará de manera confiable en la actualidad, de todos modos.
El formato de creación avanzado (AAF) y algunos patrones operativos MXF (OP-2a, 2b, 3a y 3b) deberían poder combinar velocidades de bits. Digo "debería" porque no tengo ninguna buena forma de probar en este momento y no conozco ningún sistema comercial que esté haciendo un uso intensivo de esos MXF OP.
Bueno, no puedo decir que sepa cómo se haría; pero RED (www.red.com), su formato de video R3D utiliza un proceso de debate.
Soy dueño de un RED Epic. Dispara hasta 5K 100 FPS.
Cuando está en el campo y quiere ver el video en, por ejemplo, una computadora portátil, el rendimiento de 3:1 5K sin comprimir (o casi) es enorme.
Entonces, RED usa un proceso de debayer; donde los píxeles se asignan básicamente en un patrón de cuadrícula en términos de cómo se codifican y decodifican.
Así que esto elimina la necesidad de archivos "proxy", archivos que se reducen para su edición porque su sistema simplemente no puede reproducir el archivo en tiempo real.
El Debayer es de 8 niveles. Y el reproductor RED (así como el software que lo admite, como PPro/After Effects), le permite reproducir al 100 %, 50 %, 25 %, 12,5 %, etc.
El aspecto único con RED es que cuando su computadora hace esto, en realidad no está bajando la calidad, solo está mostrando la calidad x/100 que desea.
Entonces, quizás mi respuesta sea un poco retrógrada al pensar: pero esencialmente con los archivos RED, tiene una versión de 1K, 2K, 3K, 4K, 5K, todo envuelto en 1 archivo.
Espero que esto ayude un poco, aunque no es una respuesta a la pregunta real.
isync
isync
gian
copyts
. ¿Con qué comando te da el error?isync
ffmpeg -f concat -i list.txt -c copy joined.mp4
, y los comandos de segmento de ejemplo, solo el del medio se modificó para ser... -i input.mp4 -vcodec copy seg2.mp4
. Probado con ffmpeg 2.8.1, mi Ubuntu avconv aún no sabe acerca de concat.gian
-avoid_negative_ts make_zero
, pero es probable que se repita con el segmento anterior.isync
make_zero
es el valor para el-avoid_negative_ts
cambio, a la derecha. ¿Dónde están los documentos para ello?isync
-copyts -start_at_zero
cada segmentación, no más advertencias de DTS en concat, pero el video no se reprodujo correctamente.gian
isync
isync