この列には、大きなシェア知識バットのインタビューを焦点を当てて、フォローアップは、トラブルの懸念をクリックするように、更新していきます
インタビュアー:どのようなオーディオおよびビデオ、ビデオを圧縮するために、なぜ必要
精神分析:倉の先生で、オーディオとビデオの滞在小さな映画の概念上の多くの人々は、彼だけがビデオファイルであることを理解することができます。パッケージ形式では、ビデオとオーディオファイルやビデオファイル内のビデオファイルは、関連はないインタビュアーの開発のコンセプトをテストします
求職者は:最初のビデオファイルから構成開始を説明する必要があり、ゆっくりと深いビデオエンコーディングへ
WebRTC
、など、多くの特徴が非常に強い含まれていますなど、オーディオとビデオのキャプチャ、エンコードおよびデコード、トランスミッション、ゲイン、ノイズキャンセル、また、クロスプラットフォームをサポートし、私は使用しましたWebRTC
(ノイズ関連のモジュールをダウンロードするにはこちらをクリック)、コードは実際には非常に論理的ですシンプル、ちょうど4つの機能を使用します
1.创建:WebRtcNs_Create
2.初始化:WebRtcNs_Init
3.设置消噪级别:WebRtcNs_set_policy
4.循环取10ms数据,进行消噪处理:WebRtcNs_Process
具体的なコードは次のよう:
書式#include <stdio.hに> する#include <stdlib.h>に含ま 書式#include <string.hの> の#include "signal_processing_library.h" の#include "noise_suppression_x.h" の#include "noise_suppression.h" の#include "gain_control.h" @インタフェースAudioManager() { NsHandle * _nshandle。 } @end @implementation AudioManager +(instancetype)sharedInstance { 静的IDインスタンス=ゼロ、 静的dispatch_once_t onceToken。 dispatch_once(&onceToken、^ { インスタンス= [自己ALLOC] INIT]; }); インスタンスを返します。 @param品質ノイズキャンセル質量(0,1,2,3)、0最悪の質量、好ましくは3質量 * / +(ボイド)ノイズ除去:(unsigned char型の*)バッファ長:(NSUInteger)長さFS:(NSUInteger) FS品質:(int型)品質{ AudioManager *オーディオ= [AudioManager sharedInstance]; nsHandle * nsHandle = NULL; int型のレベル=品質<0:(品質?> 3. 3:。?品質); IF(オーディオ- > _ nshandle == NULL){ IF){(0 = WebRtcNs_Create(&nsHandle!) のNSLog() "のWebRTCの作成に失敗しました" @; リターン; } !IF(0 = WebRtcNs_Init(nsHandle、(のuint32_t)FS)){ のNSLog(@「のWebRTCの初期化に失敗「); を返す; } IF(= 0 WebRtcNs_set_policy(nsHandle、レベル!)){ NSLog( "のWebRTCの設定が失敗する" @); リターン; } オーディオ- > _ nshandle = nsHandle; }他{ nsHandle =オーディオ- > _ nshandle; } のNSLog( "ノイズレベル=%のD"、レベル@); //私たちを16ビットのPCMオーディオデータを、8000Hzのサンプリングレートが、のWebRTCは、10msのデータを処理し、計算値:はsizeof(ショート)* FS / 100、 すなわち、2 * 80 = 160バイトである (iは0 = int型のために、私は長さ<; I + =はsizeof(ショート)* FS / 100){ ショートINP [80] = {0}; ショートOUTP [80] = {0}; のmemcpy(INP、緩衝液+ I、80 *はsizeof(ショート) ); IF(0 = WebRtcNs_Process(nsHandle、INP、NULL、OUTP、NULL!)){ のNSLog(@ "ノイズキャンセルが失敗した:%D"、I); } memcpy(バッファ+ I、OUTP)、80 *のはsizeof(ショート)。 } }
Audacityの解析ソフトウェア
波形図、次のように:
スペクトラム次のように:
私について
詳細については、あなたがクリックすることができます私に 、そして非常にみんなと共有したい、と一般的な進捗状況