FFmpeg란 무엇입니까? FFmpeg는 인간과 기계가 만든 거의 모든 것을 디코딩, 인코딩, 트랜스코딩, mux, demux, 스트리밍, 필터링 및 재생할 수 있는 최고의 멀티미디어 프레임워크입니다. 그것은 최첨단까지 가장 모호한 고대 형식을 지원합니다. 일부 표준 위원회, 커뮤니티 또는 기업에서 설계한 것이든 상관 없습니다. 또한 이식성이 높습니다. FFmpeg는 다양한 빌드 환경, 기계 아키텍처 및 구성에서 Linux, Mac OS X, Microsoft Windows, BSD, Solaris 등에서 테스트 인프라 FATE를 컴파일, 실행 및 통과합니다.
FFmpeg 작업 흐름.
Tonmind PA System Lite 소프트웨어는 음성을 전송할 때 오디오 형식 변환 및 샘플링 속도 변환을 위해 FFMpeg를 사용합니다. IP 스피커 . MP3, G722, OPUS 인코딩 등을 지원할 수 있습니다.
FFmpeg에서 제공하는 다양한 라이브러리.
libavcodec 인코딩/디코딩 라이브러리 libavfilter 그래프 기반 프레임 편집 라이브러리 libavformat I/O 및 muxing/demuxing 라이브러리 libavdevice 특수 장치 muxing/demuxing 라이브러리 libavutil 공통 유틸리티 라이브러리 libswresample 오디오 리샘플링, 형식 변환 및 믹싱 libpostproc 사후 처리 라이브러리 libswscale 색상 변환 및 스케일링 라이브러리
Tonmind PA 시스템 및 Tonmind Audio Manager 소프트웨어는 오디오 및 비디오 인코딩 및 디코딩에 libavCodec 및 libavFormat을 사용하고 오디오 데이터에는 libswresample을 사용합니다. Tonmind에 최상의 음질을 제공하기 위해 가능한 한 음질 손실을 방지하기 위해 리샘플링 처리 SIP 스피커.
버전 관리 및 호환성. 각 FFmpeg 라이브러리에는 LIBRARYNAME_VERSION_{MAJOR,MINOR,MICRO} 매크로를 사용하여 주, 부 및 마이크로 버전 번호를 정의하는 version.h 헤더가 포함되어 있습니다. 주 버전 번호는 이전 버전과 호환되지 않는 변경 사항으로 증가합니다. 공개 API의 일부 제거, 공개 구조체 멤버 재정렬 등. 하위 버전 번호는 이전 버전과 호환되는 API 변경 또는 주요 새 기능에 대해 증가합니다. 새로운 공개 기능 또는 새로운 디코더를 추가합니다. 마이크로 버전 번호는 호출 프로그램이 여전히 확인하려는 작은 변경 사항에 대해 증가합니다. 이전에 지정되지 않은 상황에서 행동을 변경합니다. FFmpeg는 주요 버전 번호가 변경되지 않는 한 각 라이브러리에 대해 이전 버전 API 및 ABI 호환성을 보장합니다. 즉, 공개 기호가 제거되거나 이름이 변경되지 않습니다. 공개 구조체 멤버의 유형과 이름, 공개 매크로 및 열거형의 값은 동일하게 유지됩니다(공개 API의 일부가 아닌 것으로 명시적으로 선언되지 않는 한). 문서화된 동작은 변경되지 않습니다. 즉, 주어진 FFmpeg 스냅샷과 함께 작동하는 올바른 프로그램은 동일한 주 버전의 이후 스냅샷을 변경하지 않고도 잘 작동해야 합니다. 이것은 새로운 FFmpeg 버전에 대해 프로그램을 다시 빌드하거나 프로그램이 링크하는 동적 FFmpeg 라이브러리를 교체하는 데 모두 적용됩니다. 그러나 새 공용 기호가 추가될 수 있고 크기가 공용 ABI의 일부가 아닌 공용 구조체(FFmpeg의 대부분의 공용 구조체)에 새 멤버가 추가될 수 있습니다. 새 매크로 및 열거형 값이 추가될 수 있습니다. 문서화되지 않은 상황에서의 행동은 약간 변경될 수 있습니다(문서화됨). 이러한 모든 항목에는 doc/APIchanges 항목이 수반되며 부 또는 마이크로 버전 번호가 증가합니다.
FFmpeg 개발 인터페이스 호출 흐름.
음질 주파수 코딩 및 리샘플링을 변환하는 FFMpeg 응용 프로그램을 통해 Tonmind PA System Lite 소프트웨어는 우수한 음질을 구현하고 음질 손실이 없습니다. 고객은 Tonmind의 효율적인 관리를 위해 소프트웨어를 적용할 수 있습니다. SIP 호출 스피커.