ビデオ形式、ビデオ方式、およびビデオ再生のプロセス全体の違い

1: ライブ ブロードキャストとオンデマンド ブロードキャストの違いといくつかの形式

1: ライブビデオブロードキャストの再生コンテンツはライブメディアストリームの形式であり、物理ファイルはなく、ビデオ画像と音声情報がリアルタイムで収集、送信、再生されます。録画モジュールが無い場合、再生後に映像や音声が消えてしまい、二次再生ができません。ビデオ オン デマンドの再生コンテンツは、通常、物理ディスクに保存されているビデオ ファイルです。

2: まずライブ ビデオについて話しましょう。ライブ ビデオには、ビデオ画像とサウンドの収集、ビデオ エンコード、パケット送信、ネットワーク送信、パケットの受信とアンパック、ビデオ デコード、ビデオ レンダリング、サウンド再生など、比較的完全なビデオ処理プロセスが含まれます。 、など。

比較的言えば、ビデオ オン デマンドには含まれるプロセスが少なく、通常はファイルの読み取り、ネットワーク送信、ビデオ デコード、ビデオ レンダリング、サウンドの再生のみが含まれ、ビデオ画像とサウンドの収集、ビデオ エンコード、およびパッケージ化は含まれません。
 

3: ライブ ビデオ ブロードキャストとビデオ オン デマンドの間には、技術的なアーキテクチャにも明らかな違いがあります。ビデオ ライブ ブロードキャストの場合、一般的な低遅延ソリューションは主に WebRTC などの RTC ソリューションです。会議のライブ ブロードキャスト シナリオでは、CDN ソリューションが一般的に使用され、rtmp や hls などのストリーミング メディア プロトコル ソリューションが一般的に使用ますもちろん、他の解決策もありますが、ここでは説明せず、後で紹介します。

ビデオ オン デマンドの場合、http、https などの TV 信号とネットワーク プロトコルが一般的に使用されます。ビデオ形式には、m3u8、mp4、flv、mkv、mxfなどが含まれます。ネットワーク プロトコルと伝送信号の前述の違いにより、ライブ ビデオ ブロードキャストとビデオ オン デマンドのプレーヤーソリューションは異なります。これは、2 つの間の大きな違いの 1 つでもあります。

2: RTMP、RTSP、m3u8、flv、mp4、f4v の違いと意味形式ファイルの比較

RTMP と RTSP は、2 つの一般的なストリーミング メディア プロトコルです。
ストリーミング プロトコルは、Web 上でマルチメディアを配信するためのプロトコルです。
ライブ ビデオまたはオンデマンド ビデオを視聴するたびに、その背後にあるテクノロジーがストリーミング プロトコルです。

RTMP
英語の正式名: Real Time Messaging Protocol
中国語の意味: リアルタイム メッセージ プロトコル
基盤となるプロトコル: TCP
アプリケーション レベルのビデオ ストリーミングプロトコル ビデオ
コーデック: H.264
オーディオ コーデック: AAC
遅延: 3 ~ 30 秒


RTMP の最大の利点は、ユーザーのインターネット接続の品質に関係なく、サーバーとクライアント サーバー間の安定した接続を維持でき、シームレスな低遅延ストリーミングが可能になることです。
このテクノロジーは、データ ストリームを等しい部分に分割し、受信デバイスに順次送信し、ビデオ ストリームに再結合することによって機能します。

RTMP の最大の欠点は、HTML5 プレーヤーと互換性がないため、ビデオ ファイルをユーザーのデバイスに送信するには、HLS などの別のプロトコルを使用する必要があることです。また、RTMP は帯域幅の問題の影響を受けやすいです。
 

RTSP
英語の正式名: Real Time Streaming Protocol
中国語の意味: リアルタイム ストリーミング プロトコル
基盤となるプロトコル: TCP および UDP
ネットワーク制御プロトコル ビデオ
コーデック: H.265
オーディオ コーデック: AAC
遅延: 2 秒

RTSP は信頼性の高いセグメント化されたストリーミングをサポートしています。つまり、ユーザーはダウンロード中もストリームの視聴を続けることができます。Android および iOS デバイスには、そのままでは RTSP 互換のプレーヤーがないため、人気は高くありませんが、RTSP は多くの監視で使用されており、非公開です
。 -サーキットテレビ(CCTV)が広く使用されており、リモートカメラ、オンライン教育、インターネット生放送がすべて頻繁に使用されています。

RTMPとRTSPの違い

レイテンシ
RTMP: 3 ~ 30 秒
RTSP: 2 ~ 5 秒
長所
RTMP: 低レイテンシ 適応的な柔軟性 バッファリングの必要がない RTSP: 低レイテンシの
セグメント化されたストリーミング
短所
RTMP: 帯域幅の問題 HTML5 は一部のブラウザおよびデバイスとの互換性をサポートしていません セキュリティが少し低い
RTSP: HTTP には互換性がなく、他のプロトコルに依存しています
。RTMP と RTSP のどちらを選択すればよいですか?
IP カメラと IoT デバイスの場合は RTSP を選択するのが間違いなく、
サードパーティのストリーミング メディア アプリケーションの場合は RTMP を選択するのが間違いありません。


