iOSの - ライブプロセス、プッシュビデオストリーミング、ビデオストリーミングプル、プロフィール、SMTP、RTMP、HLS、PLPlayerKit

コレクションノート

オーディオおよびビデオ処理の1つの一般的な流れ:

→データ→データ取得符号化された送信データ(ストリーミングメディアサーバ)→→復号されたデータの再生表示
1、データ収集:
ビデオおよびオーディオ・データを収集するカメラとマイク、このとき得られた元のデータである
技術またはプロトコル:
カメラ:CCD、CMOS
ピックアップ:音響電気変換手段(マイク)、音声増幅回路
2、データ符号化:
(など、例えば、オーディオ及びビデオミキシング包装梱包)、ハードウェアまたはソフトウェア、オーディオ、元の映像データが符号化される関連(デジタル化)処理を使用して、利用可能を与えますオーディオ及びビデオデータ
:技術またはプロトコルに
符号化:CBR、VBR
符号化フォーマットの
ビデオ:H.265、H.264、MPEG-4など、包装容器TS、MKV、AVI、MP4、等持つ
オーディオ:G.711μ、AACを、オーパス、など、カプセル化されたMP3、OGG、AACなど
3、データ伝送:
送信用にエンコードされたオーディオおよびビデオデータは、早期のオーディオおよびビデオ同軸ケーブル上の送信などを完了したIPネットワークの開発、使用していますIP転送網は、好ましくは、
技術やプロトコルにも関する:
伝送プロトコル:RTPとRTCP、RTSP、RTMP、HTTP、 HLS(HTTPライブストリーミング) 、および他の
制御シグナリング:SIPとSDP、SNMP
4、デコードされたデータ:
画像を得るために、受信を復号するハードウェアまたはソフトウェアに関連する符号化されたオーディオ及びビデオデータを用いて、直接/オーディオ表示することが可能
な技術又はプロトコル:
一般エンコーダに対応するには、対応するデコーダであろう復号等のいくつかのサードパーティ製のプラグインもある
5、演劇ショー:
ディスプレイ(TVモニタ画面など)やスピーカ(ヘッドホン、スピーカ、等)、画面は、対応する画像を表示や音声
技術またはプロトコルに:
ディスプレイ、スピーカ、3D眼鏡など


ビデオストリーミングビデオのプッシュプル・ストリームの解析の動作中(B):

1.ビデオ端子プラグフロー

プラグフローは、それは、ストリーミングプロトコルを介してストリーミングメディアサーバーに送信集音した音声や映像データです。

、ストリーミングプロトコル

今、主にRTMPプロトコルを使用して、アプリケーションを生きるだけでなく、いくつかは、HLSプロトコルを使用しています。

RTMPプロトコルを使用して、TCPプロトコルを使用して、ストリーミングメディアサーバー、1935のデフォルトのポートRTMPプロトコルとの相互作用の過程を見ることが必要です。そして、FLVのカプセル化形式を理解する必要があります。

それはスライスを含むので、HLSプロトコルを使用して、遅延が比較的大きくなり、私たちは、TSストリームを理解する必要があります。

第二に、オーディオとビデオのデータを収集します

住んでいますか、データの不可欠なソースは、カメラ、マイクデータを収集しています。

iOSのプラットフォーム・オーディオおよびビデオ・データの収集は、コールバックcaptureSessionセッション、ビデオデータからオーディオを取得するためにAVFoundation.Frameworkフレームワークを使用します。

第三に、ハードコードされ、ソフト符号化されたオーディオおよびビデオデータ

ソフトコーディングは、ハードコードされた逆のオーディオおよびビデオデータを圧縮するためのCPUリソースを使用することです。

ソフト符号化されたが、現在広く実装する結合ライブラリーをコードするFFmpegのライブラリーを用い、YUV / RGBデータ出力H264にFFmpegの+ X624エンコードされたビデオデータ
AACエンコードされたオーディオデータ出力PCMデータへのFFmpegのfdk_aacの+。

選択されたストリーミング・メディア・プロトコルに従って第四に、オーディオおよびビデオデータパケット

