He encontrado un error con omxplayer que generalmente es un error ffmpeg
Cuando emito el comando omxplayer -info movie.mkv
me 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
ffmpeg -i filename
¿cuál es el resultado, especialmente el tbr tbn?Respuestas:
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
omxplayer
a cualquier otra cosa, comoomxplayer-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 ...fuente