FMUSER Wirlessはビデオとオーディオをより簡単に送信します!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->アフリカーンス語
sq.fmuser.org ->アルバニア語
ar.fmuser.org ->アラビア語
hy.fmuser.org ->アルメニア語
az.fmuser.org ->アゼルバイジャン
eu.fmuser.org ->バスク
be.fmuser.org ->ベラルーシ語
bg.fmuser.org ->ブルガリア語
ca.fmuser.org ->カタロニア語
zh-CN.fmuser.org ->中国語(簡体字)
zh-TW.fmuser.org ->中国語(繁体字)
hr.fmuser.org ->クロアチア語
cs.fmuser.org ->チェコ
da.fmuser.org ->デンマーク語
nl.fmuser.org ->オランダ語
et.fmuser.org ->エストニア語
tl.fmuser.org ->フィリピン人
fi.fmuser.org ->フィンランド語
fr.fmuser.org ->フランス語
gl.fmuser.org ->ガリシア語
ka.fmuser.org ->グルジア語
de.fmuser.org ->ドイツ語
el.fmuser.org ->ギリシャ語
ht.fmuser.org ->ハイチクレオール
iw.fmuser.org ->ヘブライ語
hi.fmuser.org ->ヒンディー語
hu.fmuser.org ->ハンガリー語
is.fmuser.org ->アイスランド語
id.fmuser.org ->インドネシア語
ga.fmuser.org ->アイルランド
it.fmuser.org ->イタリア語
ja.fmuser.org ->日本語
ko.fmuser.org ->韓国語
lv.fmuser.org ->ラトビア語
lt.fmuser.org ->リトアニア語
mk.fmuser.org ->マケドニア語
ms.fmuser.org ->マレー語
mt.fmuser.org ->マルタ語
no.fmuser.org ->ノルウェー語
fa.fmuser.org ->ペルシア語
pl.fmuser.org ->ポーランド語
pt.fmuser.org ->ポルトガル語
ro.fmuser.org ->ルーマニア語
ru.fmuser.org ->ロシア語
sr.fmuser.org ->セルビア語
sk.fmuser.org ->スロバキア
sl.fmuser.org ->スロベニア語
es.fmuser.org ->スペイン語
sw.fmuser.org ->スワヒリ語
sv.fmuser.org ->スウェーデン語
th.fmuser.org ->タイ
tr.fmuser.org ->トルコ語
uk.fmuser.org ->ウクライナ語
ur.fmuser.org ->ウルドゥー語
vi.fmuser.org ->ベトナム人
cy.fmuser.org ->ウェールズ
yi.fmuser.org ->イディッシュ語
オープンソースコードlive555は、ストリーミングメディア送信機能を実装するために使用されるSDKです。 SDKのteSTProgsフォルダーにあるplayCommon.cppを使用して、IP TVセットトップボックスの送信モジュールを設計し、再生モジュールとともに、IPTVセットトップボックスプロセスのストリーミングメディアプレーヤーを構成します。 playCommon。 cppは、サーバーとクライアントを接続するブリッジです。 その動作原理は、クライアントがサーバーにデータを要求すると、サーバーのURLからSDP記述情報を取得し、SDPに基づいてマルチメディアセッションを作成し、最後にデータストリームを再生することです。
live555オープンソースコードのplayCommON.cppの機能を使用したIPTVセットトップボックスストリーミングメディアプレーヤーの設計プロセスを紹介し、IPTVセットトップボックスのソフトウェア構造設計と組み合わせて、IPTVセットトップボックスの伝送モジュールを開発しました。 。 次に、送信モジュールはメッセージキューを介してミドルウェアに接続され、同時に再生モジュールの入力機能を介して再生モジュールに接続され、最終的にIPTVセットトップボックスのストリーミングメディアプレーヤーを構成します。 プレーヤーはテスト済みで、安定したパフォーマンスを発揮します。
1IPTVセットトップボックスストリーミングメディアプレーヤーの設計
1. 1IPTVセットトップボックスソフトウェア構造
セットトップボックスのソフトウェアコードは、ハードウェアドライバー、オペレーティングシステム、ミドルウェア、アプリケーション層の4つの部分に分かれています。
1)ハードウェアドライバーは、基盤となるハードウェアと上位のオペレーティングシステムを接続します。 2)オペレーティングシステムここでは、無料のオープンソースコードLinuxが使用されています。 3)ミドルウェア上位のアプリケーション層を基盤となるオペレーティングシステムおよびハードウェアから分離するソフトウェア適応層。 ミドルウェアのコアモジュールには、主に次のものが含まれます。(1)ブラウザ:サーバーからURLを取得し、対応するEPGページを表示します。 (2)グラフィカルユーザーインターフェイス管理:ユーザーインターフェイスコントロール(ボタン、リストなど)やアプリケーションのグラフィック画像描画などのグラフィック機能を提供します。 4)アプリケーション層は、オーディオおよびビデオメディアファイルの再生を実現します。
1.2IPTVセットトップボックスストリーミングメディアプレーヤーのシステム構造
PlayCommon.cppは、Live555オープンソースコードで、コンピューターを受信端末として使用し、VLCソフトウェアを受信して再生し、最終的にコンピューターに表示する機能を実現します。 研究の内容は、playCommon.cppをセットトップボックスのソフトウェアコードに統合し、最終的にIPTVセットトップボックスを受信端末として使用し、それを再生してテレビに表示する機能を実現することです。 これにより、コードの設計に関する新しい要件が提示されます。一方、playCommon.cppは、VLCのRTSP列に再生するrtsp:// local IP address:port number / file nameを入力して、サーバーのURLを取得します。 。 獲得しました。 ただし、IPTVセットトップボックスの場合、送信モジュールによって取得されたURLは、ユーザーがリモコンを介してEPGでプログラムを選択したときに対応するURLになります。 このURLはミドルウェアのブラウザで読み取られるため、ミドルウェアと伝送モジュールを接続する必要があります。 一方、playCommon.cppによって送信されたデータストリームは、VLCを介して受信および再生されます。 IPTVセットトップボックスの場合、送信モジュールによって送信されたデータストリームは、再生モジュールを介して受信および再生されます。 そのため、送信モジュールと再生モジュールを接続する必要があります。
ミドルウェア、出力モジュール、再生モジュールを接続するために、これらXNUMXつのモジュール間のデータ通信を実現するメッセージキューが設計されています。 さらに、pt hread create()は、プログラムの並行性を実現するためにスレッドrt spmain()を作成するようにプログラムで設計されています。
1.3プログラム構造分析
1.3.1送信モジュール。
1)メイン関数(1)void initMsgQ()はメッセージキューを初期化します。 dataQidは、ネットワーク上で送信されるデータを含むデータのメッセージキューを表します。 最後に、メッセージキュー内のデータは、void send data to player()関数を介してプレーヤーに送信されます。 msgkeyQidは、メッセージキー値のメッセージキューを表します。 送信モジュールは、ミドルウェアから取得したリモコンのキー値コマンドを受信してプレーヤーに送信し、早送り、早巻き、停止、再生の各操作を実現します。 fromeMiddleQidは、ミドルウェアのメッセージキューを表します。 送信モジュールは、クライアントプレーヤーがサーバーにデータを要求すると、ミドルウェアから送信されたURLを宛先アドレスとして受信します。 playerStateQidは、再生状態のメッセージキューを表します。 送信モジュールは、プレーヤーの状態を送受信し、プレーヤーがオンデマンド、ライブ、またはタイムシフトのいずれであるかを制御するために使用されます。 (2)phread_create(&g_session_thread_info、&tattr、(void *(*)(void *))rtsp_main、(void *)&urlInform); rtsp_main()スレッドを作成します。 メッセージキューの通信とストリーミングメディアの送信が同時に実行されることを確認します。
2)rtsp_main関数。 (1)recvMiddlewareMsg(fromeMiddleQid、url):ミドルウェアから渡されたurlの値が変数urlに割り当てられます。 (URLの定義はミドルウェアで完了しているため、ミドルウェアから取得する必要があります)。 (2)playCommon.cpp機能:クライアントがサーバーに要求を送信すると、サーバーは要求に応答し、メディアセッションを作成し、データストリームを再生します。 (3)main_player_entry(gTrans。firstCreate):クライアントはストリームを受信し、プレーヤーのエントリ関数を呼び出してプレーヤーを初期化します。 (4)void send_data_to_player():プレーヤーを呼び出し、インターネットから受信したデータをプレーヤーに送信して、再生を開始します。
|
サプライズを取得するには、メールアドレスを入力してください
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org ->アフリカーンス語
sq.fmuser.org ->アルバニア語
ar.fmuser.org ->アラビア語
hy.fmuser.org ->アルメニア語
az.fmuser.org ->アゼルバイジャン
eu.fmuser.org ->バスク
be.fmuser.org ->ベラルーシ語
bg.fmuser.org ->ブルガリア語
ca.fmuser.org ->カタロニア語
zh-CN.fmuser.org ->中国語(簡体字)
zh-TW.fmuser.org ->中国語(繁体字)
hr.fmuser.org ->クロアチア語
cs.fmuser.org ->チェコ
da.fmuser.org ->デンマーク語
nl.fmuser.org ->オランダ語
et.fmuser.org ->エストニア語
tl.fmuser.org ->フィリピン人
fi.fmuser.org ->フィンランド語
fr.fmuser.org ->フランス語
gl.fmuser.org ->ガリシア語
ka.fmuser.org ->グルジア語
de.fmuser.org ->ドイツ語
el.fmuser.org ->ギリシャ語
ht.fmuser.org ->ハイチクレオール
iw.fmuser.org ->ヘブライ語
hi.fmuser.org ->ヒンディー語
hu.fmuser.org ->ハンガリー語
is.fmuser.org ->アイスランド語
id.fmuser.org ->インドネシア語
ga.fmuser.org ->アイルランド
it.fmuser.org ->イタリア語
ja.fmuser.org ->日本語
ko.fmuser.org ->韓国語
lv.fmuser.org ->ラトビア語
lt.fmuser.org ->リトアニア語
mk.fmuser.org ->マケドニア語
ms.fmuser.org ->マレー語
mt.fmuser.org ->マルタ語
no.fmuser.org ->ノルウェー語
fa.fmuser.org ->ペルシア語
pl.fmuser.org ->ポーランド語
pt.fmuser.org ->ポルトガル語
ro.fmuser.org ->ルーマニア語
ru.fmuser.org ->ロシア語
sr.fmuser.org ->セルビア語
sk.fmuser.org ->スロバキア
sl.fmuser.org ->スロベニア語
es.fmuser.org ->スペイン語
sw.fmuser.org ->スワヒリ語
sv.fmuser.org ->スウェーデン語
th.fmuser.org ->タイ
tr.fmuser.org ->トルコ語
uk.fmuser.org ->ウクライナ語
ur.fmuser.org ->ウルドゥー語
vi.fmuser.org ->ベトナム人
cy.fmuser.org ->ウェールズ
yi.fmuser.org ->イディッシュ語
FMUSER Wirlessはビデオとオーディオをより簡単に送信します!
お問い合わせ
カテゴリー
ニュースレター