2010-03-04 2 views
6

나는 ffmpeg에서 작업 중이며 즉시 오디오 스트림을 추가하려고합니다. AudioQueues 사용하고 원시 오디오 버퍼를 가져옵니다. 나는 리니어 PCM으로 오디오를 인코딩하고 있기 때문에 내가 얻는 오디오는 원시 형식이 될 것이고, 이것은 ffmpeg가 그것을 받아 들인다는 것을 알고있다. 그러나 나는 방법을 이해할 수 없다. AVStream을 살펴 보았습니다.이 오디오 채널에 대한 새로운 스트림을 생성해야하지만, 다른 AVStream 구조에서 이미 초기화 된 비디오에 어떻게 인코딩해야합니까?ffmpeg를 사용하여 오디오 채널 추가

전반적으로, 저는 ffmpeg 아키텍처에 대해 생각해보고 싶습니다. 나는 그것이 문서화되지 않았기 때문에 일하기가 어려웠다. 모든 포인터 또는 세부 사항은 높이 평가됩니다.

감사와 안부, 주권 Pawan G

+0

안녕하세요, OSX과 관련된 샘플이 있습니까, 동일하게 작동하려고하는 m – Swati

+0

불행히도 소스 코드에 액세스 할 수 없습니다! –

답변

2

당신이 자바를 사용하려는 경우, 당신은 Xuggler으로는 FFmpeg을위한 더 나은 문서화 된 API 래퍼를 찾을 수 있습니다.

즉 FFmpeg는 모든 컨테이너에 포함될 수있는 Raw PCM을 지원할 수 있습니다. PCM 코덱 (avcodec.h 참조)을 사용하여 원하는 크기와 특성을 가진 코덱을 찾으십시오. 동일한 컨테이너에 오디오를 추가하려면 기존 비디오 스트림에 사용하는 AVFormatContext 객체를 찾고 av_new_stream (...)을 사용하여 새 스트림을 추가합니다. 그런 다음 PCM 인코더를 연결하고 '인코딩'하여 결과 패킷을 작성하십시오. 작동중인이 API의 예는 FFmpeg의 output_example.c를 참조하십시오.

+1

고마워, 이미 그 방향으로 따라하기 시작 했어. 나는 기본적으로 output_example.c을 따르고 있으며, 어디서든 당하면 다시 돌아올 것입니다. 자바가 아니라 코코아를 사용하고 있습니다. 하지만 여하튼, 구현 언어는 FFMpeg 호출을위한 추상화입니다! –

관련 문제