Estoy buscando una manera de convertir una película en 3D en una película en 2D.
Encontré una referencia en este foro. http://www.ffmpeg-archive.org/How-to-re-encode-3d-video-to-2d-video-td4676271.html
Estoy buscando una manera de convertir una película en 3D en una película en 2D.
Encontré una referencia en este foro. http://www.ffmpeg-archive.org/How-to-re-encode-3d-video-to-2d-video-td4676271.html
Si bien es posible que pueda lograr esto utilizando manualmente el filtro de recorte de ffmpeg , el filtro stereo3d está diseñado específicamente para este propósito. No especificó el formato 3D exacto que tiene. Hay varias posibilidades documentadas en el enlace stereo3d anterior. Suponiendo que input.mkv
es el sbsl relativamente común (lado a lado, ojo izquierdo a la izquierda),
ffmpeg -i input.mkv -vf stereo3d=sbsl:ml -metadata:s:v:0 stereo_mode="mono" output.mkv
resultará en un 2d (solo ojo izquierdo) output.mkv
. Creo que la razón -metadata:s:v:0 stereo_mode="mono"
para eliminar la etiqueta estéreo es porque los metadatos no se canalizan a través del sistema de filtro, y ffmpeg intenta duplicar los metadatos del original. Si no haces esto, algunos jugadores pueden pensar que tu resultado 2d sigue siendo 3d y hacer cosas raras.
Si encuentra que el resultado tiene una relación de aspecto incorrecta, puede experimentar con el uso stereo3d=sbsl2:ml
que trata la entrada como medio ancho de lado a lado. Si todo lo demás falla, puede establecer el aspecto correcto con -aspect 16:9
(o lo que sea que sepa que es la relación de aspecto correcta).
stereo3d=<input-format>:<output-format>
. Según la documentación vinculada,ml
significa generar "salida mono (solo ojo izquierdo)".-metadata:s:v:0 stereo_mode="mono"
con ffmpeg 2.8.14. Parece que la documentación puede haber cambiado desde que escribió esta respuesta. Simplemente quitando los interruptores antes mencionados permitió que ffmpeg continuara sin error. Tenga en cuenta que puede evitar volver a codificar la transmisión de audio utilizando el-c:a copy
interruptor.Encontré una referencia en este foro. http://www.ffmpeg-archive.org/How-to-re-encode-3d-video-to-2d-video-td4676271.html
La parte importante es la
-vf "crop=w=iw/2:h=ih:x=0:y=0,scale=w=2*iw:h=ih,setdar=2"
Básicamente reduce a la mitad la salida y cambia la escala según corresponda para el video 3D.
Descubrí que esto también es útil para probar y verificar la salida
Puede mover el índice al frente del archivo de la siguiente manera
-movflags faststart
fuente