2012-03-01 2 views
2

필자는 필요한 경우 PCM으로 디코딩 할 수있는 Vorbis 스트림을 보유하고 있으며, 컨테이너에있을 때 Android가 지원하는 세 개의 원시 h264 스트림을 가지고 있습니다. 어떤 컨테이너도없이 수동으로 비디오 및 오디오 샘플을 안드로이드 MediaPlayer에 공급할 수있는 방법이 있는지 궁금합니다. MediaPlayer에서 메서드를 재정의해야한다고 생각합니다. 누구든지이 경험이 있거나 쉽게 할 수있는 방법이 있습니까? 나는 불가능을 상상할 수 없다. ...Android API의 원시 오디오/비디오 스트림을 재생하는 방법이 있습니까?

답변

0

당신은 오디오 pcm 샘플을 재생할 수있다. (wav 헤더를 넣어야 할 수도있다.)하지만 H264를 재생하지 못할 수도있다. 컨테이너없이 기본 스트림. 미디어 프레임 워크 (Stagefright)에는 다양한 컨테이너 형식에 등록 된 스니퍼 기능이있어 어떤 종류의 파서가 필요하며 추출기 (파서)가 만들어 졌는지 알 수 있습니다. 안드로이드의 내장 미디어 프레임 워크를 사용하여 응용 프로그램에서 H264 기본 스트림을 재생할 수 있다고 생각하지 않습니다.

+0

아마도 나는 pcm 스트림을 작동시킬 수있을 것이라고 생각했습니다. StageFright에 Duration, SPS 및 PPS NAL이 필요하고 컨테이너 스니퍼를 우회하는 경우 최소 비디오 샘플 용 타임 스탬프가 필요하다고 생각합니까? netflix가 어떻게하는지 궁금합니다. 귀하의 답변에 감사드립니다. 내가 원했던 것은 아니지만 괜찮습니다. :-) – shibbybird

+0

프레임 워크를 변경하지 않는 한, Stagefright는 H264 NAL 유닛/지속 시간 등을 보내고 있다고 말할 수 없습니다. netflix가 Android 프레임 워크를 사용하는지 여부는 확실하지 않지만 NDK를 사용하여 자체 미디어 플레이어를 소유하고 원하는대로 사용할 수 있습니다 (Android 미디어 프레임 워크를 사용하지 않고). – Mukesh

+0

나는 네 생각을 생각해. Netflix가 NDK를 사용하고 있다고 생각합니다. 어쨌든 Android SDK에서 조각난 컨테이너를 관리 할 수는 없습니다. 너무 나쁘다. 귀하의 답변에 감사드립니다. – shibbybird

관련 문제