2011-07-07 11 views
5

Próbuję zbudować system, który transmituje na żywo wideo i dźwięk przechwycony przez telefony z systemem Android. Chcę użyć rejestratora multimediów do zakodowania danych, a następnie wysłać je przez RTP, ale problemem jest jak mogę uzyskać zakodowane dane w buforze.H.264 Strumieniowanie w czasie rzeczywistym

Odpowiedz

1

Nie możesz. Przynajmniej nie możesz bez niektórych hacków. Nagrywarka mediów nie obsługuje zapisywania do buforów.

Sztuką jest stworzenie rury, wyodrębnienie deskryptora rury i przekazanie jej do funkcji setOutputFile(FileDescriptor fd). Są pewne problemy z tym podejściem, ponieważ MediaRecorder nie zapisuje treści multimedialnych w sposób zorientowany strumieniowo. Innymi słowy, opiera się na fakcie, że może on nawigować z powrotem do pliku i napisać później nagłówki pakietów.

Więcej szczegółów na ten temat można znaleźć tutaj: Broadcasting video with Android - without writing to local files