オーディオ、ビデオ、パケットにパッケージ化。

第五に、データのパケットを送信するために、サーバーと対話します

選択されたストリーミングプロトコルに応じて、サーバは、サーバへの接続が成功した後、データパケットを送信することができ、対応する命令が接続されて送ります。

パート2プルストリーム終了

流れを引いて、それがストリーミングメディアサーバー、ビデオデータからオーディオを取得することです。

I.解決プロトコル

プレイヤ端末ストリーミングプロトコル(RTMP、HLS)URLを解析するために使用します。

第二に、カプセル化解除

デカプセル化は、コンテナ形式(FLV、TS)、分離された音声及び映像データから、DEMUXプロセスです。

第三に、デコード

デコードは、データ伸長を取得元のデータを復元することです。H264は、PCMにYUV、AACに復号されます。

デコーダは、ソフト復号化ハードウェア復号化を使用することができます。

ソフト復号データを解凍するためにCPUリソースの使用で、使用される方法はデコードするFFmpegのです。

ハード復号は、IOSプラットフォームのために、それは(フレームのみIOSの8.0システム上で)VideoToolbox.Framework使用することができる
ビデオ・データを復号化するハードウェア。Androidプラットフォームは、映像データを復号MediaCodecのハードウェアを使用することができます。

第四に、描画データ

OpenGLレンダリングを使用してYUVデータは、ビデオ画面を描画します。PCMデバイスのハードウェアリソースのプレイに、音を生み出します。

AudioToolbox.Frameworkフレームを使用してオーディオキュー方式を使用して、オーディオのストリーミング再生のiOS、すなわち、。

 


3:iOSのサードパーティ製のリソースのiOSの開発に有用ライブプラットフォームの共有:

1.本当の美しさの参考URL:HTTP://altitudelabs.com/blog/real-time-filter/
2.ライブテスト住所:
HLS:HTTP:フェニックス//live.3gv.ifeng.com/live/hongkong.m3u8香港のTV局
SMTP:RTMP:香港のTV //live.hkstv.hk.lxdns.com/live/hks
RSTPを:RTSP:Iニュース1 //rtsp.vdowowza.tvb.com/tvblive/mobileinews200.stream
      3. HLSをダウンロード・ストリーミング、処理オーディオおよびビデオソースのダウンロードツールストリーミングHLS用M3U8
   4.航空関連のSDK

        1. VideoCoreは、iOSのSDKドキュメントのプラグフローを使用して、シーナクラウドで文書化されて読み取ることができ
        、2網易クラウドライブSDKの手紙は有料のようです、価格は安くはない、会社が使用することはできませんが、あなたが見しようとすることができます見て、学習に貢献!
3.エア嵐の雲がhttp://www.baofengcloud.com/apisdk/sdk/live/iossdk.html
  にhttp://www.rongcloud.cn/live 4.エアクラウドを
        放送テンセントSDKのHTTPS 5.:// WWW .qcloud.com /ソリューション/ video.html
   5.ライブ関連のオープンソースライブラリ

       1. BeautifyFaceDemo GPUImageベースの画像処理、あなたは美しさの側面を参照することができます

       RTMPスウィフトの2 lf.swiftオープンソース版は、あなたが学ぶことができます!著者は日本で、あるいは日本で働いているかのように、彼は多くの日本人が書きました!

       3. RTMPをサポートし、FFmpegはに依存していないプレイヤーをPLPlayerKit

       4. HLS-デモhttps://github.com/yangchao0033/HLS-Demo HLSプレイデモ

       5. SmarterStreaming https://github.com/daniulive/SmarterStreamingエアSDK(WindowsなどRTMPサポート専用プロトコル及び栓流、栓流/アンドロイドプラグフロー/ IOSのフロー/窓プレーヤー/アンドロイドプレーヤー/ IOSのプレーヤプラグ)

4:詳細なライブビデオ放送関連のプロトコルのための共通プラットフォームのiOSのiOSの開発

1、RTMP(リアルタイムメッセージングプロトコル、リアルタイムメッセージングプロトコル)

