オーディオとビデオの開発は、最近非常に人気のAndroid方向です。合計が離れることができないので、簡単に、知識の内部について学ぶために自由な時間を「Androidのオーディオとビデオの開発」を買ったときに本を購入する前に。ところで、次のプロジェクトは、関連するアプリケーションのオーディオおよびビデオアプリケーションの開発です。
原理はNDKでリンクされる比較的低レベルのオーディオおよびビデオ、あるので、それはまた、C / C ++言語を取り戻すために私をリードC、とリンクされています。
ビデオ符号化
ビデオは次のように定義されたコーディング:
特定の圧縮技術によってビデオフォーマットの他の実施例のビデオ形式にファイルを変換します
このBase64で、私たちはコンセプトが同じであるなど、圧縮/解凍、理解しています。
主流の、重要なビデオ符号化規格は、すなわち、2つのシリーズがあります。
- MPEGシリーズの
ビデオの側面は、主に以下のとおりです。MPEG1(VCD)、MPEG2( DVD)、MPEG4(DVDRipの)、MPEG4 AVC( 人気のある)
オーディオ側面主:MPEGオーディオレイヤー1/2、MPEGオーディオレイヤー3(MP3)、MPEG2 AACのようなMPEG-4 AAC。
注:DVDオーディオはMPEGを使用していません - H.26Xのシリーズは、
伝送ネットワークに焦点を当て、そして唯一のビデオコーディング
含む:H.261、H.262、H.263 +、 H.263 ++、H.264( MPEG4 AVC結晶で動作するようになります)
音声符号化
一般的なオーディオエンコーディングフォーマットのAAC、MP3、AC3
- AAC
、特に音声データ設計ファイル圧縮形式、およびMP3の異なるためには、それが使用するエンコードに新しいアルゴリズムを、より効率的で費用対効果の高いです。AACフォーマットを使用して、音質ではない大幅な前提を下げる(およびMP3よりも良い音質)の意味で、よりコンパクトなファイルをすることができます。
短所:非可逆圧縮、および人気APE、FLACの「本質的に」ギャップは、他の可逆圧縮形式に比べてあります。 - MP3
音声圧縮技術。大幅に音声データの量を減らすように設計されています。そうであっても使用小さいファイル容量に圧縮MP3、1:10あるいは1:12の音楽圧縮比、しかし、ユーザーは、元の音と再生音が有意差は圧縮されていないされていない聞きます。
なぜこのようにですか?これは、MP3の技術的特徴である:人間の耳を使用して周波数領域の信号に変換する時間領域の波形信号の高域音声信号特性に敏感ではありません。信号が歪まないことを確実にするために、高周波信号に大きな圧縮比、低周波信号小さな圧縮率を使用して、異なる圧縮率のために異なる周波数帯域を使用して、複数の周波数帯域に。これには、音声圧縮1:10の比率、あるいは一時12圧縮することを、人間の耳ではなく聞くことができるの高周波部分を放棄しました。 - AC3
AC3は広く5.1で使用されます。率384〜448キロバイト/ sのために、その高い人気は、多くの場合、640キロバイト/ sのビットレートは映画館に適用される時に、CDやDVDに適用されます。5フルレンジチャンネル及びサブウーファーチャネル組成物によって提供されるAC3サラウンドサウンドシステムは、5.1と呼ばれます。フロント左、中央、右フロント、リア左、および右:含む五フルレンジチャネル。優れた音響効果いくつかのシーンを作るためにいくつかの追加情報を提供するために、超低低音チャンネル。
マルチメディア再生コンポーネント
Androidのメディアプレーヤーのコンポーネントが含まれます:
- MediaPlayerのの
再生コントロール - MediaCodecの
オーディオおよびビデオコーデック - OMX
マルチメディアコーデックの標準的な部分で使用されます - StageFright
主OMX層からなる、交換のOpenCore前フレームを、唯一OMX成分部分はのOpenCore参照しました。StageFrightはMediaPlayerServiceにこの層が追加され、のOpenCoreが並置されています。
アンドロイドは、モジュールNuPlayer / AwesomePlayerオーディオとビデオを再生するために使用することができますされている共有ライブラリの形で存在します - AudioTrack
オーディオ再生
一般的なマルチメディア・フレームワークとソリューション
- VLC
クロスプラットフォームフリー、オープンソースのメディアプレーヤーフレームワーク - FFmpegのが
広く、オーディオとビデオの開発に使用されるマルチメディア・ソリューションではなく、マルチメディアフレームワーク、 - GStreamerの
ビルド収入ストリーミングアプリケーションへのマルチメディアフレームワーク。
いくつかの用語
1.フレームレート
表示枠を測定するための測定基準フレームレート。言い換えれば、我々は、最も身近なFPSやHZものです。
注:FPSはモニターのリフレッシュレートを超えている場合、非常に高速リフレッシュを監視することは不可能であるので、そのFPSが高くても、余分な部分は、画像処理の能力の無駄になります。
2.リフレッシュレート
第2のリフレッシュレートは、一般にほぼ垂直リフレッシュ・レートを参照するために参照される水平および垂直リフレッシュレートリフレッシュレート、に分割されるごとに画面がリフレッシュされます。Hzで、より高いリフレッシュレート、より安定した画像、眼にあまり影響。低リフレッシュレート、ちらつきや画像の揺れが速く、目の疲れがより深刻です。彼らはより多くの80Hzのリフレッシュレートよりも到達可能な場合、一般的に言えば、あなたは完全に画像の揺れ感をなくすことができます。
3.パッケージ形式は、
オーディオとビデオは、特定の形式の容器に封入符号化されました。カプセル化は、MKV、AVI、TSなどをフォーマットします。
4.ビットレートは
ビットレートです。単位時間連続メディアプレーヤ(例えば、圧縮されたオーディオまたはビデオ)当たりのビット数です。より高いビットレート、より多くの帯域幅の消費。
割合(B / S)=ファイルサイズ(B)/時間(秒)
5.ビットレートと品質
組立高品質のビデオにつながった割合は、より多くのそれを滑らかに?答えは間違っている
、実際にビデオの品質とビットレートエンコードアルゴリズムが関係を持っています。
6.DTSとPTS
- DTS(デコードタイムスタンプ)が
デコーダにビットストリームが復号開始時に主メモリに標識するために使用されます - PTS(プレゼンテーションタイムスタンプ)は、
主に映像が表示されるときにデコードされたフレームを測定するために使用されます。
7.YUVとRGB
- YUV
欧州のテレビシステムで使用されるカラー符号化方式。Yは、UV色代表尺度を表します - RGB
8.ビデオフレームとオーディオフレーム
、ビデオフレームI、P、B
- Iフレームは、キーフレームを表し、
- Pフレームは、このバーストを表し、異なるキーフレーム前
のデータ、少し前差の画像とデータのみのノー全体像 - Bフレームは、双方向差フレームである
現フレームとの間のBフレーム差は、フロントとリアフレームの確率であります
オーディオフレームはそれほどのコンクリートではありません。これは、関連する形式をコードする、それが様々なコーディング標準そのものの実現です。
- PCM(非エンコードされたオーディオデータ)のために、彼はフレームの概念を必要としませんでした
- AMRフレーム。各条項は、音声の各フレームは独立している、20ミリ秒のバーストです。
- 複雑なMP3フレームは、サンプルレート、ビットレートやその他のパラメータとして、多くの情報が含まれています。
9の量子化精度
量子化精度は、アナログ信号をより近いオリジナル曲の楽音圧振幅レベルの数、より高い量子化精度、に分割することができる示しています。ユニットはDVDが24ビットである、標準のCDは16ビットで、ビットです。
10.サンプリングレート
オーディオサンプリング点の数当たりの、ヘルツ単位のサンプリングレート
11.チャネルは
チャネルの数が音源のスピーカの数であるように、独立して、記録または再生時の空間的位置又は再生されたオーディオ信号をダイヤル収音を指すときに音声録音または再生の数。
共通チャネルは以下のとおりです。
- モノ
- ステレオ
、モノラル、2つのスピーカーは左右対称拡張、非常に良いへ - 4チャンネル
フロント左、フロント右、リア左、リア右。 - 5.1
前述しました - 7.1
5.1に基づいて、左右の音の二点に加えました。よりバランスのとれたリスナーのためのフロントとリア。