2012-06-23 5 views
0

그래서 DirectShow를 사용하여 비디오를 녹화하는 WIN32 앱이 있습니다. 이제 .AVI 파일을 .MP4로 변환하고 싶습니다.사용할 MPEG4 인코더 라이브러리는 무엇입니까?

필터를 등록하지 않으려 고하므로 (필터 필요 없음) 소스에서 사용자 지정 필터를 사용하지 마십시오. 또한 자동화되어야하므로 독립 실행 형 응용 프로그램을 사용하고 싶지 않습니다. API를 잘 갖춘 라이브러리가 필요하다. 그럼 난 내 애플 리케이션에서 그들이 완료되면. AVI 파일을 변환하는 데 사용할 수 있습니다. 누구든지 나를 가리켜 줄 수 있니? 또는 내 선택 방법에 대한 의견이 있으십니까?

나는 사전에 도움과 고마움을 가장 근사하게 생각합니다.

답변

3

적합한 인코더를 찾는 것은 쉽지 않다 수 있습니다 당신이 생각할 수 있듯이. Microsoft는 Windows 7의 일부 에디션에서는 H.264 (MPEG-4 Part 10) 인코더를 제외하고 DirectShow와는 달리 Media Foundation에서만 인코더를 Windows에 제공하지 않습니다. 이러한 Windows 7 버전으로 제한되는 것이 좋으면 Media Foundation이 좋은 옵션 일 수 있습니다. MSDN은 파일을 파일로 코드 변환하는 샘플을 제공하며 비교적 쉽고 잘 문서화되어 있습니다.

제 3 자 솔루션이 있습니다. 사용자가 인코더를 활용할 수있는 라이브러리가 절반이고, LGPL에서 MPEG-4 Part 2 비디오 인코더를 제공하고, GPL에서 libx264를 통해 MPEG-4 Part 10을 제공하는 FFmpeg가 있습니다. 그리고 MPEG-LA에 로열티를 지불 할 것으로 예상됩니다. FFmpeg는 여전히 커맨드 lnie 인터페이스가 잘 문서화되어 있기 때문에 파일을 파일로 변환하는 좋은 옵션이 될 수 있습니다. (반대로 libavformat/libavcodec API와는 반대로)

또 다른 옵션은 Windows Media 코덱을 사용하고 ASF/WMV 파일로 압축하는 것입니다.

+0

동영상을 일부 MPEG 유형으로 변환하는 경우 MPEG LA로 로열티를 지불해야합니다. 이 비디오의 오디오에 대해서도 동일하게 적용됩니다. 오디오 스트림을 AAC로 변환 할 수 있다면 VIA Licening에 로열티를 지불해야합니다! – CPlusSharp

+0

@CPlusSharp : 그렇습니다. 엔코더가 이미 Windows의 일부로 존재하는 Windows 7을 제외하고는 (그리고 Microsoft는 로열티를 지불했습니다). 그러나 내가 말했듯이 그것들은 Media Foundation 객체뿐입니다. –

+0

로얄 티 수수료가 비상업적 인 소프트웨어에도 적용되는 것은 매우 번거로운 것 같습니다. 그리고 당신의 잘 자세 한 답변을 로마에게 다시 한번 감사드립니다. –

1

위해 libavcodec 및 libffmpeg - 모든 -에 - 모든 미디어 컨버터 (라이브러리 및 명령 줄 응용 프로그램 포함) : MPEG-4 코덱 로열티가 없기 때문에 http://ffmpeg.org/