Próbuję przenieść FFmpeg do mojego modułu NaCl.avformat_open_input wartość zwracana, kod błędu na module NaCl
Do tej pory mój moduł łączył biblioteki ffmpeg i SDL.
Może już odtwarzać wideo w formacie YUV, które jest kierowane do pamięci i kopiowane do bufora YUVOverlay (to bardzo proste).
Teraz chcę użyć ffmpeg do dekodowania wideo, ale kiedy wywołać funkcję avformat_open_input zwraca -5
gdy wejście jest URL ciąg, takich jak rtmp://
lub mmsh://
; zwraca -1052488119
, gdy wejście to nazwa pliku, na przykład /saved/tmp
(instaluję system plików - html5fs).
Istnieje kilka pytań:
- Co oznacza -5 i -1052488119?
- Jeśli plik nie może otworzyć przez avformat_open_input, możliwe jest typ wejścia to buforzenie z nazwy pliku lub ciąg URL?
Jeśli nie jestem jasno o moje pytanie lub opis, możesz mi powiedzieć. Jeśli robisz to samo lub masz ten sam problem, możemy dyskutować razem.
Dzięki Jar
Czy możesz umieścić swój kod początkowy, w którym jest otwarty plik i format kontenera pliku, który próbujesz otworzyć. W większości przypadków avfromat_open_input powinien działać. – praks411
Zapomniałem Ci powiedzieć, że używam ffmpeg na moim module klienta natywnego. Rejestruję te trzy funkcje. 'avcodec_register_all(); av_register_all(); avformat_network_init(); 'i wywołanie funkcji avformat_open_input ' int r = avformat_open_input (& pFormatCtx, "/ persistent/tmp", NULL, NULL); '. Mam r = -2, gdy wejście jest adresem URL, r = -1052488119, gdy wejście jest plik mp4. MP4 zawiera wideo h264 i audio. – Jar
Znalazłem, że dla konfiguracji sieć jest wyłączona, a protokół włącza tylko plik. Dlatego nie mogę zanalizować adresu URL jako input _ (zwraca -2) _. Nawet ja włączam wszystkie protokoły i włączam sieć, nadal nie mogę otworzyć pliku _ (zwraca -1052488119) _. – Jar