2010-08-11 7 views
2

스트림 길이를 얻기 위해 IMediaDet을 사용하는 앱에서 작업하고 있습니다. 이제 우리는 MP4 컨테이너로 작업하기 시작했습니다. 문제는 MP4 파일로 IMediaDet :: put_fileName()을 시도하면 HRESULT = -2147024770 (ERROR_MOD_NOT_FOUND)입니다. comercial mp4 demuxer를 사용하여, 나는 비디오 스트림 mpg2 인코딩을 사용하여 참조하십시오.MP4 스트림 길이 가져 오기

내 질문 : 어떻게 MP4 컨테이너 내부 스트림의 스트림 길이를 얻으려면? IMediaDet이이 파일들을 받아들이게하는 방법이 있습니까? 디멀티플렉서 IMediaDet이 사용해야 할 점을 지적 할 수있는 방법이 있습니까?

도움을 주시면 감사하겠습니다.

감사합니다.

+0

http://www.fourcc.org/ 도움이 될 수 있습니다 ... – rogerdpack

답변

1

불행히도 DirectShow does not contain an MP4 parser, even in Windows 7. Win7에서는 MP4 기능이 미디어 기반에 추가되었습니다.

몇 가지 옵션이 있습니다. MP4 demux를 구현하는 directshow 필터와 associate it with the "mp4" file extension을 구입하거나 빌드 할 수 있습니다. IMediaDet이 파일을 적절히 demux 할 수 있어야합니다. 또는 Media Foundation을 사용하면이 정보를 반환 할 수 있습니다. 또는 MP4 파일 용으로 별도의 라이브러리 인 like MP4v2을 사용할 수도 있습니다. (직접 MP4v2 대신 DirectShow를 사용하려는 경우 MP4v2를 사용하여 MP4 디 먹스 필터를 구현할 수도 있습니다)

관련 문제