m3u8 は正確にはインデックス ファイルです。

m3u8 ファイルを使用すると、実際にはそれを通じてサーバー上の対応するビデオ ネットワーク アドレスが解決され、オンライン再生が実現されます。

m3u8 形式ファイルの使用の主な理由は、マルチ ビット レートのビデオ アダプテーションを実現できるためです。ビデオ Web サイトは、ユーザーのネットワーク帯域幅に応じて、クライアントが再生する適切なビット レート ファイルを自動的に一致させることができ、ビデオの滑らかさを確保できます。 。

現在の動画 Web サイトでは、ストリーミング メディア伝送プロトコルが使用されており、動画を無数の小さなセグメントに分割し、これらの小さなセグメントは ts 形式の動画ファイルであり、セグメントごとに Web サイト上で再生されます。

この利点は、ネットワーク状況に応じてビデオの解像度を自動的に切り替えるため、よりスムーズに視聴できることであり、ネットワーク状況が不安定な場合でもスムーズな再生を確保するのに非常に役立ちます。

mp4 または flv ファイルを直接ロードする場合、ファイルが 2 時間のエピソードなど非常に大きい場合、1080p のサイズは 2G になる可能性があり、直接ロードは非常に遅くなります。スライスする場合は、ロードするだけで済みます。 m3u8 ファイルの場合、再生用の m3u8 インデックスに従って、この読み込みは高速になります。
 


flv はストリーミング ファイルです
flv ファイルを送信しながら解析できます
flv ファイルのダウンロードと視聴を同時に行うことができます
flv 形式は完全にダウンロードする必要はなく、解析と視聴をサポートします


mp4:

MP4 は、ビデオ、オーディオ、その他のデータを保存できるマルチメディア形式であり、クロスプラットフォームで使用できます。最も一般的なパッケージ形式には、拡張子 .mp4 が付いています。

MP4ファイルは、一連の標準的なコーデックとデコーダで構成されています。コーデックとデコーダは比較的複雑です。MP4 ファイルを再生する前に、ファイルをダウンロードして再生する必要がありますMP4 ファイルはエンコードとデコードが完了するまでに時間がかかるため、先にファイルをダウンロードしておかないと、再生中にフリーズ現象が発生し、動画の再生がスムーズに行われない場合があります。

MP4 ファイルのエンコードとデコードによりファイルの圧縮率も向上し、ストレージ容量を節約できます。

MP4形式の詳しい説明_~Xiaoshengのブログ-CSDNブログ


m3u8ファイル形式とmp4の違いは何ですか

m3u8 形式と mp4 形式の両方を使用して、ビデオのホットリンクを防ぐことができます。m3u8 は、.m3u8 ファイルを使用してブラウザにビデオのダウンロードと再生方法を指示する HTTP ベースのストリーミング形式です。mp4 は、ほとんどのブラウザーやデバイスで再生できるユニバーサルビデオ形式です。

M3U8 ビデオ形式は実際には M3U の一種ですが、そのエンコード形式は UTF-8 形式です。M3U は Latin-1 文字セットでエンコードされます。M3U8 形式は、ディレクトリ情報またはファイルによって特徴付けられます。

MP4動画ファイルはmp4(ファイル形式)です。MPEG-4 には、MPEG-1 と MPEG-2 のほとんどの機能と他の形式の利点が含まれており、仮想現実モデリング言語 (VRML、仮想現実モデリング言語)、オブジェクト指向合成ファイル (オーディオ、ビデオおよび VRML オブジェクト)、デジタル著作権管理 (DRM) およびその他のインタラクティブ機能が含まれます。MPEG-2よりも進化したMPEG-4の特徴の一つは、画像解析にマクロブロックを使用せず、画像の個々の変化を記録するため、画像の変化が激しくビットレートが不足しても、ブロック画面は表示されません。

1 時間のビデオにジャンプする場合、単一の MP4 形式のビデオ ファイルを使用し、HTTP プロトコルも使用する場合は、大きなファイルの一部を取得するための HTTP 範囲リクエストをサポートするプロキシ サーバーが必要です。すべてのプロキシ サーバーがこれを適切にサポートしているわけではありません。

m3u8 の場合、リスト ファイル内の時間軸に従って、ダウンロードする対応する TS セグメントを見つけるだけでよく、範囲リクエストは必要なく、プロキシ サーバーの要件ははるかに小さくなります。すべてのプロキシ サーバーは、小さなファイルの効率的なキャッシュをサポートしています。

2 つの TS セグメントをシームレスに結合し、プレーヤーで連続再生できますが、MP4 ファイルのエンコード方式により、2 つの MP4 セグメントをシームレスに結合できません。プレーヤーで 2 つの MP4 ファイルを連続再生すると、再生が途切れてしまいます。音声と断続的な画像が表示され、ユーザーに影響を与えます。
 


