2010-05-09 5 views

답변

0

정말 쉬운 방법은 없습니다. 내 충고는 외부에서 호출하여 C# 래퍼를 사용하거나 ffmpeg를 사용하는 것입니다. ffmpeg (예 : this one)에 대해 여러 가지 C# 래퍼가있는 것 같지만 개발 단계가 다양하고 실제로 사용 가능하지 않은 것 같습니다. 귀하의 유일한 선택은 외부 적으로 전화 할 수있는 가능성이 높습니다.

+0

ffmpeg-sharp가 불완전하고 오래되었습니다. 그걸 가지고 성공 했니? Tao가 조금 더 나은 것으로 나타 났지만 직접 C++/CLI 래퍼를 통해 호출했습니다. –

+0

대부분의 것들은 기본적으로 쓸모가 없었습니다. 제가 조언 한 것처럼, 나는 시스템 ffmpeg와 파이핑을 사용하여 끝나게되었습니다. 컨테이너 형식 간의 단순한 변환에 비해 제어가 적지 만 충분합니다. – TkTech

6

"변환"의 의미에 달려 있습니다. 3GP와 AVI 모두 래퍼 형식이므로 컨테이너 형식을 변경하려는 것입니까 아니면 스트림을 다시 인코딩할까요?

어쨌든 ffmpeg (Windows info)을 살펴 봐야합니다. 단순한 경우 (즉, 파일이 하나의 출력 파일이 필요함) 명령 줄에서 호출하는 것이 좋습니다 (즉, System.Diagnostics.Process). 이는 훨씬 쉽습니다 (라이센스 문제는 포함하지 않음). (그들은 모두 빨아의 다른 상태에있다; Tao 최고의되고 있지만 많은 말을 아니에요) 당신이 프로그래밍 방식 위해 libavcodec/libavormat에 액세스하려면, I 매우 모든 .NET 래퍼 libs와 건너 뛰는 것을 권장하고 대신 C++/CLI 래퍼를 작성. 내가 started doing this, 그리고 마샬링 등 데이터 주위에 내 머리를 가지고, 그것을 (Part 1, Part 2)를 구축하는 방법을 알아 냈어, 너무 열심히 아니었다.

관련 문제