omxplayer/ffmpeg-Fehler max_analyze_duration 0 bei 0 Mikrosekunden erreicht

omxplayer/ffmpeg-Fehler max_analyze_duration 0 bei 0 Mikrosekunden erreicht

Ich habe einen Fehler mit omxplayer festgestellt, der normalerweise einffmpeg-Fehler

Wenn ich den Befehl eingebe, omxplayer -info movie.mkverhalte ich die folgende Fehlermeldung:

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

Normalerweise ist max_analyze_duration viel höher, etwa 5004000. Was bedeutet das und wie gehe ich beim Debuggen vor? Unten habe ich die Ausgabe von eingefügt ldd omxplayer. Beachten Sie auch, dass ich omxplayer auf meinem Ubuntu-Rechner plattformübergreifend kompiliert habe.

/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)

BEARBEITEN:

Was genau ist ffmpeg? Ich frage, weil ich beim Cross-Compilieren von omxplayer zwei Versionen von ffmpeg erhalte, eine namens ffmpeg, die andere ffmpeg_compiled, und nur ffmpeg die Bibliotheken hat (also libavutil.so, libavcodec.so...). Nachdem ich nun das omxplayer-Shell-Skript und die Binärdatei omxplayer.bin (die ich hier beide in omxplayer-cross-compiled umbenennen werde) übertragen habe, sehe ldd omxplayer-cross-compiled.binich beim Betrachten der Ausgabe, dass einige Bibliotheken fehlen, also kopiere ich diese auch auf den Raspi und speichere sie im Verzeichnis /lib/arm-linux-gnueabihf/. Was mich zu meiner ursprünglichen Frage zurückbringt, denn ich habe nie ein Binärprogramm namens ffmpeg kopiert, also was ist ffmpeg? Geht während meines Kompilierungsprozesses etwas schief, wodurch ffmpeg nicht für mich erstellt wird?

BEARBEITEN: Hier ist die Ausgabe von ffmpeg -i clip.mp4. Ich hätte erwähnen sollen, dass ich zwei Versionen von omxplayer habe, die Originalversion, die funktioniert, und die, die ich plattformübergreifend kompiliert habe (omxplayer-plattformübergreifend kompiliert), die dieses bizarre Verhalten verursacht.

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

Antwort1

Ich fühle mich wirklich dumm (ich werde mich noch dümmer fühlen, wenn ich das Problem nicht wirklich gelöst habe, und ich fühle mich nur dumm, weil ichdenkenIch habe das Problem behoben), aber ich glaube, ich dachte, man könnte es einfach omxplayerin irgendetwas anderes umbenennen, z. B. omxplayer-cross-compiled. Meine ursprüngliche Absicht war, omxplayer nicht zu überschreiben, wenn sich herausstellte, dass die plattformübergreifend kompilierte Version nicht funktioniert. Allerdings habe ich omxplayer versehentlich – und glücklicherweise – mit meiner plattformübergreifend kompilierten Version überschrieben und es stellte sich heraus, dass der Name des Programms wichtig ist. Trotzdem werde ich das Gefühl nicht los, dass Linux mich verarscht. Genau das will Ubuntu mir glauben machen, dass alles in Ordnung ist, und dann BÄM, ich komme aus dem Fitnessstudio zurück und das Programm funktioniert plötzlich nicht mehr ...

verwandte Informationen