Cuando intento convertir mkv a mp4 usando ffmpeg, aparece el siguiente error:
version 0.8.3-4:0.8.3-0ubuntu0.12.04.1, Copyright (c) 2000-2012 the Libav developers built on Jun 12 2012 16:52:09 with gcc 4.6.3
*** THIS PROGRAM IS DEPRECATED *** This program is only provided for compatibility and will be removed in a future release. Please use
avconv instead. [matroska,webm @ 0x1e939c0] max_analyze_duration
reached [matroska,webm @ 0x1e939c0] Estimating duration from
bitrate, this may be inaccurate Input #0, matroska,webm, from
'input.mkv': Duration: 00:01:00.76, start: 0.000000, bitrate: 384
kb/s
Stream #0.0(eng): Video: h264 (High), yuv420p, 1280x544, PAR 1:1 DAR 40:17, 25 fps, 25 tbr, 1k tbn, 50 tbc (default)
Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s (default)
Stream #0.2(eng): Subtitle: [0][0][0][0] / 0x0000 Output #0, ipod, to 'output.m4v': Metadata:
encoder : Lavf53.21.0
Stream #0.0(eng): Video: libx264, yuv420p, 1280x544 [PAR 1:1 DAR 40:17], q=2-31, 25 tbn, 25 tbc (default)
Stream #0.1(eng): Audio: ac3, 48000 Hz, 5.1, 384 kb/s (default) Stream mapping: Stream #0.0 -> #0.0 Stream #0.1 -> #0.1
Press ctrl-c to stop encoding [ipod @ 0x1e9b740] Application
provided invalid, non monotonically increasing dts to muxer in stream
0: -2 >= -2 av_interleaved_write_frame(): Invalid argument
Usé este comando para convertir el archivo:
ffmpeg -i input.mkv -vcodec copy -acodec copy -absf aac_adtstoasc output.m4v
El archivo de entrada tiene las siguientes características:
mediainfo input.mkv
>General
>
>Unique ID : 200459305952356554213392832683163418790 (0x96CF0ED8DB5914CBB9E18163689280A6)
>Complete name : input.mkv
>Format : Matroska
>Format version : Version 2
>File size : 1.46 GiB
>Duration : 1h 5mn
>Overall bit rate : 3 168 Kbps
>Encoded date : UTC 2010-09-26 21:44:02
>Writing application : mkvmerge v2.9.5 ('Tu es le seul') built on >Jun 17 2009 16:28:30
>Writing library : libebml v0.7.8 + libmatroska v0.8.1
>
>Video
>ID : 1
>Format : AVC
>Format/Info : Advanced Video Codec
>Format profile : [email protected]
>Format settings, CABAC : Yes
>Format settings, ReFrames : 4 frames
>Codec ID : V_MPEG4/ISO/AVC
>Duration : 1h 5mn
>Bit rate : 2 910 Kbps
>Width : 1 280 pixels
>Height : 720 pixels
>Display aspect ratio : 16:9
>Frame rate : 25.000 fps
>Color space : YUV
>Chroma subsampling : 4:2:0
>Bit depth : 8 bits
>Scan type : Progressive
>Bits/(Pixel*Frame) : 0.126
>Stream size : 1.31 GiB (90%)
>Writing library : x264 core 105 r1724 b02df7b
>Encoding settings : cabac=1 / ref=3 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=6 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=18 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=0 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc=2pass / mbtree=0 / bitrate=2910 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
>
>Default : Yes
>Forced : No
>
>Audio
>ID : 2
>Format : AC-3
>Format/Info : Audio Coding 3
>Mode extension : CM (complete main)
>Codec ID : A_AC3
>Duration : 1h 5mn
>Bit rate mode : Constant
>Bit rate : 256 Kbps
>Channel(s) : 2 channels
>Channel positions : Front: L R
>Sampling rate : 48.0 KHz
>Bit depth : 16 bits
>Compression mode : Lossy
Stream size : 121 MiB (8%)
Language : English
Default : Yes
Forced : No
Al ser nuevo en ffmpeg, no estoy seguro de qué significa el error o cómo corregirlo.
¡Gracias!
Respuestas:
Como ya he escrito aquí , le sugiero que cambie algunos detalles en su línea de comando:
ffmpeg
poravconv
, como lo fue el tenedor utilizado por Ubuntu durante algunos años (véanse los comentarios)-absf aac_adtstoasc
? Tuvo algunos problemas que pueden no haber sido corregidos en el ffmpeg actual de Ubuntu. Te sugiero que pruebes sin él primero.-vcodec copy -acodec copy
se puede simplificar a-codec copy
o-c copy
. También evitaría alterar otras transmisiones además de video y audio, como los subtítulos.Entonces el ganador es ...
Si eso no funciona, publique toda la salida del terminal.
fuente
avconv
's versión puede ser diferente a la mía.avconv
ya no se mantiene en Ubuntu :-)ffmpeg
? ¿Tienes alguna fuente o referencia sobre el cambio?Sé que es un hilo muy antiguo, pero he encontrado una solución para ejecutar con éxito ffmpeg. No use
-vcodec copy -acodec copy
, use solo en suffmpeg -i input.mkv output.m4v
lugar. Comenzará a correr.Pero en mi caso, convierto un .mkv a .mp4, el resultado resultante es solo basura. Pierde precisión de cuadro.
fuente
copy
códec, se volverá a codificar y perderá calidad.Para convertir automáticamente todos los archivos en una carpeta de MKV a MP4, puede crear un alias:
Este comando realiza los siguientes pasos:
fuente
ya hay una respuesta sobre esto ¿Cómo convertir archivos .mkv en archivos .mp4 sin pérdidas?
El concepto básico es que tanto el MKV como el MP4 son contenedores, son solo contenedores, básicamente tiene que desempaquetar y volver a empacar las pistas de audio y video si desea cambiar entre los dos.
fuente
Obtuve esto en Xubuntu 14.04 al intentar grabar un DVD de MP4 usando DVDStyler; Bombono produce el mismo error. ffmpeg # 1154 sugiere que esto podría haberse solucionado
ffmpeg
, aunque quizás noavconv
. libav # 478 todavía está marcado como abierto.Ver también: /unix/127522/avconv-error-av-interleaved-write-frame
Archivé Launchpad # 1339980 ; en resumen, use una versión actual de
ffmpeg
, y noavconv
.fuente
Pruebe este :: Libav en Linux
Instalación: comando de ejecución
Comando de conversión de video :: Ir a la carpeta contiene el video y ejecutarlo en la terminal
fuente