【文献】
仙田裕三,「シームレスビデオサービスとビデオトランスコーダ」,NEC技報,日本,株式会社NECクリエイティブ,1998年 8月25日,Vol.51, No.8,第46〜49頁,ISSN:0285-4139
【文献】
CHIN-FENG LAI, et al.,"CLOUD-ASSISTED REAL-TIME TRANSRATING FOR HTTP LIVE STREAMING",IEEE Wireless Communications,2013年 7月 1日,Vol.20, No.3,Pages 62-70,ISSN: 1536-1284, <DOI: 10.1109/MWC.2013.6549284>
【文献】
中村和己(外3名),「時間タグを利用したストリーミングコンテンツ同時視聴システムの提案」,マルチメディア,分散,協調とモバイル(DICOMO2012)シンポジウム論文集, [CD-ROM], 情報処理学会シンポジウムシリーズ,日本,一般社団法人情報処理学会,2012年 6月27日,Vol.2012, No.1,第660〜668頁,ISSN:1882-0840
【文献】
Kanyong Li, et al.,"Research and Development of an Online Video Network Platform Based on the Streaming Media Technology",Applied Mechanics and Materials,[online],2013年 9月 3日,Vols.411-414,Pages 943-949,ISSN: 1662-7482, <DOI: 10.4028/www.scientific.net/AMM.411-414.943>, [retrieved on 2018.06.05], Retrieved from the Internet,URL,http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.832.5835&rep=rep1&type=pdf
【文献】
笠野英松,「マルチメディア・ストリーミング技術」,日本,CQ出版株式会社,2011年12月15日,初版,第155〜167頁,ISBN: 978-4-7898-4089-7
【文献】
A・S・タネンバウム著,水野忠則(外4名)訳,「モダンオペレーティングシステム 原著第2版」,日本,株式会社ピアソン・エデュケーション,2004年12月10日,第2版,第480〜481頁,ISBN: 4-89471-537-6
【文献】
Sheng Wei, et al.,"Cost Effective Video Streaming Using Server Push over HTTP 2.0",Proceedings of 2014 IEEE 16th International Workshop on Multimedia Signal Processing (MMSP),2014年 9月24日,Pages 1-5,ISBN: 978-1-4799-5896-2, <DOI: 10.1109/MMSP.2014.6958796>
【文献】
「主播の意味−中国語辞書−Weblio日中中日辞典」,[online], Weblio,2016年 3月17日,[平成30年9月20日検索], インターネット,URL,https://cjjc.weblio.jp/content/%E4%B8%BB%E6%92%AD
【文献】
「網絡主播[ネット番組パーソナリティー]」,[online], Peoples' China (人民中国),2016年 8月,[平成30年9月20日検索], インターネット,URL,http://www.peoplechina.com.cn/home/second/2016-08/26/content_726616.htm
【文献】
「美女主播千万年薪驚動王思聡」,[online], 騰訊網,2015年 2月16日,[平成30年9月20日検索], インターネット,URL,http://sports.qq.com/original/inside/sd313.html
【文献】
高木利弘,「スマートTVと動画ビジネス」,日本,株式会社インプレスジャパン,2012年 6月11日,初版,第85,130,131頁,ISBN:978-4-8443-3206-0
(58)【調査した分野】(Int.Cl.,DB名)
前記オーディオビデオファイル合成サーバーは、さらに、繰り返し再生されているオーディオビデオファイルを循環的に読み取り、前記繰り返し再生されているオーディオビデオファイルを元オーディオビデオファイルとするように構成される
請求項13に記載のシステム。
前記オーディオビデオファイル合成サーバーは、さらに、番組表を取得し、所定の時点に達すると、前記番組表における番組に対応するオーディオビデオファイルを読み取り、前記オーディオビデオファイルを元オーディオビデオファイルとするように構成される
請求項13に記載のシステム。
前記コンテンツ配信ネットワークサーバーは、さらに、アンカーの部屋番号とオーディオビデオファイルとの対応関係を確立し、トランスコードされたオーディオビデオファイルを対応するアンカーの部屋番号にプッシュするように構成される
請求項13に記載のシステム。
【発明を実施するための形態】
【0007】
本発明の実施例又は従来技術を説明するために、本発明の実施例又は従来技術の説明に必要な図面を簡単に説明した。当然のことながら、明細書の説明及び図面は、本発明のいくつかの実施例を示すに過ぎず、当業者であれば、創作的な能力を発揮せずに、これらの形態に基づいて他の形態を取得することができる。
【0008】
以下、本発明の目的、構成及び利点を明確するために、図面及び実施例を参照して、本発明の実施形態を詳しく説明する。ここに記載される具体的な実施例は、本発明を説明するためのものであるに過ぎず、本発明を限定するものではないことを理解されたい。
【0009】
図1は実施例におけるオーディオビデオファイルのライブストリーミング方法の応用環境を示す模式図である。
図1のように、当該応用環境は、オーディオビデオファイル合成サーバー110、ストリーム合成サーバー120、コンテンツ配信ネットワークサーバー130及び端末140を含む。
【0010】
オーディオビデオファイル合成サーバー110は、元オーディオビデオファイルを取得し、元オーディオビデオファイルからオーディオフレームとビデオフレームを読み取り、ビデオフレームをトランスコードして異なるビットレートのビデオフレームを入手し、異なるビットレートのビデオフレームをそれぞれのオーディオフレームと合成して、異なるビットレートのオーディオビデオファイルを入手するように構成される。
【0011】
当該端末は、
図9Aのように、システムバスを介して接続されるプロセッサ、不揮発性記憶媒体、メモリ、ネットワークインターフェース、集音装置、ディスプレイ、スピーカ及び入力装置を含む。ここで、端末の不揮発性記憶媒体にはオペレーティングシステムが記憶される。端末のプロセッサは、オーディオビデオファイルのライブストリーミング方法を実現するように構成される。端末のディスプレイは、液晶ディスプレイや電子インクディスプレイ等であってもよい。入力装置は、ディスプレイの上にオーバレイされたタッチ層であってもよいし、端末ケースに設けられたボタン、トラックボール又はタッチパッドであってもよいし、外付けキーボード、タッチパッド又はマウスであってもよい。当該端末は、携帯電話、タブレットコンピュータ又はパーソナルデジタルアシスタント(PDA:Personal Digital Assistant)であってもよい。当業者であれば、
図9Aに示す構造構成が本願の一部の構造構成のブロック図に過ぎず、本願に応用される端末を限定するものではなく、具体的な端末は、図に示す部品より多い又は少ないある部品を含んでもよいし、ある部品を組み合わせてもよいし、異なる部品の配置してもよいことを理解できる。
【0012】
当該サーバーは、
図9Bのように、システムバスを介して接続されるプロセッサ、不揮発性記憶媒体、メモリ、ネットワークインターフェースを含む。ここで、当該サーバーの不揮発性記憶媒体にはオペレーティングシステム、データベースなどが記憶され、データベースにはオーディオビデオファイルが記憶される。該当サーバーのプロセッサは、オーディオビデオファイルのライブストリーミング方法を実行するように構成される。該当サーバーのネットワークインターフェースは、ネットワークを介して外部の端末と通信するように構成される。サーバーは、独立したサーバー又は複数のサーバーからなるサーバー群により実現されることができる。当業者であれば、
図9Bに示す構造構成が本願の一部の構造構成のブロック図に過ぎず、本願に応用されるサーバーを限定するものではなく、具体的なサーバーは、図に示す部品より多い又は少ないある部品を含んでもよいし、ある部品を組み合わせてもよいし、異なる部品の配置を構成してもよいことを理解できる。
【0013】
図2は1つの実施例における複数の異なるビットレートのオーディオビデオファイルを合成する過程を示す模式図である。
図2のように、元オーディオビデオファイル210からオーディオフレームを抽出してオーディオファイル220を入手し、ビデオフレームを抽出してビデオファイル230を入手し、ビデオファイル230をトランスコード(ビットレート低減)してトランスコードされたビデオファイル240を入手し、トランスコードされたビデオファイル240とオーディオファイル220を合成して様々なビットレートのオーディオビデオファイル250を入手する。
【0014】
ストリーム合成サーバー120は、ストリーミングメディアフォーマット(FLV:Flash Video)ストリーム合成サーバー122と高精細度ビデオコンテナフォーマット(TS:Transport Stream)ストリーム合成サーバー124などを含む。ストリーム合成とは、オーディオとビデオという2種類のストリームをFLV、TS等のフォーマットのストリームに合成して出力することを意味する。FLVストリーミングメディアフォーマットは、Flash MXの発売に伴って発展された新興のビデオフォーマットであり、ウェブページ上での再生に用いられ、パーソナルコンピュータ、Android携帯電話などをサポートする。TSのフルネームはMPEG2-TSであり、Android4.0以降のシステムとIOSシステムをサポートする。
【0015】
ストリーム合成サーバー120は、オーディオビデオファイル合成サーバーから様々なビットレートのオーディオビデオファイルを取得し、様々なビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、それぞれのビデオストリームを形成して、様々なビデオストリームをコンテンツ配信ネットワークサーバー130にプッシュするように構成される。
【0016】
ストリーミングメディアフォーマットストリーム合成サーバー122は、様々なビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、それぞれのストリーミングメディアフォーマットのビデオストリームを形成するように構成される。
【0017】
高精細度ビデオコンテナフォーマットストリーム合成サーバー124は、様々なビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、それぞれの高精細度ビデオコンテナフォーマットのビデオストリームを形成するように構成される。
【0018】
コンテンツ配信ネットワークサーバー130即ちコンテンツ配信ネットワーク(CDN:Content Delivery Network)サーバーは、各箇所に散在され、ユーザーにFLVビデオストリームとTSビデオストリームを提供することに用いれる。
【0019】
端末140は、コンテンツ配信ネットワークサーバー130からFLVビデオストリームとTSビデオストリームを取得することができる。
【0020】
端末140は、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ、PDA等であってもよい。
【0021】
図3は1つの実施例におけるオーディオビデオファイルをストリームとしてプッシュしてライブストリーミングする過程を示す模式図である。
図3のように、オーディオビデオファイル合成サーバーは、トランスコード後に合成されたオーディオビデオファイルにおけるオーディオフレームとビデオフレームをFLVストリーム合成サーバーとTSストリーム合成サーバーにプッシュする。FLVストリーム合成サーバーは、トランスコードされたオーディオフレームとビデオフレームをFLVビデオストリームにストリーム合成して、FLVビデオストリームをCDNサーバー(コンテンツ配信ネットワークサーバー)に送信する。TSストリーム合成サーバーは、トランスコードされたオーディオフレームとビデオフレームをTSビデオストリームにストリーム合成して、TSビデオストリームをCDNサーバーに送信する。CDNサーバーは、FLVビデオストリームをパーソナルコンピュータのWEBとAndroid携帯電話にプッシュし、TSビデオストリームをAndroid4.0以降の端末デバイスとIOS端末デバイスにプッシュする。
図3におけるパーソナルコンピュータは、タブレットコンピュータ、PDAなどに置き換えることができ、携帯電話は他のモバイル端末に置き換えることができる。
【0022】
オーディオビデオファイル合成サーバー110は、元オーディオビデオファイルからオーディオフレームとビデオフレームを読み取った後、ビデオフレームをトランスコードして異なるビットレートのビデオフレームを入手し、異なるビットレートのビデオフレームをそれぞれのオーディオフレームと合成して、異なるビットレートのオーディオビデオファイルを入手し、ストリーム合成サーバーは、異なるビットレートのオーディオビデオファイルにおけるオーディオフレームとビデオフレームをストリーム合成して異なるビットレートのFLVビデオストリームとTSビデオストリームを入手し、FLVビデオストリームとTSビデオストリームをユーザーに提供して、ユーザーが自身のニーズに応じて異なるビデオストリームを選択して視聴するようにし、ファイルライブストリーミング及びプッシュの人的及び運用コストを節約するとともに、複数の端末への適応を保証し、デバイスと帯域幅の環境での視聴要求を満たす。ここで、ビデオファイルのライブストリーミングとは、ビデオストリームをユーザーに直接にプッシュすることである。
【0023】
図4は1つの実施例におけるオーディオビデオファイルのライブストリーミング方法を示すフローチャートである。
図4におけるオーディオビデオファイルのライブストリーミング方法は、
図1の応用環境に応用される。
図4のように、当該オーディオビデオファイルのライブストリーミング方法は以下のステップを含む。
【0024】
ステップ402において、元オーディオビデオファイルを取得する。
【0025】
具体的には、元オーディオビデオファイルは、ライブストリーミング又は他のライブ方法でビデオレコーダにより記録された高精細度なビデオファイルである。元オーディオビデオファイルにおけるビデオファイルのビットレートは、1Mbps(メガビット/秒)、2Mbps、3Mbps等であってもよい。
【0026】
1つの実施例において、元オーディオビデオファイルを取得するステップは、繰り返し再生されているオーディオビデオファイルを循環的に読み取り、当該繰り返し再生されているオーディオビデオファイルを元オーディオビデオファイルとするステップを含む。
【0027】
例えば、ライブストリーミングサービスの合間において、つまりアンカーがない時間帯において、再生されるビデオとして、そのビデオのコンテンツに対して要求しなくてもよく、あるオーディオビデオファイルを循環的に再生してもよい。アンカーがオフラインの場合、WEB操作ページの切替え命令を受信して、切替え命令に基づいてビデオの再生モードに切替えて、再生モードでビデオファイルを繰り返し再生する。
【0028】
別の実施例において、元オーディオビデオファイルを取得するステップは、番組表を取得するステップと、所定の時点に達すると、当該番組表における番組に対応するオーディオビデオファイルを読み取り、当該オーディオビデオファイルを元オーディオビデオファイルとするステップとを含む。
【0029】
例えば、番組表に従って対応するビデオファイルを定時再生する必要がある場合、まず、オーディオビデオファイル合成サーバーで番組表を取得し、次に、タイマーにより、指定された時点に番組表における番組に対応するオーディオビデオファイルを読み取ることをトリガし、当該オーディオビデオファイルを元オーディオビデオファイルとする。
【0030】
元オーディオビデオファイルはオーディオビデオファイル合成サーバーに格納される。当該オーディオビデオファイル合成サーバーのオペレーティングシステムは、Linux(登録商標)、windows等であってもよい。
【0031】
ステップ404において、当該元オーディオビデオファイルからオーディオフレームとビデオフレームを読み取る。
【0032】
具体的には、元オーディオビデオファイルからオーディオフレームとビデオフレームを読み取った後、オーディオフレームとビデオフレームにそれぞれ識別子を付け、オーディオフレームに第1識別子を付け、ビデオフレームに第2識別子を付け、例えば、第1識別子が1であり、第2識別子が0であるが、これに限られない。
【0033】
ステップ406において、当該ビデオフレームをトランスコードして異なるビットレートのビデオフレームを入手する。
【0034】
具体的には、元オーディオビデオファイルにおけるビデオファイルのビットレートは、1Mbps(メガビット/秒)、2Mbps又は3Mbps等であってもよく、トランスコードされたビデオファイルのビットレートは、1024kbps(kilo bit per second、キロビット/秒)、800kbps、480kbps、360kbps等であってもよいが、これに限られない。
【0035】
ビデオビットレートとは、単位時間ごとに転送されるデータを表したものであり、単位がkbps(キロビット毎秒)である。ビデオのトランスコードは、ビデオのビットレートと解像度を低下させることで、異なるソフトウェア及びハードウェア再生環境に適応するようにする。解像度は、画像内のデータ量を計測するパラメータであり、一般的には1インチあたりのピクセル(ppi:pixel per inch)と表し、横方向と縦方向の有効画素である。ウィンドウが小さい場合、ppi値が高く、画像が明瞭であり、ウィンドウが大きい場合、ウィンドウに充填される有効画素が不足であるため、有効画素ppi値が下降し、画像がぼやけている。
【0036】
X264に基づく自己最適化のエンコーダを使用し、ビデオフレームをトランスコードして異なるビットレートのビデオフレームを入手する。当該X264エンコーダは、ビデオサービスシーンに対し画質を最適化するとともに、CPUアルゴリズムとメモリ消費を最適化して、トランスコード効率が比較的高く、速度が速く、同一ビットレートでの鮮明さがより高い。
【0037】
ステップ408において、異なるビットレートのビデオフレームをそれぞれのオーディオフレームと合成して、異なるビットレートのオーディオビデオファイルを入手する。
【0038】
具体的には、各フレームを読み取る時に、各フレームに対応する情報をトランスコードされたオーディオビデオファイルに書き込む。当該対応する情報は、オーディオビデオのタイプ識別子、デコードタイムスタンプ、表示タイムスタンプ、キーフレームであるかどうか、ビットレートなどを含む。オーディオビデオのタイプ識別子とは、オーディオフレームとビデオフレームを識別するための識別子であり、例えば、第1識別子がオーディオフレームを表し、第2識別子がビデオフレームを表す。
【0039】
ステップ410において、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、それぞれのビデオストリームを形成する。
【0040】
本実施例において、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、それぞれのビデオストリームを形成するステップは、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、ストリーミングメディアフォーマットのビデオストリームと高精細度ビデオコンテナフォーマットのビデオストリームをそれぞれ形成するステップを含む。
【0041】
具体的には、ストリーミングメディアフォーマットのビデオストリームはFLVビデオストリームであってもよく、高精細度ビデオコンテナフォーマットのビデオストリームはTSビデオストリームであってもよい。異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、FLVストリーム合成サーバーを介して異なるビットレートのFLVビデオストリームにストリーム合成し、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、TSストリーム合成サーバーを介して異なるビットレートのTSビデオストリームにストリーム合成する。
【0042】
例えば、トランスコードされたビットレートが、それぞれ、800kbps、480kbpsである場合、ストリーム合成されたビデオストリームは、800kbpsのFLVビデオストリーム、480kbpsのFLVビデオストリーム、800kbpsのTSビデオストリーム、480kbpsのTSビデオストリームである。
【0043】
ステップ412において、異なるビデオストリームをプッシュする。
【0044】
具体的には、異なるビデオストリームをコンテンツ配信ネットワークサーバーにプッシュし、コンテンツ配信ネットワークサーバーによって様々な異なる端末にプッシュして、ユーザーがニーズに応じて異なるビットレートのビデオストリームを選択するようにする。各ビデオストリームが1つのユニフォームリソースロケータ(URL:Uniform Resource Locator)に対応する。ユーザーの選択ために、ビデオストリームのURLをユーザーにプッシュする。
【0045】
なお、ビデオストリームに唯一のビデオストリーム識別子を割当て、ビデオストリーム識別子とURLの対応関係を確立し、URLをユーザープッシュしてもよい。
【0046】
上記のオーディオビデオファイルのライブストリーミング方法は、元オーディオビデオファイルをトランスコードして異なるビットレートのオーディオビデオファイルを合成し、異なるビットレートのオーディオビデオファイルをストリーム合成して異なるビットレートのビデオストリームを生成し、異なるビットレートのビデオストリームを様々な異なる端末にプッシュすることで、ファイルライブストリーミングに介入される人件費を節約し、インタラクションコストを低減し、且つ異なるデバイスと帯域幅の要件を満たし、ビデオファイルのライブストリーミングの流暢さを向上させる。
【0047】
図5は別の実施例におけるオーディオビデオファイルのライブストリーミング方法を示すフローチャートである。
図5のように、当該オーディオビデオファイルのライブストリーミング方法は、以下のステップを含む。
【0048】
ステップ502において、元オーディオビデオファイルを取得する。
【0049】
具体的には、元オーディオビデオファイルは、ライブストリーミング又は他のライブ方法でビデオレコーダにより記録された高精細度なビデオファイルである。元オーディオビデオファイルにおけるビデオファイルのビットレートは、1Mbps(メガビット/秒)、2Mbps、3Mbps等であってもよい。
【0050】
1つの実施例において、元オーディオビデオファイルを取得するステップは、繰り返し再生されているオーディオビデオファイルを循環的に読み取り、当該繰り返し再生されているオーディオビデオファイルを元オーディオビデオファイルとするステップを含む。
【0051】
例えば、ライブストリーミングサービスの合間において、つまりアンカーがない時間帯において、再生されるビデオとして、そのビデオのコンテンツに対して要求しなくてもよく、あるオーディオビデオファイルを循環的に再生してもよい。アンカーがオフラインの場合、WEB操作ページの切替え命令を受信して、切替え命令に基づいてビデオの再生モードに切替えて、再生モードでビデオファイルを繰り返し再生する。
【0052】
別の実施例において、元オーディオビデオファイルを取得するステップは、番組表を取得するステップと、所定の時点に達すると、当該番組表における番組に対応するオーディオビデオファイルを読み取り、当該オーディオビデオファイルを元オーディオビデオファイルとするステップとを含む。
【0053】
例えば、番組表に従って対応するビデオファイルを定時再生する必要がある場合、まず、オーディオビデオファイル合成サーバーで番組表を取得し、次に、タイマーにより、指定された時点に、番組表における番組に対応するオーディオビデオファイルを読み取ることをトリガし、当該オーディオビデオファイルを元オーディオビデオファイルとする。
【0054】
ステップ504において、当該元オーディオビデオファイルからオーディオフレームとビデオフレームを読み取る。
【0055】
具体的には、元オーディオビデオファイルからオーディオフレームとビデオフレームを読み取った後、オーディオフレームとビデオフレームにそれぞれ識別子を付け、オーディオフレームに第1識別子を付け、ビデオフレームに第2識別子を付け、例えば、第1識別子が1であり、第2識別子が0であるが、これに限られない。
【0056】
ステップ506において、当該ビデオフレームをトランスコードして、異なるビットレートのビデオフレームを入手する。
【0057】
具体的には、元オーディオビデオファイルにおけるビデオファイルのビットレートは、1Mbps(メガビット/秒)、2Mbps又は3Mbps等であってもよく、トランスコードされたビデオファイルのビットレートは、1024kbps(kilo bit per second、キロビット/秒)、800kbps、480kbps、360kbps等であってもよいが、これに限られない。
【0058】
ステップ508において、異なるビットレートのビデオフレームをそれぞれのオーディオフレームと合成して、異なるビットレートのオーディオビデオファイルを入手する。
【0059】
ステップ510において、予め定められたファイル命名ルールに応じて、異なるビットレートのオーディオビデオファイルを命名する。
【0060】
具体的には、予め定められたファイル命名ルールは、ファイル名、トランスコードされたビットレート、ポストフィックス等を含み、同一のビデオファイルの異なるビットレートのビデオファイルを区別することに用いれる。
【0061】
ステップ512において、ファイル命名ルールに応じてオーディオビデオファイルを循環的に読み取り、各オーディオビデオファイルのオーディオフレームとビデオフレームを抽出して、それぞれのビデオストリームを合成し、各ビデオストリームが一つのユニフォームリソースロケータに対応する。
【0062】
ステップ514において、異なるビデオストリームをプッシュする。
【0063】
具体的には、異なるビデオストリームをコンテンツ配信ネットワークサーバーにプッシュし、コンテンツ配信ネットワークサーバーにより様々な異なる端末にプッシュして、ユーザーがニーズに応じて異なるビットレートのビデオストリームを選択するようにする。各ビデオストリームが1つのURLに対応する。ユーザーの選択ために、ビデオストリームのURLをユーザーにプッシュする
なお、上記のオーディオビデオファイルのライブストリーミング方法は、アンカーの部屋に応用される場合、アンカーの部屋番号とオーディオビデオファイルとの対応関係を確立し、トランスコードされたオーディオビデオファイルを対応するアンカーの部屋番号にプッシュする。
【0064】
上記のオーディオビデオファイルのライブストリーミング方法は、元オーディオビデオファイルをトランスコードして異なるビットレートのオーディオビデオファイルを合成し、異なるビットレートのオーディオビデオファイルをストリーム合成して異なるビットレートのビデオストリームを生成し、異なるビットレートのビデオストリームを様々な異なる端末にプッシュすることで、ファイルライブストリーミングに介入される人件費を節約し、インタラクションコストを低減し、且つ異なるデバイスと帯域幅の要件を満たし、ビデオファイルのライブストリーミングの流暢性さを向上させる。ファイル命名ルールによって異なるビットレートのオーディオビデオファイルを区別することで、識別が簡単、便利である。
【0065】
図6は1つの実施例におけるオーディオビデオファイルのライブストリーミング装置の構造構成を示すブロック図である。
図6のように、オーディオビデオファイルのライブストリーミング装置であって、取得モジュール610、読取モジュール620、トランスコードモジュール630、合成モジュール640、ストリーム合成モジュール650及びプッシュモジュール660を含む。
【0066】
取得モジュール610は、元オーディオビデオファイルを取得するように構成される。
【0067】
具体的には、元オーディオビデオファイルは、ライブストリーミング又は他のライブ方法でビデオレコーダにより記録された高精細度なビデオファイルである。元オーディオビデオファイルにおけるビデオファイルのビットレートは、1Mbps(メガビット/秒)、2Mbps、3Mbps等であってもよい。
【0068】
1つの実施例において、当該取得モジュール610は、さらに、繰り返し再生されているオーディオビデオファイルを循環的に読み取り、当該繰り返し再生されているオーディオビデオファイルを元オーディオビデオファイルとするように構成される。例えば、ライブストリーミングサービスの合間において、つまりアンカーがない時間帯において、再生されるビデオとして、ビデオのコンテンツに対して要求しなくてもよく、あるオーディオビデオファイルを循環的に再生してもよい。アンカーがオフラインの場合、WEB操作ページの切替え命令を受信して、切替え命令に基づいてビデオの再生モードに切替えて、再生モードでビデオファイルを繰り返し再生する。
【0069】
当該取得モジュール610は、さらに、番組表を取得し、所定の時点に達すると、当該番組表における番組に対応するオーディオビデオファイルを読み取り、当該オーディオビデオファイルを元オーディオビデオファイルとするように構成される。
【0070】
例えば、番組表に従って対応するビデオファイルを定時再生する必要がある場合、まず、オーディオビデオファイル合成サーバーで番組表を取得し、次に、タイマーにより、指定された時点に、番組表における番組に対応するオーディオビデオファイルを読み取ることをトリガし、当該オーディオビデオファイルを元オーディオビデオファイルとする。
【0071】
元オーディオビデオファイルがオーディオビデオファイル合成サーバーに格納される。当該オーディオビデオファイル合成サーバーのオペレーティングシステムは、Linux、windows等であってもよい。
【0072】
読取モジュール620は、当該元オーディオビデオファイルからオーディオフレームとビデオフレームを読み取るように構成される。具体的には、元オーディオビデオファイルからオーディオフレームとビデオフレームを読み取った後、オーディオフレームとビデオフレームにそれぞれ識別子を付け、オーディオフレームに第1識別子を付け、ビデオフレームに第2識別子を付け、例えば、第1識別子が1であり、第2識別子が0であるが、これに限られない。
【0073】
トランスコードモジュール630は、当該ビデオフレームをトランスコードして、異なるビットレートのビデオフレームを入手する。具体的には、元オーディオビデオファイルにおけるビデオファイルのビットレートは、1Mbps、2Mbps又は3Mbps等であってもよく、トランスコードされたビデオファイルのビットレートは、1024kbps、800kbps、480kbps、360kbps等であってもよいが、これに限られない。
【0074】
合成モジュール640は、異なるビットレートのビデオフレームをそれぞれのオーディオフレームと合成して、異なるビットレートのオーディオビデオファイルを入手するように構成される。
【0075】
具体的には、各フレームを読み取る時に、各フレームに対応する情報をトランスコードされたオーディオビデオファイルに書き込む。当該対応する情報は、オーディオビデオのタイプ識別子、デコードタイムスタンプ、表示タイムスタンプ、キーフレームであるかどうか、ビットレートなどを含む。オーディオビデオのタイプ識別子とは、オーディオフレームとビデオフレームを識別するための識別子であり、例えば、第1識別子がオーディオフレームを表し、第2識別子がビデオフレームを表す。
【0076】
ストリーム合成モジュール650は、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、それぞれのビデオストリームを形成するように構成される。
【0077】
本実施例において、ストリーム合成モジュール650は、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、ストリーミングメディアフォーマットのビデオストリームと高精細度ビデオコンテナフォーマットのビデオストリームをそれぞれ形成するように構成される。
【0078】
具体的には、ストリーミングメディアフォーマットのビデオストリームはFLVビデオストリームであってもよく、高精細度ビデオコンテナフォーマットのビデオストリームはTSビデオストリームであってもよい。異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、FLVストリーム合成サーバーを介して異なるビットレートのFLVビデオストリームにストリーム合成し、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、TSストリーム合成サーバーを介して異なるビットレートのTSビデオストリームにストリーム合成する。
【0079】
例えば、トランスコードされたビットレートが、それぞれ、800kbps、480kbpsである場合、ストリーム合成されたビデオストリームは、800kbpsのFLVビデオストリーム、480kbpsのFLVビデオストリーム、800kbpsのTSビデオストリーム、480kbpsのTSビデオストリームである。
【0080】
プッシュモジュール660は、異なるビデオストリームをプッシュするように構成される。
【0081】
具体的には、異なるビデオストリームをコンテンツ配信ネットワークサーバーにプッシュし、コンテンツ配信ネットワークサーバーにより様々な異なる端末にプッシュして、ユーザーがニーズに応じて異なるビットレートのビデオストリームを選択するようにする。各ビデオストリームが1つのURLに対応する。ユーザーの選択ために、ビデオストリームのURLをユーザーにプッシュする。
【0082】
なお、ビデオストリームに唯一のビデオストリーム識別子を割当て、ビデオストリーム識別子とURLの対応関係を確立し、URLをユーザープッシュしてもよい。
【0083】
上記のオーディオビデオファイルのライブストリーミング装置は、元オーディオビデオファイルをトランスコードして異なるビットレートのオーディオビデオファイルを合成し、異なるビットレートのオーディオビデオファイルをストリーム合成して異なるビットレートのビデオストリームを生成し、異なるビットレートのビデオストリームを様々な異なる端末にプッシュすることで、ファイルライブストリーミングに介入される人件費を節約し、インタラクションコストを低減し、且つ異なるデバイスと帯域幅の要件を満たし、ビデオファイルのライブストリーミングの流暢さを向上させる。
【0084】
図7は別の実施例におけるオーディオビデオファイルのライブストリーミング装置の構造構成を示すブロック図である。
図7のように、オーディオビデオファイルのライブストリーミング装置であって、取得モジュール610、読取モジュール620、トランスコードモジュール630、合成モジュール640、ストリーム合成モジュール650及びプッシュモジュール660に加えて、命名モジュール670をさらに含む。
【0085】
命名モジュール670は、異なるビットレートのビデオフレームをそれぞれのオーディオフレームと合成して異なるビットレートのオーディオビデオファイルを入手した後、予め定められたファイル命名ルールに応じて、異なるビットレートのオーディオビデオファイルを命名するように構成される。
【0086】
具体的には、予め定められたファイル命名ルールは、ファイル名、トランスコードされたビットレート、ポストフィックス等を含み、同一のビデオファイルの異なるビットレートのビデオファイルを区別することに用いれる。
【0087】
当該ストリーム合成モジュール650は、さらに、ファイル命名ルールに応じてオーディオビデオファイルを循環的に読み取り、各オーディオビデオファイルのオーディオフレームとビデオフレームを抽出してそれぞれのビデオストリームを合成し、各ビデオストリームが一つのユニフォームリソースロケータに対応するように構成される。
【0088】
ファイル命名ルールによって異なるビットレートのオーディオビデオファイルを区別することで、識別が簡単、便利である。
【0089】
図8は1つの実施例におけるオーディオビデオファイルのライブストリーミングシステムの構造構成を示すブロック図である。
図8のように、当該オーディオビデオファイルのライブストリーミングシステムは、オーディオビデオファイル合成サーバー810、ストリーム合成サーバー820及びコンテンツ配信ネットワークサーバー830を含み、より詳細な説明は、
図1の説明を参照することができる。
【0090】
オーディオビデオファイル合成サーバー810は、元オーディオビデオファイルを読み取り、当該元オーディオビデオファイルからオーディオフレームとビデオフレームを読み取り、当該ビデオフレームをトランスコードして異なるビットレートのビデオフレームを入手し、異なるビットレートのビデオフレームをそれぞれのオーディオフレームと合成して、異なるビットレートのオーディオビデオファイルを入手するように構成される。
【0091】
具体的には、元オーディオビデオファイルは、ライブストリーミング又は他のライブ方法でビデオレコーダにより記録された高精細度なビデオファイルである。元オーディオビデオファイルにおけるビデオファイルのビットレートは、1Mbps、2Mbps、3Mbps等であってもよい。
【0092】
1つの実施例において、オーディオビデオファイル合成サーバー810は、さらに、繰り返し再生されているオーディオビデオファイルを循環的に読み取り、当該繰り返し再生されているオーディオビデオファイルを元オーディオビデオファイルとするように構成される。例えば、ライブストリーミングサービスの合間において、つまりアンカーがない時間帯において、再生されるビデオとして、ビデオのコンテンツに対して要求しなくてもよく、あるオーディオビデオファイルを循環的に再生してもよい。アンカーがオフラインの場合、WEB操作ページの切替え命令を受信して、切替え命令に基づいてビデオの再生モードに切替えて、再生モードでビデオファイルを繰り返し再生する。
【0093】
別の実施例において、オーディオビデオファイル合成サーバー810は、さらに、番組表を取得し、所定の時点に達すると、当該番組表における番組に対応するオーディオビデオファイルを読み取り、当該オーディオビデオファイルを元オーディオビデオファイルとするように構成される。例えば、番組表に従って対応するビデオファイルを定時再生する必要がある場合、まず、オーディオビデオファイル合成サーバーで番組表を取得し、次に、タイマーにより、指定された時点に、番組表における番組に対応するオーディオビデオファイルを読み取ることをトリガし、当該オーディオビデオファイルを元オーディオビデオファイルとする。元オーディオビデオファイルがオーディオビデオファイル合成サーバーに格納される。当該オーディオビデオファイル合成サーバーのオペレーティングシステムは、Linux、windows等であってもよい。
【0094】
元オーディオビデオファイルからオーディオフレームとビデオフレームを読み取った後、オーディオフレームとビデオフレームにそれぞれ識別子を付け、オーディオフレームに第1識別子を付け、ビデオフレームに第2識別子を付け、例えば、第1識別子が1であり、第2識別子が0であるが、これに限られない。元オーディオビデオファイルにおけるビデオファイルのビットレートは、1Mbps、2Mbps又は3Mbps等であってもよく、トランスコードされたビデオファイルのビットレートは、1024kbps、800kbps、480kbps、360kbps等であってもよいが、これに限られない。
【0095】
ビデオビットレートとは、単位時間ごとに転送されるデータを表したものであり、単位がkbpsである。ビデオトランスコードは、ビデオビットレートと解像度を下げることで、異なるソフトウェア及びハードウェア再生環境に適応するようにする。解像度は、画像内のデータ量を計測するパラメータであり、一般的には1インチあたりのピクセル(ppi:pixel per inch)と表し、横方向と縦方向の有効画素である。ウィンドウが小さい場合、ppi値が高く、画像が明瞭であり、ウィンドウが大きい場合、ウィンドウに充填される有効画素が不足であるため、有効画素ppi値が下降し、画像がぼやけている。
【0096】
X264に基づく自己最適化のエンコーダを使用し、ビデオフレームをトランスコードして異なるビットレートのビデオフレームを入手する。当該X264エンコーダは、ビデオサービスシーンに対し画質を最適化するとともに、CPUアルゴリズムとメモリ消費を最適化して、トランスコード効率が比較的高く、速度が速く、同一ビットレートでの鮮明さがより高い。
【0097】
オーディオビデオファイル合成サーバー810は、各フレームを読み取る時に、各フレームに対応する情報をトランスコードされたオーディオビデオファイルに書き込む。当該対応する情報は、オーディオビデオのタイプ識別子、デコードタイムスタンプ、表示タイムスタンプ、キーフレームであるかどうか、ビットレートなどを含む。オーディオビデオのタイプ識別子とは、オーディオフレームとビデオフレームを識別するための識別子であり、例えば、第1識別子がオーディオフレームを表し、第2識別子がビデオフレームを表す。
【0098】
ストリーム合成サーバー820は、オーディオビデオファイル合成サーバーから異なるビットレートのオーディオビデオファイルを取得し、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、それぞれのビデオストリームを形成し、異なるビデオストリームをコンテンツ配信ネットワークサーバー830にプッシュするように構成される。
【0099】
本実施例において、当該ストリーム合成サーバー820は、ストリーミングメディアフォーマットのストリーム合成サーバーと高精細度ビデオコンテナフォーマットのストリーム合成サーバーを含む。
【0100】
ストリーミングメディアフォーマットストリーム合成サーバーは、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、それぞれのストリーミングメディアフォーマットのビデオストリームを形成するように構成される。
【0101】
高精細度ビデオコンテナフォーマットストリーム合成サーバーは、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、それぞれの高精細度ビデオコンテナフォーマットのビデオストリームを形成するように構成される。ストリーム合成サーバー820は、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、ストリーミングメディアフォーマットのビデオストリームと高精細度ビデオコンテナフォーマットのビデオストリームをそれぞれ形成するように構成される。
【0102】
具体的には、ストリーミングメディアフォーマットのビデオストリームはFLVビデオストリームであってもよく、高精細度ビデオコンテナフォーマットのビデオストリームはTSビデオストリームであってもよい。異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、FLVストリーム合成サーバーを介して異なるビットレートのFLVビデオストリームにストリーム合成し、異なるビットレートのオーディオビデオファイルからオーディオフレームとビデオフレームをそれぞれ抽出して、TSストリーム合成サーバーを介して異なるビットレートのTSビデオストリームにストリーム合成する。
【0103】
例えば、トランスコードされたビットレートが、それぞれ、800kbps、480kbpsである場合、ストリーム合成されたビデオストリームは、800kbpsのFLVビデオストリーム、480kbpsのFLVビデオストリーム、800kbpsのTSビデオストリーム、480kbpsのTSビデオストリームである。
【0104】
コンテンツ配信ネットワークサーバー830は、異なるビデオストリームを異なる端末にプッシュするように構成される。当該端末は、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ、PDA等であってもよい。コンテンツ配信ネットワークサーバー830は、FLVビデオストリームをパーソナルコンピュータ上のWEB又はAndroidシステムの端末等にプッシュし、TSビデオストリームをIOSシステムの端末又はAndroid4.0以降のシステムの端末などにプッシュする。当該オーディオビデオファイル合成サーバー810は、さらに、異なるビットレートのビデオフレームをそれぞれのオーディオフレームと合成して異なるビットレートのオーディオビデオファイルを入手した後、予め定められたファイル命名ルールに応じて、異なるビットレートのオーディオビデオファイルを命名し、ファイル命名ルールに応じてオーディオビデオファイルを循環的に読み取り、各オーディオビデオファイルのオーディオフレームとビデオフレームを抽出してそれぞれのビデオストリームを合成し、各ビデオストリームが一つのユニフォームリソースロケータに対応するように構成される。
【0105】
1つの実施例において、コンテンツ配信ネットワークサーバー830は、各ビデオストリームに対応する1つのユニフォームリソースロケータをユーザーにプッシュするように構成される。
【0106】
1つの実施例において、コンテンツ配信ネットワークサーバー830は、アンカーの部屋番号とオーディオビデオファイルとの対応関係を確立し、トランスコードされたオーディオビデオファイルを対応するアンカーの部屋番号にプッシュするように構成される。
【0107】
上記のオーディオビデオファイルのライブストリーミングシステムは、元オーディオビデオファイルをトランスコードして異なるビットレートのオーディオビデオファイルを合成し、異なるビットレートのオーディオビデオファイルをストリーム合成して異なるビットレートのビデオストリームを生成し、異なるビットレートのビデオストリームを様々な異なる端末にプッシュすることで、ファイルライブストリーミングに介入される人件費を節約し、インタラクションコストを低減し、且つ異なるデバイスと帯域幅の要件を満たし、ビデオファイルのライブストリーミングの流暢さを向上させる。
【0108】
当業者であれば、上記実施例方法の全体又は一部のプロセスがコンピュータプログラムでハードウェアにより実現されることができ、前記プログラムは1つのコンピュータ不揮発性記憶媒体に記憶され、当該プログラムが実行される時、上記の各方法実施例のプロセスが含まれることを理解できる。ここで、前記不揮発性記憶媒体は、磁気ディスク、光ディスク、読み出し専用メモリ(ROM:Read−OnlyMemory)等であってもよい。
【0109】
上記の実施例は、本発明のいくつかの実施形態を示すものに過ぎず、その説明が具体的かつ詳細なものであるが、本発明を限定するものであると理解すべきではない。当業者は、本発明の構想から逸脱しない前提で、各種類の変更と変化を行うことができ、これらはいずれも本発明の保護範囲以内に含まれる。本発明の実施例の範囲は、添付の特許請求の範囲のみによって限定される。