avconv es asesinado si mkv tiene subtítulos

0

Lo que intento hacer es tomar una película (en un contenedor Matroska), convertir todas las pistas de audio a AC3 y no tocar nada más. Estoy usando esta línea:

avconv -i infile.mkv -map 0 -vcodec copy -scodec copy -acodec ac3 -ab 256k outfile.mkv

Esto funciona bien, excepto cuando hay subtítulos incrustados. Luego, después de un tiempo de procesamiento sin progreso, avconvsimplemente "muere" (salida acortada, estas parecen ser las partes interesantes):

[matroska,webm @ 0xf867a0] max_analyze_duration reached
[matroska,webm @ 0xf867a0] Estimating duration from bitrate, this may be inaccurate
...
Incompatible sample format 's16' for codec 'ac3', auto-selecting format 'flt'
...
Stream #0.0(eng): Video: H264 / 0x34363248, yuv420p, 1280x536 [PAR 1:1 DAR 160:67], q=2-31, 1k tbn, 1k tbc (default)
    Stream #0.1(ger): Audio: ac3, 48000 Hz, 5.1, flt, 256 kb/s (default)
    Stream #0.2(eng): Audio: ac3, 48000 Hz, 5.1, flt, 256 kb/s
    Stream #0.3(ger): Subtitle: dvdsub (default) (forced)
    Metadata:
      title           : forced
    Stream #0.4(ger): Subtitle: dvdsub
    Metadata:
      title           : complete
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (dca -> ac3)
  Stream #0:2 -> #0:2 (dca -> ac3)
  Stream #0:3 -> #0:3 (copy)
  Stream #0:4 -> #0:4 (copy)
Input stream #0:2 frame changed from rate:48000 fmt:s16 ch:6 to rate:48000 fmt:flt ch:6
Input stream #0:1 frame changed from rate:48000 fmt:s16 ch:6 to rate:48000 fmt:flt ch:6
frame= 2606 fps=1303 q=-1.0 size=       3kB time=107.36 bitrate=   0.2kbits/s   
...
frame=96141 fps=813 q=-1.0 size= 2195806kB time=2807.04 bitrate=6408.2kbits/s
frame=96251 fps=810 q=-1.0 size= 2195806kB time=2807.04 bitrate=6408.2kbits/s
...
frame=97015 fps=397 q=-1.0 size= 2195806kB time=2807.04 bitrate=6408.2kbits/s
Getötet ["Killed", in English]

No tengo idea de por qué sucede esto, ya que no hay salida de error.

Me gustaría copiar los subtítulos, no tocarlos en absoluto. Si eso no funciona, se pueden eliminar por completo.

Lukas Knuth
fuente
Siempre publique la salida de línea de comandos completa y sin cortes, no solo las partes que considere relevantes, especialmente la versión y la información de compilación. Por supuesto, las líneas que se repiten con los 90,000 cuadros pueden omitirse. Dicho esto, ¿has intentado hacer lo mismo con una versión estáticaffmpeg reciente de o avconv? Lo más probable es que solo estés viendo un error que ya se solucionó.
slhck
@slhck no, estoy usando lo que hay en los repositorios estándar de Ubuntu. version 0.8.7-6:0.8.7-1ubuntu2 -- built on Oct 11 2013 08:39:40 with gcc 4.8.1. También estoy un poco confundido de que hayas vinculado a las compilaciones de ffmpeg, ¿pensé que el programa estaba en desuso?
Lukas Knuth
@slhck Lo intenté ffmpegdesde aquí , pero tampoco tuve suerte con eso (el mismo problema que el anterior).
Lukas Knuth
Texto desafortunado, pero FFmpeg está lejos de estar muerto y, como puede ver, mantenido activamente. Los mantenedores de Libav solo pensaron que era inteligente decirles a todos que FFmpeg estaba en desuso. Ver: ¿Quién puede decirme la diferencia y la relación entre ffmpeg, libav y avconv? De todos modos, no sé si los PPA sirven una versión reciente. Intente con una compilación estática , como le pregunté, e incluya toda la salida de la línea de comandos. Puede obtener uno aquí, por ejemplo: ffmpeg.gusari.org/static
slhck
Desafortunadamente, PPA solo ofrece las ramas de lanzamiento 0.10 o 0.7 que no son adecuadas para la mayoría de las pruebas de "comprobar para ver si se ha solucionado un error". Si un ffmpeg real reciente tampoco funciona como se esperaba, proporcione una entrada de muestra si es posible.
llogan

Respuestas:

2

El problema es que version 0.8.7-6:0.8.7-1ubuntu2"ffmpeg" no es realmente ffmpeg, sino una versión defectuosa de Libav enviada con el nombre incorrecto.

La mayoría de los problemas en los que sabe que deberían funcionar pero falla por alguna razón generalmente se solucionan en las últimas compilaciones, que puede solucionar fácilmente:

slhck
fuente