omxplayer / ffmpeg error max_analyze_duration 0 alcanzado a 0 microsegundos

0

He encontrado un error con omxplayer que generalmente es un error ffmpeg

Cuando emito el comando omxplayer -info movie.mkvme sale el siguiente error:

[matroska,webm @ 0xbc9450] max_analyze_duration 0 reached at 0 microseconds
Aborted

Por lo general, max_analyze_duration es mucho mayor, como 5004000, ¿qué significa esto y cómo debo depurarlo? A continuación he incluido la salida de ldd omxplayer. Además, tenga en cuenta que tengo omxplayer compilado cruzado en mi máquina ubuntu.

/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0xb6f69000)                         
libWFC.so => /opt/vc/lib/libWFC.so (0xb6f31000)
libGLESv2.so => /opt/vc/lib/libGLESv2.so (0xb6f14000)
libEGL.so => /opt/vc/lib/libEGL.so (0xb6ee2000)
libbcm_host.so => /opt/vc/lib/libbcm_host.so (0xb6ec8000)
libopenmaxil.so => /opt/vc/lib/libopenmaxil.so (0xb6eba000)
libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0xb6e38000)
libvchiq_arm.so => /opt/vc/lib/libvchiq_arm.so (0xb6e2a000)
libvcos.so => /opt/vc/lib/libvcos.so (0xb6e18000)
libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6df9000)
libavutil.so.52 => /lib/arm-linux-gnueabihf/libavutil.so.52 (0xb6da7000)
libavcodec.so.54 => /lib/arm-linux-gnueabihf/libavcodec.so.54 (0xb620d000)
libavformat.so.54 => /lib/arm-linux-gnueabihf/libavformat.so.54 (0xb611e000)
libavdevice.so.54 => /lib/arm-linux-gnueabihf/libavdevice.so.54 (0xb6115000)
libavfilter.so.3 => /lib/arm-linux-gnueabihf/libavfilter.so.3 (0xb60f2000)
libswscale.so.2 => /usr/lib/arm-linux-gnueabihf/libswscale.so.2 (0xb60bc000)
libswresample.so.0 => /lib/arm-linux-gnueabihf/libswresample.so.0 (0xb60a2000)
libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0xb5fd5000)
libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb5ea6000)
/lib/ld-linux-armhf.so.3 (0xb6f76000)
libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb5e7e000)
libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0xb5e72000)
librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0xb5e63000)
libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb5df2000)
libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0xb5dd4000)
libbz2.so.1.0 => /lib/arm-linux-gnueabihf/libbz2.so.1.0 (0xb5dba000)
libavutil.so.51 => /usr/lib/arm-linux-gnueabihf/libavutil.so.51 (0xb5d93000)

EDITAR:

¿Qué es exactamente ffmpeg? Pregunto porque cuando compilo cruzado omxplayer, obtengo dos versiones de ffmpeg, una llamada ffmpeg, la otra ffmpeg_compiled, y solo ffmpeg tiene las bibliotecas (es decir, libavutil.so, libavcodec.so ...). Ahora, después de transferir el script de shell omxplayer y el binario omxplayer.bin (ambos a los que renombraré aquí omxplayer-cross-compiled) mirando el resultado de ldd omxplayer-cross-compiled.bin, puedo ver que faltan algunas bibliotecas, así que las copio al raspi también, y almacenarlos en el directorio / lib / arm-linux-gnueabihf /. Lo que me lleva de vuelta a mi pregunta original, porque en realidad nunca copié un programa binario llamado ffmpeg, entonces, ¿qué es ffmpeg? ¿Hay algún problema durante mi proceso de compilación que no me está creando ffmpeg?

EDITAR: Aquí está la salida de ffmpeg -i clip.mp4. Debería haber mencionado que tengo dos versiones de omxplayer, la original que funciona y la que compilé (omxplayer-cross-compiled) que da este comportamiento extraño.

ffmpeg version 0.8.6-6:0.8.6-1+rpi1, Copyright (c) 2000-2013 the Libav developers
  built on Mar 31 2013 13:58:10 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
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x195440] max_analyze_duration reached
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'media/video/clips/1.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 1
    compatible_brands: isommp41avc1
    creation_time   : 2009-02-19 18:49:05
  Duration: 00:00:08.00, start: 0.000000, bitrate: 3141 kb/s
    Stream #0.0(eng): Video: h264 (Main), yuv420p, 1024x576 [PAR 1:1 DAR 16:9], 3009 kb/s, 25 fps, 25 tbr, 600 tbn
    Metadata:
      creation_time   : 2009-02-19 18:49:05
    Stream #0.1(eng): Audio: aac, 44100 Hz, stereo, s16, 128 kb/s
    Metadata:
      creation_time   : 2009-02-19 18:49:05
    Stream #0.2(eng): Data: mp4s / 0x7334706D, 0 kb/s
    Metadata:
      creation_time   : 2009-02-19 18:49:05
    Stream #0.3(eng): Data: mp4s / 0x7334706D, 0 kb/s
    Metadata:
      creation_time   : 2009-02-19 18:49:05
At least one output file must be specified
puk
fuente
Podría ser un problema de marca de tiempo. No sé sobre omxplayer. Si haces un ffmpeg -i filename¿cuál es el resultado, especialmente el tbr tbn?
Rajib
@Rajib por favor vea editar. Probaré lo que me sugirió cuando entré en la oficina
puk

Respuestas:

0

Me siento realmente estúpido (me sentiré aún más estúpido si realmente no soluciono el problema, y ​​me siento estúpido porque creo que solucioné el problema) pero creo que lo que sucedió es que pensé que uno podría cambiar el nombre omxplayera cualquier otra cosa, como omxplayer-cross-compiled. Mi intención original era no sobrescribir omxplayer si el compilado cruzado no funcionaba. Sin embargo, accidentalmente, y afortunadamente, sobrescribí omxplayer con mi versión de compilación cruzada y resulta que el nombre del programa es importante. Sin embargo, todavía no puedo sacudir la sensación de que Linux me está molestando. Esto es exactamente lo que Ubuntu quiere que piense, que todo está bien, entonces BAM, regreso del gimnasio y el programa de repente no funciona ...

puk
fuente
Tu ffmpeg no es el verdadero ffmpeg. Es libav. Realmente no puedo decir nada sobre omxplayer, especialmente si va a requerir las bibliotecas ffmpeg reales.
Rajib
@Rajib No entiendo tu comentario ni a qué responde. ¿Me estás diciendo que mi ffmpeg está roto?
puk
Quiero decir que estás usando libav, que no es exactamente ffmpeg. No es algo que tenga la misma respuesta que el ffmpeg real en algunos casos. Por lo tanto, es posible que no esté utilizando el programa / bibliotecas deseado, si es el ffmpeg real que necesita. Hay varios subprocesos en el superusuario y el SE que se ocupan del problema de que libav se incluye con las distribuciones y la extraña advertencia de que el programa ffmpeg puede quedar en desuso. Por supuesto, ffmpeg no está en desuso. WRT es su caso de uso particular, no puedo decirlo porque no tengo conocimiento de omxplayer, otros pueden ayudarlo.
Rajib