2011-11-29 3 views
0

현재 클라이언트의 설정 (화면 크기, 처리 능력 ...) 또는 네트워크 대역폭에 따라 스트림의 비트 전송률을 동적으로 조정하는 기능이 필요한 웹캠 스트리밍 서버 프로젝트에 있습니다. 인코더는 무료이고 오픈 소스이기 때문에 ffmpeg이며 코덱은 MPEG-4 파트 2입니다. 우리는 서버 부분에 live555를 사용합니다.ffmpeg를 사용하여 멀티 비트 레이트 (MBR) MPEG-4 비디오를 만들 수 있습니까?

어떻게 이것을 달성하기 위해 ffmpeg를 사용하여 MBR MPEG-4 비디오를 인코딩 할 수 있습니까?

+0

가변 비트 전송률 (VBR)을 의미합니까? – sashoalm

답변

0

설명하는 멀티 비트 전송률 비디오를 "확장형 비디오 코덱"이라고합니다. 기본적인 이해를 위해이 wiki 링크를 참조하십시오.

기본적으로 스케일 러블 비디오 코덱에서 기본 레이어 스트림 자체는 완전히 디코딩 가능합니다. 그러나, 부가적인 정보는 (하나 또는 다수의) 확장 스트림의 형태로 표현된다. 저/고해상도, 프레임 레이트 및 양자화 변경을 포함하여이 작업을 수행 할 수있는 몇 가지 기술이 있습니다. 다음 논문에서는 MEPG4H.264에 대한 확장 가능 비디오 코딩 을 자세히 설명합니다. 당신이하고자하는 것을 설명하는 또 다른 good paper가 있습니다.

유감스럽게도 이것은 광범위하게 연구 주제이며 날짜까지 오픈 소스 (ffmpeg 및 xvid)는 이러한 다중 레이어 인코딩을 지원하지 않습니다. 나는 상업용 엔코더조차 이것을 지원하지 않는다고 생각한다. 이것은 상당히 복잡합니다. 아마도 H.264의 Reference encoder이 지원하는지 체크 아웃 할 수 있습니다.

패킷을 전송하는 동안 (CPU 비싼) 대체 방법은 실시간으로 트랜스 코드 될 수 있습니다. 이 경우, 합리적으로 좋은 품질로 시작해야합니다. API로 FFMPEG를 사용하는 경우에는 문제가되지 않습니다. 일반적으로 다중 해상도는 여전히 혼란 스러울 수 있지만 목표 인코딩 속도를 계속 변경할 수 있습니다.

관련 문제