ошибка omxplayer/ffmpeg max_analyze_duration 0 достигнута за 0 микросекунд

ошибка omxplayer/ffmpeg max_analyze_duration 0 достигнута за 0 микросекунд

Я столкнулся с ошибкой в ​​omxplayer, которая обычноошибка ffmpeg

При выполнении команды omxplayer -info movie.mkvвозникает следующая ошибка:

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

Обычно max_analyze_duration намного выше, например 5004000, что это значит и как мне отладить это? Ниже я включил вывод ldd omxplayer. Также обратите внимание, что у меня есть кросс-скомпилированный omxplayer на моей машине 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)

РЕДАКТИРОВАТЬ:

Что такое ffmpeg? Я спрашиваю, потому что когда я кросс-компилирую omxplayer, я получаю две версии ffmpeg, одна называется ffmpeg, другая ffmpeg_compiled, и только ffmpeg имеет библиотеки (т. е. libavutil.so, libavcodec.so...). Теперь, после переноса скрипта оболочки omxplayer и двоичного файла omxplayer.bin (оба я переименую здесь в omxplayer-cross-compiled), глядя на вывод, я вижу, ldd omxplayer-cross-compiled.binчто некоторые библиотеки отсутствуют, поэтому я копирую их также в raspi и сохраняю в каталоге /lib/arm-linux-gnueabihf/. Что возвращает меня к моему первоначальному вопросу, потому что я на самом деле никогда не копировал двоичную программу с именем ffmpeg, так что же такое ffmpeg? Что-то идет не так в процессе компиляции, из-за чего ffmpeg не собирается для меня?

РЕДАКТИРОВАТЬ: Вот вывод ffmpeg -i clip.mp4. Я должен был упомянуть, что у меня есть две версии omxplayer: оригинальная, которая работает, и та, которую я кросс-компилировал (omxplayer-cross-compiled), которая даёт такое странное поведение.

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

решение1

Я чувствую себя очень глупо (я буду чувствовать себя еще более глупо, если я на самом деле не решу проблему, и я чувствую себя глупо просто потому, что ядуматьЯ исправил проблему), но, думаю, дело в том, что я думал, что можно просто переименовать omxplayerво что-нибудь другое, например omxplayer-cross-compiled. Моим первоначальным намерением было не перезаписывать omxplayer, если кросс-скомпилированная версия не работала. Однако я случайно — и к счастью — перезаписал omxplayer своей кросс-скомпилированной версией, и оказалось, что имя программы важно. Однако я все еще не могу избавиться от ощущения, что Linux издевается надо мной. Это именно то, что Ubuntu хочет, чтобы я думал, что все хорошо, а потом БАЦ, я возвращаюсь из спортзала, а программа внезапно не работает...

Связанный контент