문제

G729 인코딩 오디오 파일이 있습니다. 프로그래밍 방식으로 다른 일을하는 도구의 흐름에서 WAV PCM (16 비트 8kHz 모노)으로 변환해야합니다. 나는 나를 위해 그렇게 할 실행 파일이 있습니다. 그러나 전환 할 때마다 그 외부 프로세스가 산란하는 것은 자원이 너무 무겁습니다. 특히 많은 사람들이 병렬로 수행해야한다면. 내 프로세스 내에서이를 호출 할 수있는 .NET 라이브러리 또는 코드를 찾고 있습니다.

도움이 되었습니까?

해결책

이 링크를 따르십시오 : Voiceage Open G.729 구현. 또한 C로 작성된 G729 디코더 및 엔코더를 제공합니다.

다른 팁

Wikipedia에 따르면 G.729는 여러 특허를 포함하고 있으며 시프라, 따라서 당신은 아마도 적절한 로브라리를 찾는 것이 많지 않을 것입니다. 많은 작은 파일을 해독하지 않는 한, 새로운 프로세스를 산란하는 비용은 디코딩 비용에 비해 크지 않아야하므로 실행 파일을 사용한다고 말합니다.

리소스가 진행되는 한, 산란 프로세스에는 스레드 사용에 비해 훨씬 더 많은 리소스가 필요합니다. 그러나 컴퓨터에 코어가있는 것처럼 많은 프로세스 만 생성하는 한 실제로는 중요하지 않습니다. 더 많은 프로세스를 산란하면 자원을 낭비하고 추가 병렬성을 얻지 못합니다.

Wikipedia는 다음과 같이 말합니다. "G.729는 여러 회사의 특허를 포함하고 SIPRO가 라이센스를 부여합니다 (http://www.sipro.com/). 여러 국가에서 G.729의 사용에는 라이센스 수수료 및/또는 로열티 수수료가 필요할 수 있습니다. "

그러나 나는 당신이 이미 당신의 신청서에서 그것을 고려한 것 같습니다.

절대적으로 프로세스가되어야한다면, 하나의 솔루션 (최고라고 말하지 않음)은 LGPL 아래에있는 Libavcodec을 사용하는 것입니다.

무료 사용중인 참조 구현 : http://www.readytechnology.co.uk/open/ipp-codecs-g729-g723.1/

다른 사람이 제기 한 특허 문제, 참조 구현은 인텔 프로세서에서만 실행되며 상용 제품의 일부로 IPP 라이브러리를 사용하여 코드를 배포하려면 Intel에 요금을 지불해야한다는 사실에 유의하십시오.

G729 시스템에 ACM 코덱이있는 경우 사용할 수 있습니다. 나우 디오 PCM으로 변환합니다. Naudio에 포함 된 Naudiodemo 애플리케이션을 사용하여 시스템에서 사용할 수있는 ACM 코덱을 표시하고이를 사용하여 파일을 디코딩 할 수 있습니다.

G729 컨버터와 관련하여 먼저 저에게 촉구하는 것은 ITU G729-A 표준입니다. ITU 공식 G729A (및 공식적으로 멀티 스레드를 지원하지 않습니다 ...) LIB는이 아이디어에 크게 관여하고 있기 때문에 동시성과 G729A LIB 내에 많은 정적 변수로 올바르게 프로그래밍하는 방법을 고려해야한다고 생각합니다. OP Descibes와 같은 작은 프로젝트에서 기본적으로 거대한 G729 파일을 G729 청크로 나누고 합리적인 동시성 프로그래밍 방식으로 개별적으로 디코딩합니다 ...

파일에 필요한 코덱 만보고 싶다면 gsopt 최신 버전의 다운로드 ( 여기를 클릭하십시오 다운로드 페이지를 직접 열려면).

다운로드 후 파일 열기 폴더를 추출하고 EXE, 이제 찾아보기 버튼에서 파일을 선택하고 파일이로드 된 후 모든 정보가 표시됩니다. (파일에 표시되지 않은 경우 browse dialogue box 그냥 선택하십시오 All Files(*.*) ~에서 browse file dialogue)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top