F4V は、Adobe がハイビジョン時代に合わせて導入した FLV 形式に続く、H.264 をサポートするストリーミング メディア形式です。FLV との主な違いは、FLV 形式は H263 エンコードを使用するのに対し、F4V は最大 50Mbps のビット レートで H.264 エンコードされた高解像度ビデオをサポートしていることです。


ライブ ブロードキャストのプロセスと、関連する可能性のあるプロトコルと形式

 


ビデオ再生プロセス

私たちが通常ビデオ (ローカルまたはオンライン) を再生するとき、このビデオがどのように再生されるか考えたことはありますか? 実際、クリックして再生してから最後までビデオを見るまで、一連のプロセスを経ました。驚かれるかもしれませんが、ビデオをクリックして見ただけですが、途中でこれほど多くのプロセスがあるとは予想していませんでした。目に見えないこれらの工程は、技術者たちの黙々とした努力の賜物です。

この記事では、オンラインビデオ再生のプロセスを紹介します。

1: ストリーミングメディアプロトコルの分析

オンラインビデオをクリックすると、すぐにビデオが再生されます。なぜ大きなビデオ ファイルがすぐに再生されるのか驚かれるかもしれませんが、このビデオ ファイルはローカルにダウンロードされましたか? 実際にはそうではなく、ストリーミング メディア プロトコルのおかげで、プレーヤーは送信された部分を再生しただけです。

ストリーミング メディア プロトコルとは何ですか? リアルタイムトランスポートプロトコルとは、インターネット上のマルチメディアデータストリームの伝送プロトコル(アプリケーション層に属する)で、一連のデータを圧縮し、分割してネットワーク上に送り、リアルタイムに伝送する技術のことを指します。オーディオとビデオの視聴用です。ストリーミング メディア テクノロジーを使用すると、ユーザーはファイルをローカルにダウンロードせずに再生できます。

最初のステップはストリーミング メディア プロトコルを分析することです。その目的は、一部のシグナリング データ (再生、一時停止、停止などの制御コマンド) を削除し、オーディオ データとビデオ データを抽出することです。

 2: パッケージ形式を解析する

前のステップでプロトコルを分析した後、オーディオ データとビデオ データが取得されます。これらの音声データと動画データは、一定の規則に従って mp4、flv、m3u8 などの形式のファイルにまとめられます。このステップで行うことは、カプセル化を解除すること、つまり、オーディオ データ、ビデオ データ、およびオーディオ データとビデオ データ間の対応関係をコンテナから抽出することです。

 

3: オーディオとビデオのデコード
前のステップで取得したオーディオとビデオのデータは、元のビデオ データが占有するストレージ容量を削減するために、ビデオ ファイルをエンコードおよび圧縮して容量を削減するため、レンダリングおよび再生できません。収納スペース。つまり、得られるのは圧縮されたデータであり、このステップで行う必要があるのは、圧縮アルゴリズムを通じてオーディオとビデオの元のデータを復元することです。対応するビデオデータは、H.264/AVC、HEVC/H.265 などを通じて元のビデオデータ (YUV または RGB 形式) に復元され、圧縮されたオーディオデータは、H.264/AVC、HEVC/H.265 などを通じて元のオーディオデータ (PCM 形式) に復元されます。 AAC。

4: オーディオとビデオの同期
このステップで行う必要があるのは、ビデオ データとオーディオ データの同期です。つまり、ビデオによって再生される画像と再生される音声が対応します。一般的に使用される同期方法は次のとおりです。 - オーディオ マスター クロック (ビデオとオーディオの同期) - ビデオ マスター クロック (オーディオとビデオの同期) - 外部クロック (システム時間) マスター クロック (ビデオ、オーディオと外部クロックの同期)

主流はメインクロックとしてオーディオです。つまり、ビデオの再生が速すぎる場合は、前のフレームを繰り返し再生してオーディオを待ちます。ビデオの再生が遅すぎる場合は、オーディオに追いつくためにフレームがドロップされます。
5: レンダリングと再生

同期後、ビデオ データはレンダリングのためにグラフィック カードに送信され、オーディオ データは再生のためにサウンド カードに送信されます。

6: まとめ

完全なオンライン再生プロセスには、プロトコル分析 -> パッケージ形式分析 -> オーディオとビデオのデコード -> オーディオとビデオの同期 -> レンダリングと再生が含まれます。

 

オーディオ データを解析した後、いくつかのフィルターや特殊効果トランジションなどをビデオ データに追加したり、オーディオ データに対してノイズ リダクションなどの操作を実行したりするなど、いくつかの特別な処理を実行できます。

動画再生プロセス_SkyNullCodeのブログ-CSDNブログ

 

 

おすすめ

転載: blog.csdn.net/qq_27909209/article/details/130699907
おすすめ