2013-07-25 9 views
5

Ich versuche FFmpeg in mein NaCl-Modul zu portieren.avformat_open_input Rückgabewert, Fehlercode auf NaCl-Modul

Bisher hat mein Modul ffmpeg und SDL-Bibliotheken verbunden.

Es kann bereits Video im YUV-Format wiedergeben, das in den Speicher geladen wird und in YUVOverlay-Puffer kopiert (es ist sehr einfach).

Nun möchte ich ffmpeg verwenden Video zu dekodieren, aber wenn ich die Funktion avformat_open_input Aufruf gibt es -5, wenn der Eingang ist URL-Zeichenfolge, wie rtmp:// oder mmsh://; es gibt -1052488119 zurück, wenn die Eingabe ist Dateiname, wie /saved/tmp (ich mounte das Dateisystem - html5fs).


Es gibt einige Fragen:

  1. Was bedeutet von -5 und -1052488119?
  2. Wenn die Datei nicht durch avformat_open_input öffnen kann, ist es möglich, der Eingangstyp aus Puffern istnicht aus Dateinamen oder url String?

Wenn ich nicht klar über meine Frage oder eine Beschreibung bin, können Sie mir sagen. Wenn Sie das gleiche tun oder das gleiche Problem haben, können wir gemeinsam diskutieren.

Danke, Jar

+0

können Sie Ihren ursprünglichen Code dort eingeben, wo Sie das Datei- und Containerformat der Datei öffnen, die Sie öffnen möchten. In den meisten Fällen sollte avfromat_open_input funktionieren. – praks411

+0

Ich habe vergessen, Ihnen zu sagen, ich benutze ffmpeg auf meinem Native Client Module. Ich registriere diese drei Funktionen. 'avcodec_register_all(); av_register_all(); avformat_network_init(); 'und rufen Sie die Funktion avformat_open_input auf ' int r = avformat_open_input (& pFormatCtx, "/ persistent/tmp", NULL, NULL); '. Ich bekam r = -2, wenn die Eingabe URL ist, r = -1052488119, wenn die Eingabe mp4-Datei ist. MP4 enthalten h264 Video und acc Audio. – Jar

+0

Ich habe festgestellt, dass für die Konfiguration das Netzwerk deaktiviert ist und Protokoll nur Datei aktivieren. Deshalb kann ich die URL nicht als Eingabe analysieren _ (es gibt -2 zurück) _. Selbst wenn ich alle Protokolle aktiviere und Netzwerk aktiviere, kann ich Datei _ noch immer nicht öffnen (es gibt -1052488119 zurück) _. – Jar

Antwort

1

Es gibt einen ffmpeg Hafen in naclports. Vielleicht wäre das für dich nützlich?

+0

Danke für Ihre Antwort. Dieses Projekt portiert einfach viele Bibliotheken auf NaCl. Ich kann FFmpeg Library auf meinem NaCl Modul kompilieren und ausführen. Ich weiß einfach nicht, wie ich das Problem beheben kann, das ich erwähnt habe.Bisher kann ich Videodatei auf meinem NaCl abspielen, kann aber keinen Stream abspielen. – Jar

+0

Ich habe das gleiche Problem .. immer noch existiert .. Wie hast du das Problem gelöst? –

+0

Würde gerne einen Beispielcode mit ffmepg mit nacl bekommen, wenn Sie teilen möchten, würde ich es sehr schätzen –