erro omxplayer / ffmpeg max_analyze_duration 0 alcançado em 0 microssegundos

0

Encontrei um erro com o omxplayer, que geralmente é um erro ffmpeg

Quando eu emito o comando omxplayer -info movie.mkv , recebo o seguinte erro:

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

Normalmente max_analyze_duration é muito maior, como 5004000, o que isso significa e como devo proceder para depurá-lo? Abaixo incluí a saída de ldd omxplayer . Além disso, note que eu compilei o omxplayer no meu computador 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:

O que exatamente é ffmpeg? Eu pergunto porque quando eu cruzar compilar o omxplayer, eu recebo duas versões do ffmpeg, uma chamada ffmpeg, a outra ffmpeg_compiled, e apenas o ffmpeg tem as bibliotecas (por exemplo, libavutil.so, libavcodec.so ...). Agora, depois de transferir o shell script omxplayer eo binário omxplayer.bin (ambos os quais devo renomear aqui omxplayer-cross-compilado) olhando para a saída de ldd omxplayer-cross-compiled.bin eu posso ver que algumas bibliotecas estão faltando, então eu copio para o raspi também, e armazene-os no diretório / lib / arm-linux-gnueabihf /. O que me traz de volta à minha pergunta original, porque eu nunca copiei de fato e um programa binário chamado ffmpeg, então o que é ffmpeg? Alguma coisa está errada durante o processo de compilação que não está criando ffmpeg para mim?

EDITAR: Aqui está a saída de ffmpeg -i clip.mp4 . Eu deveria ter mencionado que eu tenho duas versões do omxplayer, a original que funciona, e a que eu cruzei compilada (omxplayer-cross-compilada) que dá esse comportamento bizarro.

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
    
por puk 03.12.2013 / 08:16

1 resposta

0

Eu me sinto muito estúpida (eu me sentirei ainda mais estúpida se eu não resolvesse o problema, e eu estivesse me sentindo estúpida porque eu acho que resolvi o problema) mas eu acho que aconteceu é que achei que alguém poderia apenas renomear omxplayer para qualquer outra coisa, como omxplayer-cross-compiled . Minha intenção original era não sobrescrever o omxplayer se a cruz compilada não funcionasse. No entanto, eu acidentalmente - e felizmente - substituímos o omxplayer pela minha versão compilada e o nome do programa é importante. No entanto, eu ainda não consigo me livrar da sensação de que o Linux está mexendo comigo. Isso é exatamente o que o Ubuntu quer que eu pense, que tudo está bem, então BAM, eu volto da academia e o programa de repente não funciona ...

    
por 04.12.2013 / 04:40