RTMPは、サーバーやオーディオ、ビデオ、およびオープンなプロトコルのデータ伝送開発との間にはAdobe SystemsのFlash Playerのです。これは3つのバリエーションがあります。

1)、TCPの上で作業するという合意を表明し、ポート1935を使用していますします。

2)、RTMPTは、ファイアウォールを介して、HTTPリクエスト中にカプセル化。

3)同様のRTMPTをRTMPSが、HTTPS接続を使用して、

RTMPプロトコルビデオは、オーディオ伝送には、Flashオブジェクトに使用され、。このプロトコルは、TCPまたはHTTPプロトコルのポーリングの上に構築されました。データパケットを収容するための容器としてRTMPプロトコル、これらのデータはAMF形式、ビデオおよびオーディオデータは、FLVでのいずれかであり得るデータであってもよいです。単一のネットワーク接続は、異なるチャネルを介して複数のストリームを送信することができ、これらのチャネルは、固定サイズのパケットで送信されたパケットです。

2、RTSP(リアルタイムストリーミングプロトコル、リアルタイムストリーミングプロトコル)

RTSPは、効果的に、IPネットワーク上でマルチメディアデータを送信するためにどのように多くのアプリケーションを定義します。RTSPは、データソースがその中に格納されている既存データとリアルタイムデータを含むことができる、拡張可能なフレームワークを提供します。このプロトコルは、UDP、マルチキャストUDP及びTCP経路を提供し、RTP方法を提供するに基づいて配信メカニズムを選択するための伝送チャネルを選択するために、データ伝送接続の複数を制御することを目的とします。

HTTP / 1.1とのRTSPの構文と操作が似ていますが、特に時間同期を強調していない、それはネットワーク遅延のより寛容です。プロキシキャッシング機能もRTSPに適用され、そして有するのでRTSPをリダイレクトし、スイッチングサーバは、同一の遅延によるサーバの負荷の過度の集中を回避するために、実際の負荷に基づいてサービスを提供してもよいです。

3、RTP(リアルタイムトランスポートプロトコル、リアルタイムトランスポートプロトコル)

RTPは、マルチメディアデータストリームのためのトランスポート層プロトコルであり、インターネット上のオーディオおよびビデオの標準的なパケットの伝送フォーマットを詳述します。RTPプロトコルは、一般的にそのIPテレフォニー産業の技術基盤作り、(RTCPプロトコル)メディアシステム、ビデオ会議をストリーミングするために使用され、(H.323またはSIPを使用)システムを話すために押してください。

RTPは、多くの場合、それ自体が時間通りに配信メカニズムやサービス(QoS)の他の品質保証を提供していませんRTCP、と組み合わせて使用​​UDPプロトコルに基づいており、それはこのプロセスを達成するために、低レベルのサービスに依存しています。

RTPは関係なく、受信者がパケットを受信したかどうかの、かどうかにかかわらず、伝送損失の、配信を保証するか、次の送達の外に防ぎ、また基礎となるネットワークの信頼性を判断するために、単に送信されません。シーケンス番号は、ビデオデコードなどのパッケージの適切な位置を決定するために使用することができるがRTP順序配信実装、RTPパケットシーケンス内のシーケンス番号は、送信者組換えレシピエントを可能にし、必要逐次復号は存在しません。

4、RTCP(リアルタイムトランスポート制御プロトコル、リアルタイムトランスポート制御プロトコル)

RTP RTCPは、RTPメディアストリーム外制御チャネルを提供する、サポートプロトコルです。RTPとRTCPのパッケージとの連携やマルチメディアデータを送信する、制御データ参加者の定期的な変速機との間のセッションをマルチメディアストリーミング。

RTCPの主な機能は、等メディア接続、例えば、転送バイト数、送信パケット数、失われたパケットの数、遅延、一方向及び双方向ネットワークに関する統計情報を収集するために提供されるサービス品質(QoS)のRTPのフィードバックを提供することです。ネットワークアプリケーションは、フロースイッチの制限または圧縮コーデックよりも小さいように、RTCPによって提供される情報は、サービス品質を改善利用することができます。
---------------------

おすすめ

転載: www.cnblogs.com/baitongtong/p/11248966.html