JP2022058789A - Mp4オンライン再生方法、装置、電子機器、記憶媒体およびコンピュータプログラム - Google Patents

Mp4オンライン再生方法、装置、電子機器、記憶媒体およびコンピュータプログラム Download PDF

Info

Publication number
JP2022058789A
JP2022058789A JP2022011882A JP2022011882A JP2022058789A JP 2022058789 A JP2022058789 A JP 2022058789A JP 2022011882 A JP2022011882 A JP 2022011882A JP 2022011882 A JP2022011882 A JP 2022011882A JP 2022058789 A JP2022058789 A JP 2022058789A
Authority
JP
Japan
Prior art keywords
data
file
target
ratio
online
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2022011882A
Other languages
English (en)
Other versions
JP7269392B2 (ja
Inventor
常炎隆
Yanlong Chang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2022058789A publication Critical patent/JP2022058789A/ja
Application granted granted Critical
Publication of JP7269392B2 publication Critical patent/JP7269392B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

【課題】MP4ビデオファイルのオンラインオンデマンドに応じた再生始動速度を向上させるMP4オンライン再生方法、装置、電子機器、コンピュータ可読記憶媒体及びコンピュータプログラムを提供する。【解決手段】MP4オンライン再生方法は、ターゲットMP4ファイルの総サイズを取得し、総サイズと、完全なMP4ファイルに占めるMOOVデータの比率に基づいて特定された事前設定占有率とに基づいて、ターゲットデータの長さを確定するステップと、MP4ファイルの先頭と末尾から、長さがターゲットデータの長さとなる先頭データと末尾データをそれぞれ取得するステップと、先頭データまたは末尾データから抽出した実MOOVデータに基づいて、ターゲットMP4ファイルをオンラインで再生するステップと、を含む。【選択図】図2

Description

本出願は、データ処理技術分野に関し、具体的には人工知能技術分野に関し、さらに、メディアクラウド技術分野、特にMP4オンライン再生方法、装置、電子機器、コンピュータ可読記憶媒体およびコンピュータプログラムに関する。
MP4ファイルフォーマットは、MPEG-4 Part14とも呼ばれるMPEG-4規格の第14部由来のもので、ビデオおよびオーディオのデータストリーム、ポスター、字幕並びにメタデータなどのパッケージングに広く用いられているマルチメディアフォーマットコンテナである。
MP4ファイルは異なるBoxから構成され、主に、記述のためのファイルのバージョン、互換プロトコルのFTYP、本ファイル内のすべてのメディアデータを記録するためのマクロ記述情報、およびメディアトラック毎の具体的情報を記録するためのMOOV、具体的メディアデータを格納するためのMDAT、並びにその他のいくつかのオプション的なBoxを含む。
本出願の実施形態は、MP4オンライン再生方法、装置、電子機器、コンピュータ可読記憶媒体、およびコンピュータプログラムを提供する。
第1態様において、本出願の実施形態は、ターゲットMP4ファイルの総サイズを取得し、総サイズと、完全なMP4ファイルに占めるMOOVデータの比率に基づいて特定された事前設定占有率とに基づいて、ターゲットデータの長さを確定するステップと、ターゲットMP4ファイルの先頭と末尾から、長さがターゲットデータの長さとなる先頭データと末尾データをそれぞれ取得するステップと、先頭データまたは末尾データから抽出した実MOOVデータに基づいて、ターゲットMP4ファイルをオンラインで再生するステップと、を含むMP4オンライン再生方法を提供する。
第2態様において、ターゲットMP4ファイルの総サイズを取得し、総サイズと、完全なMP4ファイルに占めるMOOVデータの比率に基づいて特定された事前設定占有率とに基づいて、ターゲットデータの長さを確定するように構成される総サイズ取得とターゲットデータ長確定ユニットと、ターゲットMP4ファイルの先頭と末尾から、長さがターゲットデータの長さとなる先頭データと末尾データをそれぞれ取得するように構成される先頭と末尾データ取得ユニットと、先頭データまたは末尾データから抽出した実MOOVデータに基づいて、ターゲットMP4ファイルをオンラインで再生するように構成される実MOOVデータ抽出とオンライン再生ユニットとを備えるMP4オンライン再生装置を提供する。
第3態様において、本出願の実施形態は、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信可能に接続されたメモリとを備える電子機器であって、メモリには、少なくとも1つのプロセッサによって実行可能な指令が格納され、該指令が少なくとも1つのプロセッサによって実行されるとき、第1態様のいずれかの実施形態に記載のMP4オンライン再生方法を少なくとも1つのプロセッサに実現する電子機器を提供する。
第4態様において、本出願の実施形態は、コンピュータ指令が格納されている非一時的コンピュータ可読記憶媒体であって、該コンピュータ指令は第1態様のいずれかの実施形態に記載のMP4オンライン再生方法をコンピュータに実行させるために用いられる非一時的コンピュータ可読記憶媒体を提供する。
第5態様において、本出願の実施形態は、プロセッサによって実行されるとき、第1態様のいずれかの実施形態に記載のMP4オンライン再生方法が実現されるコンピュータプログラムを提供する。
本出願に係るMP4オンライン再生方法は、まず、ターゲットMP4ファイルの総サイズを取得し、総サイズと、完全なMP4ファイルに占めるMOOVデータの比率に基づいて特定された事前設定占有率とに基づいて、ターゲットデータの長さを確定する。次に、ターゲットMP4ファイルの先頭と末尾から、長さがターゲットデータの長さとなる先頭データと末尾データをそれぞれ取得する。最後に、先頭データまたは末尾データから抽出した実MOOVデータに基づいて、ターゲットMP4ファイルをオンラインで再生する。
この方法は、通常、完全なMP4ファイルに占めるMOOVデータの比率に基づいて特定された事前設定占有率に基づいて、ターゲットMP4ファイルの先頭と末尾から該当するデータ長の2つの部分のデータを抽出し、ターゲットMP4ファイルの全データを取得する必要がなく、該ターゲットMP4ファイルのMOOVデータがMDATデータの後ろにあっても、ターゲットMP4ファイルのオンライン再生の高速始動を実現することができる。
なお、発明の概要に記載された内容は、本出願の実施形態のかなめとなる特徴または重要な特徴を限定することを意図するものではなく、本出願の範囲を限定するものでもない。本出願の他の特徴は、以下の説明によって理解が容易になる。
本出願の他の特徴、目的および利点は、以下の図面を参照してなされる非限定的な実施形態に係る詳細な説明を読むことにより、より明らかになる。
本出願の適用可能な例示的なシステムアーキテクチャを示す図である。 本出願の実施形態に係るMP4オンライン再生方法のフローチャートである。 本出願の実施形態に係るもう1つのMP4オンライン再生方法のフローチャートである。 本出願の実施形態に係る事前設定占有率の確定方法のフローチャートである。 本出願の実施形態に係るファイル名が「XX」であるMP4ファイルのデータ構造概略図である。 本出願の実施形態に係るMP4オンライン再生装置の構造概略図である。 本出願の実施形態に係るMP4オンライン再生方法を実行するために適する電子機器の構造概略図である。
以下、図面を参照して本出願の例示的な実施形態を説明し、ここでは理解を助けるため、本出願の実施形態の様々な詳細を記載するが、これらは単なる例示的なものに過ぎない。従って、本出願の範囲および要旨を逸脱しない限り、当業者は、本明細書の実施形態に対して様々な変更や修正を行うことができることを認識すべきである。なお、以下の説明では、明確化および簡略化のため、公知の機能および構成については説明を省略する。なお、本出願の実施形態および実施形態における特徴は、矛盾を生じない限り、相互に組み合わせることができる。
本出願の技術方案では、関連するユーザ個人情報の取得、記憶および応用などは、いずれも関連法律法規の規定に準拠し、必要な秘密保持措置を採用し、且つ公序良俗に反しない。
図1は、本出願に係るMP4オンライン再生方法、装置、電子機器およびコンピュータ可読記憶媒体の実施形態を適用可能な例示的なシステムアーキテクチャ100を示している。
図1に示すように、システムアーキテクチャ100は、端末装置101、102、103、ネットワーク104、およびサーバ105を含んでもよい。ネットワーク104は、端末装置101、102、103とサーバ105との間で通信リンクを提供するための媒体として使用される。ネットワーク104は、有線、無線通信リンクまたは光ファイバケーブルなどの様々なタイプの接続を含んでもよい。
ユーザは、メッセージを送受信するために、端末装置101、102、103を使用してネットワーク104を介してサーバ105と情報のやり取りをすることができる。端末装置101、102、103およびサーバ105に両者の間の情報通信を実現するための様々なアプリケーションをインストールすることができ、例えばビデオオンデマンドアプリケーション、オンラインショッピングアプリケーション、インスタントメッセージングアプリケーションなどが挙げられる。
端末装置101、102、103およびサーバ105は、ハードウェアであってもよく、ソフトウェアであってもよい。端末装置101、102、103がハードウェアである場合、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータなどを含むがこれらに限定されない、表示画面を備えた様々な電子機器であり得、ソフトウェアである場合、上記列挙された電子機器にインストールされることができ、複数のソフトウェア若しくはソフトウェアモジュールとして実現されてもよく、又は単一のソフトウェア若しくはソフトウェアモジュールとして実現されてもよく、これらに限定されない。サーバ105がハードウェアである場合、複数のサーバで構成される分散サーバクラスターとして実現されてもよく、単一のサーバとして実現されてもよい。サーバがソフトウェアである場合、複数のソフトウェアまたはソフトウェアモジュール、単一のソフトウェアまたはソフトウェアモジュールとして実現することができる。これらに限定されることはない。
端末装置101、102、103は、内蔵されている様々なアプリケーションによって様々なサービスを提供することができ、ビデオ・オン・デマンド・サービスを提供できるビデオオンデマンドアプリケーションを例にとると、端末装置101、102、103は、当該ビデオオンデマンドアプリケーションを実行する際に、まず、ユーザからのターゲットMP4ファイル選択の指示を受信する。次に、ターゲットMP4ファイルのオンライン再生要求をサーバ105に送信する。次に、サーバ105から返された応答情報に基づいて、ターゲットMP4ファイルの総サイズを確定し、総サイズと事前設定占有率に基づいてターゲットデータの長さを確定し、事前設定占有率は、完全なMP4ファイルに占めるMOOVデータの比率に基づいて特定される。次に、ターゲットMP4ファイルの先頭と末尾から、それぞれ長さがターゲットデータの長さとなる先頭データと末尾データを取得する。最後に、先頭データまたは末尾データから抽出した実MOOVデータに基づいて、ターゲットMP4ファイルをオンラインで再生する。
なお、本出願の後続する各実施形態によるMP4オンライン再生方法は、通常、ユーザによって制御される端末装置101、102、103によって実行され、これに応じて、MP4オンライン再生装置は、通常端末装置101、102、103に設置される。
図1における端末装置、ネットワークおよびサーバの数は例示的なものに過ぎないことを理解すべきである。実装の必要に応じて、端末装置、ネットワークおよびサーバの数を任意に加減してもよい。
本出願の実施形態により提供されるMP4オンライン再生方法のフローチャートである図2を参照されたい。フロー200は以下のステップ(ステップ201~203)を含む。
ステップ201では、ターゲットMP4ファイルの総サイズを取得し、総サイズと事前設定占有率とに基づいてターゲットデータの長さを確定する。
本ステップは、MP4オンライン再生方法の実行主体(例えば、図1に示す端末装置101、102、103)によって、まずターゲットMP4ファイルの総サイズを取得し、総サイズとMOOVデータが通常に完全なMP4ファイルに占める比率とに基づいて、該ターゲットMP4ファイルにおける実MOOVデータのデータ長(すなわち、ターゲットデータの長さ)を確定することを目的とする。
すなわち、通常の場合、1つのMP4ファイルにおける全データに占めるMOOVデータの大きさの比率は事前設定占有率であり、この事前設定占有率は、大量のサンプルMP4ファイルから統計的に実際のニーズに合わせて柔軟に決定できる。
理解を容易にするために、ここでは例を挙げて説明する。
大量の統計的な分析により、1つのMP4ファイルにおけるMOOVデータの大きさが、通常、総サイズの5%を占めると仮定すると、ターゲットMP4ファイルの総サイズが100MBである場合、ターゲット抽出長さは、最小で100×5%=5MBとすることができる。
なお、ターゲットMP4ファイルにおけるMOOVデータの実格納位置(先頭位置または末尾位置)が明確に分かっている場合に限り、最小のターゲット抽出長さ分のMOOVデータのみを直接抽出することができる。しかし、多くの場合、1つのMP4ファイルにおけるMOOVデータの実格納位置を事前に知ることができないため、抽出したデータの一部にMOOVデータが含まれる確率を高めるためには、通常、事前設定占有率に基づいて占有率を適宜大き目に調整する必要があるが、調整の幅やどのように調整するかは、実際の状況に応じて柔軟に選択することが可能であり、後続する実施形態ではこの部分について詳細に説明する。
ステップ202では、ターゲットMP4ファイルの先頭と末尾から、それぞれ長さがターゲットデータの長さとなる先頭データと末尾データを取得する。
ステップ201に基づいて、本ステップは、上述した実行主体が、ターゲットMP4ファイルの先頭および末尾から、長さがターゲットデータの長さとなる先頭データおよび末尾データをそれぞれ取得することを目的とする。
なお、ターゲットMP4ファイルの先頭と末尾の2箇所のみから、長さがターゲットデータの長さとなる部分データを抽出するのは、1つのMP4ファイルの総サイズの大部分が具体的なメディアデータで、すなわちMDATというBoxに格納されているデータであり、FTYPというBoxは必ずMP4ファイルの先頭に位置し、かつデータ量が小さいからであり、MOOVデータは2種類の格納方式しかない。その1はFTYP、MOOV、MDATの順に格納され、この場合には、MOOVデータがMP4ファイルの先頭に位置することに相当する。その2は、FTYP、MDAT、MOOVの順に格納され、この場合には、MOOVデータがMP4ファイルの末尾に位置することに相当する。その他の場合は存在しない。
したがって、ターゲットMP4ファイルの先頭と末尾の2箇所から、長さがターゲットデータの長さとなる部分データを抽出すれば、その中に実MOOVデータが含まれていることを確保できることになる。
ステップ203では、先頭データまたは末尾データから抽出した実MOOVデータに基づいて、ターゲットMP4ファイルをオンラインで再生する。
ステップ202に基づいて、本ステップは、上述した実行主体が、先頭データまたは末尾データから実MOOVデータを抽出し、該実MOOVデータに基づいて、ターゲットMP4ファイルのメディアデータの一部しか受信できていなかった場合に、ターゲットMP4ファイルのメディアデータの一部を正常に再生し、再生の高速始動効果を達成することを目的とする。
本出願の実施形態によるMP4オンライン再生方法は、完全なMP4ファイルに占めるMOOVデータの比率に基づいて特定された事前設定占有率に基づいて、ターゲットMP4ファイルの先頭と末尾から該当するデータ長の2部分のデータを狙い撃ちで抽出し、さらにターゲットMP4ファイルの全データを取得する必要がなく、該ターゲットMP4ファイルのMOOVデータがMDATデータの後ろに位置しても、ターゲットMP4ファイルのオンライン再生の高速始動を実現することができるようになる。
本出願の実施形態により提供されるもう1つのMP4オンライン再生方法のフローチャートである図3を参照されたい。フロー300は以下のステップ(ステップ301~308)を含む。
ステップ301では、ターゲットMP4ファイルに対するオンライン再生要求を送信する。
上記実行主体は、ターゲットMP4ファイルが格納されているサーバ(例えば、図1に示すサーバ105)に対して、ターゲットMP4ファイルに対するオンライン再生要求を送信する。このオンライン再生要求は、通常、HTTPプロトコルに従う方式で生成され、サーバに送信されるが、後続するステップもHTTPプロトコルに従うことを例として記述することとし、同様または類似の役割を果たす他のプロトコルも同様であり、ここでは説明を省略する。
ステップ302では、オンライン再生要求に対するHTTP応答情報を受信する。
ステップ301に基づいて、本ステップは、サーバが受信したオンライン再生要求に対して返したHTTP応答情報を、上記実行主体によって受信することを目的とする。本実施形態では、HTTP応答情報にターゲットMP4ファイルのメディアデータが含まれていることを求めず、後続するステップで使用するために、少なくとも該ターゲットMP4ファイルの総サイズが含まれていることを要求する。メディアデータを含むことを求めないため、データ転送に要する時間は極めて短くなる。
ステップ303では、HTTP応答情報のHTTPメッセージヘッダから、ターゲットMP4ファイルの総サイズを抽出する。
ステップ302に基づいて、本ステップは、上記実行主体によってHTTP応答情報のHTTPメッセージヘッダ(HTTP-Header)からターゲットMP4ファイルの総サイズを抽出することを目的とする。この総サイズのパラメータは、通常、HTTP-Headerにおける特定のフィールドに存在するので、抽出速度を上げるために、そのフィールドに格納されているデータを、そのフィールドのデフォルトのオフセットアドレスから直接見つけることができる。
ステップ304では、総サイズと事前設定占有率に基づいて、ターゲットデータの長さを確定する。
ステップ303に基づいて、本ステップは、上記の実行主体によって総サイズと事前設定占有率に基づいてターゲットデータの長さを確定することを目的とする。
ステップ305では、ターゲットMP4ファイルの先頭で、長さがターゲットデータの長さとなる先頭データ範囲を確定する。
上記の例のパラメータを例にとると、ターゲットデータの長さが6MBであると仮定すると、先頭データ範囲はそのターゲットMP4ファイルの先頭からの6MBであり、バイトによる表記では0~6291456(バイト/B)となる。
ステップ306では、ターゲットMP4ファイルの末尾で、長さがターゲットデータの長さとなる末尾データ範囲を確定する。
上記の例のパラメータを例にとると、ターゲットデータの長さが6MBであると仮定すると、末尾データはそのターゲットMP4ファイルの末尾から前に向けて最後の6MBであり、バイトによる表記では98566144~104857600(バイト/B)となる。
ステップ307では、先頭データ範囲と末尾データ範囲を含むHTTP-RANGE要求を送信する。
本ステップは、上記の実行主体によってステップ305およびステップ306に基づいて、HTTP-RANGE動作を介して該当するデータ範囲の一部のデータをサーバに要求することを目的としており、MP4ファイルの各フラグメントまたは完全なデータを順次返すことを直接的に要求することではない。
HTTP-RANGE指令のフォーマット要求のため、上記の例のように、送信されたHTTP-RANGE要求は具体的に以下のとおりである。
Range:bytes=0~6291456;Range:bytes=98566144~104857600。
ステップ308では、返された、先頭データ範囲に対応する先頭データと、末尾データ範囲に対応する末尾データとを受信する。
前の実施形態に基づいて、本実施形態は、ステップ301~ステップ303によって、オンライン再生要求に対して少なくともターゲットMP4ファイルの総サイズを含む少量のデータのみを返すようにサーバに要求することによって、可能な限りデータのやりとり速度を向上させる、ターゲットMP4ファイルの総サイズを取得するための具体的な方法を提供し、また、ステップ305~ステップ308によって、HTTP-RANGE動作に基づいて、ターゲットMP4ファイルの特定の位置のデータの一部を部分的に取得するための具体的な実施形態を提供する。
なお、ステップ301~ステップ303によって提供される具体的な実施形態は、ステップ305~ステップ308によって提供される具体的な実施形態と依存関係および因果関係が存在せず、2つの具体的な実施形態は、フロー200で示された実施形態と完全に独立して組み合わせることができ、その中の上位実施形態を置き換える方法で、それぞれ異なる実施形態を得ることができ、この実施形態は、2つの具体的な実施形態を同時に含む1つの好ましい実施形態としてのみ存在する。
上記の任意の実施形態に基づいて、どのように適切な事前設定占有率を確定するかが、方案全体の有効性、実用性に影響を与える鍵であることが分かるので、本出願では、この事前設定占有率を求めるための実施形態を具体的に示し、図4に示すフロー400を参照して、以下のステップ401~403を含む。
ステップ401では、サンプルMP4ファイルセットを取得する。
ステップ402では、サンプルMP4ファイルセット内の各サンプルMP4ファイルにおけるMOOVデータが完全なMP4ファイルに占める比率上限を統計する。
比率上限を選択したのは、比率上限が比率下限よりも明らかに多くのデータコンテンツをカバーでき、さらに実格納位置が未知の場合には、特定された事前設定占有率に基づいて実MOOVデータを抽出する確率をできるだけ高くするためである。
ステップ403では、予め設定された比率修正方式に従って比率上限の値を修正し、修正後の比率上限を事前設定占有率とする。
比率上限は、完全なMP4ファイルの総サイズに占めるMOOVの比率のみを示しているが、実際には、先頭または末尾に位置する他のBoxデータの大きさを考慮する必要があるので、本ステップは、いくつかの修正方式を予め設定することで、この比率上限の値(ほとんどの場合、上向きに修正、すなわち、比率上限の値を大きくし、例えば、比率上限が4%の場合、上向きに7%に修正する)を修正し、最終的に、修正後の比率上限の値を事前設定占有率として確定する。
修正方法は複数含めてもよく、たとえば、所在環境内のアイドルネットワーク帯域幅に基づいて比率上限の値を修正し、ここで、アイドルネットワーク帯域幅のサイズは、比率上限の上向き修正幅と正比例関係を成し、即ち、アイドルネットワーク帯域幅が大きいほど、単位時間あたりに取得できるデータ量が多くなることを示すため、一部のデータから完全なMOOVデータを一度に抽出する能力を向上させるために、比率上限の上向き修正幅が大きいほど、アイドル帯域幅が十分に活用されていることを意味する。また、現在の機器の機器種別に応じて、比率上限の値を修正してもよい。機器種別は、有線通信機器と無線通信機器とを含み、有線通信機器に対応する上向き修正幅は、無線通信機器に対応する上向き修正幅よりも大きい。無線通信方式を使用する無線通信機器と比較して、有線通信方式を使用する有線通信機器の方は、通信がより安定で、全体的な速度が比較的速いためであり、さまざまな通信方式を最大限に活用する効果が得られる。
また、ターゲットMP4ファイルの実サイズが、比率上限の値を算出した各サンプルMP4ファイルの平均サイズを超える幅に応じて、比率上限の値を下向きに修正するという特殊な場合も含まれる。これは、MP4ファイルのサイズが大きくなるにつれて、そのMOOVデータのデータ量の増加幅が、特定のメディアデータの増加幅に追い付かなくなるためであり、例えばメディアデータは1GB増加したが、MOOVデータは1Mしか増加していないからである。そこで、このような場合は主に超大サイズのMP4ファイルを対象とし、比率上限の値を下向きに修正することで一部のデータの取得に要する時間を可能な限り短縮し、再生始動速度を向上させる。一つの具体的な実施形態は、以下の通りである:
サンプルMP4ファイルセット内の各サンプルMP4ファイルの平均サイズを統計し、
ターゲットMP4ファイルの総サイズと平均サイズとのサイズ差を計算し、
このサイズ差は総サイズが平均サイズよりも大きいことを示すことに応答して、サイズ差の大きさに基づいて比率上限の下向き修正幅を確定する。
さらに、上述したいずれかの実施形態に係る方案に基づいて、先頭データ又は末尾データから実MOOVデータを抽出した上で、該ターゲットMP4ファイルにマークを付けてもよく、該マークは、所属するMP4ファイル内の実MOOVデータの実際の位置を示すもので、後続する段階で同じMP4ファイルに対するオンライン再生要求を再度送信する場合、上述したように再試行を必要としないから、全体的なオンライン再生始動速度をさらに向上させることができるようになる。具体的には、このマークは、データ記憶サーバに直接付加してもよいし、ターゲットMP4ファイルを送信したクライアントローカルに格納してもよく、例えば、ファイル名が該ターゲットMP4ファイルである空のファイル(すなわち、実サイズが0)をクライアントローカルに作成し、該空のファイルに前記マークを付加しても同様の効果を奏することができる。
さらに、上述した実施形態に係る方案により、いくつかのMP4ファイルの実MOOVデータがMDATの後ろに格納されていること、すなわち、MOOVデータがMP4ファイルの末尾に位置することが発見された場合には、アクセス要求が少ないときに、位置調整動作によってMOOVデータをMDATの前に調整してもよい。位置変更後の新しいMP4ファイルに応じて、関連する再生動作を同期して調整する必要があることは言うまでもない。
理解を深めるために、本出願は図5に示す「XX」という名称のMP4ファイルの構造模式図を参照して、具体的な実現プロセスを提供する。
1)ユーザは、スマートフォン上のオンラインビデオオンデマンドアプリケーションを通じて、「XX」という名称のMP4ファイルのオンデマンド再生をリクエストする。
2)スマートフォンは、オンデマンド再生のリクエスト動作に基づいて、該アプリケーションの対応するバックエンドサーバにオンラインオンデマンド再生要求を送信する。
3)サーバは、該オンラインオンデマンド再生要求に応答して、「XX」というMP4ファイルの総サイズのみが含まれる応答情報をスマートフォンに返す。
4)スマートフォンは事前設定占有率と総サイズとに基づいて、先頭データ範囲と末尾データ範囲をそれぞれ計算により得る。
5)スマートフォンは、この「XX」というMP4ファイルの先頭データ範囲の部分データを取得する要求をHTTP-RANGE指令で送信する。
6)サーバは、この先頭データ範囲の部分データを取得する要求に応じて、該当する先頭データをスマートフォンに返す。
7)スマートフォンは、先頭データからMOOVデータを発見しなかった。
8)スマートフォンは、この「XX」というMP4ファイルの末尾データ範囲の部分データを取得する要求をHTTP-RANGE指令で送信する。
9)サーバは、この末尾データ範囲の部分データを取得する要求に応答して、該当する末尾データをスマートフォンに返す。
10)スマートフォンは、末尾データからMOOVデータを発見し、ユーザが選定した再生時刻に従って該当するMP4ファイルフラグメントを取得し、MOOVにおけるメディア再生指示情報により該当するMP4ファイルフラグメントの正常再生を実現する。
更に図6を参照すると、上記の各図に示された方法の実施態様として、本出願はMP4オンライン再生装置の一実施形態を提供し、該装置の実施形態は、図2に示された方法の実施形態に対応しており、該装置は具体的に様々な電子機器に適用することができる。
図6に示すように、本実施形態のMP4オンライン再生装置600は、総サイズ取得とターゲットデータ長確定ユニット601と、先頭と末尾データ取得ユニット602と、実MOOVデータ抽出とオンライン再生ユニット603とを備える。総サイズ取得とターゲットデータ長確定ユニット601は、ターゲットMP4ファイルの総サイズを取得し、総サイズと、完全なMP4ファイルに占めるMOOVデータの比率に基づいて特定された事前設定占有率とに基づいて、ターゲットデータの長さを確定するように構成される。先頭と末尾データ取得ユニット602は、ターゲットMP4ファイルの先頭と末尾から、長さがターゲットデータの長さとなる先頭データと末尾データをそれぞれ取得するように構成される。実MOOVデータ抽出とオンライン再生ユニット603は、先頭データまたは末尾データから抽出した実MOOVデータに基づいて、ターゲットMP4ファイルをオンラインで再生するように構成される。
本実施形態において、MP4オンライン再生装置600は、総サイズ取得とターゲットデータ長確定ユニット601、先頭と末尾データ取得ユニット602、実MOOVデータ抽出とオンライン再生ユニット603の具体的な処理およびそれらの技術効果は、それぞれ図2の対応する実施形態におけるステップ201~ステップ203の関連する説明を参照することができ、ここでは説明を省略する。
本実施形態のいくつかのオプション的な実施形態においては、総サイズ取得とターゲットデータ長確定ユニット601は、ターゲットMP4ファイルの総サイズを取得するように構成される総サイズ取得サブユニットを含み、総サイズ取得サブユニットは、さらに、
ターゲットMP4ファイルのオンライン再生要求を送信し、
オンライン再生要求に対するHTTP応答情報を受信し、
HTTP応答情報のHTTPメッセージヘッダからターゲットMP4ファイルの総サイズを抽出するように構成されてもよい。
本実施形態のいくつかのオプション的な実施形態において、MP4オンライン再生装置600は、完全なMP4ファイルに占めるMOOVデータの比率に基づいて事前設定占有率を確定するように構成される事前設定占有率確定ユニットをさらに備えてもよい。事前設定占有率確定ユニットは、さらに
サンプルMP4ファイルセットを取得するように構成されるサンプルファイルセット取得サブユニットと、
サンプルMP4ファイルセットの各サンプルMP4ファイル中のMOOVデータが完全なMP4ファイルに占める比率上限を統計するように構成される比率上限統計サブユニットと、
比率上限の値を予め設定された比率修正方式で修正し、修正後の比率上限を事前設定占有率として確定するように構成される修正サブユニットとを備えてもよい。
本実施形態のいくつかのオプション的な実施形態において、修正サブユニットは、さらに
所在環境内のアイドルネットワーク帯域幅に基づいて、比率上限の値を修正するように構成されてもよく、アイドルネットワーク帯域幅のサイズは、比率上限の上向き修正幅に正比例関係を成す。
本実施形態のいくつかのオプション的な実施形態において、修正サブユニットは、さらに
現在の機器の機器種別に応じて、比率上限の値を修正するように構成されてもよく、機器種別は有線通信機器と無線通信機器とを含み、有線通信機器に対応する上向き修正幅は、無線通信機器に対応する上向き修正幅よりも大きい。
本実施形態のいくつかのオプション的な実施形態において、修正サブユニットは、さらに
サンプルMP4ファイルセット内の各サンプルMP4ファイルの平均サイズを統計し、
ターゲットMP4ファイルの総サイズと平均サイズとのサイズ差を計算し、
このサイズ差は総サイズが平均サイズよりも大きいことを示すことに応答して、サイズ差の大きさに基づいて、比率上限の下向き修正幅を確定するように構成されてもよい。
本実施形態のいくつかのオプション的な実施形態において、先頭と末尾データ取得ユニット602は、さらに
ターゲットMP4ファイルの先頭で、長さがターゲットデータの長さとなる先頭データ範囲を確定し、
ターゲットMP4ファイルの末尾で、長さがターゲットデータの長さとなる末尾データ範囲を確定し、
先頭データ範囲と末尾データ範囲とを含むHTTP-RANGE要求を送信し、
返された、先頭データ範囲に対応する先頭データと、末尾データ範囲に対応する末尾データとを受信するように構成されてもよい。
本実施形態は、上述した方法の実施形態に対応する装置の実施形態として存在するものであり、本実施形態によるMP4オンライン再生装置は、完全なMP4ファイルに占めるMOOVデータの比率に基づいて確定された事前設定占有率により、ターゲットMP4ファイルの先頭と末尾から対応するデータ長の2部分のデータを抽出し、さらにターゲットMP4ファイルの全データを取得する必要としない場合、該ターゲットMP4ファイルのMOOVデータがMDATデータの後ろにあっても、ターゲットMP4ファイルのオンライン再生の高速始動を実現することができる。
本出願の実施形態によれば、本出願はさらに、少なくとも1つのプロセッサと、少なくとも1つのプロセッサと通信可能に接続されたメモリとを備える電子機器であって、メモリには、少なくとも1つのプロセッサによって実行可能な指令が格納されており、該指令が少なくとも1つのプロセッサによって実行されるとき、少なくとも1つのプロセッサに上記のいずれかの実施形態に記載のMP4オンライン再生方法を実現する電子機器を提供する。
本出願の実施形態によれば、本出願はさらに、上記のいずれかの実施形態に記載のMP4オンライン再生方法をコンピュータに実行させるためのコンピュータ指令を格納した読み取り可能な記憶媒体を提供する。
本出願の実施形態は、プロセッサによって実行されるとき、上記のいずれかの実施形態に記載のMP4オンライン再生方法を実現可能なコンピュータプログラムを提供する。
図7は、本出願の実施形態を実施するために使用できる例示的な電子機器700の概略ブロック図を示している。電子機器は、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、パーソナルデジタルアシスタント、サーバ、ブレード型サーバ、メインフレームコンピュータおよびその他の適切なコンピュータ等の様々な形態のデジタルコンピュータを表す。また、電子機器は、個人デジタル処理、携帯電話、スマートフォン、ウェアラブル機器およびその他の類似するコンピューティングデバイス等の様々な形態のモバイルデバイスを表すことができる。なお、ここで示したコンポーネント、それらの接続および関係、並びにそれらの機能はあくまでも例示であり、ここで記述および/または要求した本出願の実施形態を限定することを意図するものではない。
図7に示すように、電子機器700は、読み出し専用メモリ(ROM)702に記憶されているコンピュータプログラムまたは記憶ユニット708からランダムアクセスメモリ(RAM)703にロードされたコンピュータプログラムによって様々な適当な動作および処理を実行することができる計算ユニット701を備える。RAM703には、電子機器700の動作に必要な様々なプログラムおよびデータが更に格納されることが可能である。計算ユニット701、ROM702およびRAM703は、バス704を介して互いに接続されている。入/出力(I/O)インターフェース705もバス704に接続されている。
電子機器700において、キーボード、マウスなどの入力ユニット706と、様々なタイプのディスプレイ、スピーカなどの出力ユニット707と、磁気ディスク、光ディスクなどの記憶ユニット708と、ネットワークカード、モデム、無線通信送受信機などの通信ユニット709とを含む複数のコンポーネントは、I/Oインターフェース705に接続されている。通信ユニット709は、電子機器700がインターネットなどのコンピュータネットワークおよび/または様々な電気通信ネットワークを介して他の装置と情報またはデータのやりとりを可能にする。
計算ユニット701は、処理および計算機能を有する様々な汎用および/または専用処理コンポーネントであってもよい。計算ユニット701のいくつかの例としては、中央処理ユニット(CPU)、グラフィックス処理ユニット(GPU)、様々な専用人工知能(AI)計算チップ、機械学習モデルアルゴリズムを実行する様々な計算ユニット、デジタル信号プロセッサ(DSP)、および任意の適切なプロセッサ、コントローラ、マイクロコントローラなどを含むが、これらに限定されない。計算ユニット701は、上述した、MP4オンライン再生方法のような様々な方法および処理を実行する。例えば、いくつかの実施形態では、MP4オンライン再生方法は、記憶ユニット708などの機械可読媒体に有形に含まれるコンピュータソフトウェアプログラムとして実装されてもよい。いくつかの実施形態では、コンピュータプログラムの一部または全部は、ROM702および/または通信ユニット709を介して電子機器700にロードおよび/またはインストールされてもよい。コンピュータプログラムがRAM703にロードされ、計算ユニット701によって実行されるとき、上述のMP4オンライン再生方法の1つまたは複数のステップを実行可能である。あるいは、他の実施形態では、計算ユニット701は、他の任意の適切な形態によって(例えば、ファームウェアを介して)MP4オンライン再生方法を実行するように構成されていてもよい。
ここで説明するシステムおよび技術の様々な実施形態はデジタル電子回路システム、集積回路システム、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準製品(ASSP)、システムオンチップ(SOC)、コンプレックスプログラマブルロジックデバイス(CPLD)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそれらの組み合わせにおいて実現することができる。これらの各実施形態は、1つまたは複数のコンピュータプログラムに実装され、該1つまたは複数のコンピュータプログラムは少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステムにおいて実行および/または解釈することができ、該プログラマブルプロセッサは専用または汎用プログラマブルプロセッサであってもよく、記憶システム、少なくとも1つの入力装置および少なくとも1つの出力装置からデータおよび指令を受信することができ、且つデータおよび指令を該記憶システム、該少なくとも1つの入力装置および該少なくとも1つの出力装置に伝送することを含み得る。
本出願の方法を実施するためのプログラムコードは、1つまたは複数のプログラミング言語のあらゆる組み合わせで作成することができる。これらのプログラムコードは、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサまたはコントローラに提供されることができ、これらのプログラムコードがプロセッサまたはコントローラによって実行されると、フローチャートおよび/またはブロック図に規定された機能または動作が実施される。プログラムコードは、完全にデバイス上で実行されることも、部分的にデバイス上で実行されることも、スタンドアロンソフトウェアパッケージとして部分的にデバイス上で実行されながら部分的にリモートデバイス上で実行されることも、または完全にリモートデバイスもしくはサーバ上で実行されることも可能である。
本出願のコンテキストでは、機械可読媒体は、有形の媒体であってもよく、命令実行システム、装置またはデバイスが使用するため、または命令実行システム、装置またはデバイスと組み合わせて使用するためのプログラムを含むか、または格納することができる。機械可読媒体は、機械可読信号媒体または機械可読記憶媒体であり得る。機械可読媒体は、電子的、磁気的、光学的、電磁的、赤外線の、または半導体のシステム、装置または機器、またはこれらのあらゆる適切な組み合わせを含むことができるが、これらに限定されない。機械可読記憶媒体のより具体的な例には、1本または複数本のケーブルに基づく電気的接続、携帯型コンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、消去可能プログラマブル読み取り専用メモリ(EPROMまたはフラッシュメモリ)、光ファイバ、コンパクトディスク読み取り専用メモリ(CD-ROM)、光学記憶装置、磁気記憶装置、またはこれらのあらゆる適切な組み合わせが含まれ得る。
ユーザとのインタラクションを提供するために、ここで説明するシステムと技術は、ユーザに情報を表示するための表示装置(例えば、陰極線管(CathodeRayTube,CRT)またはLCD(液晶ディスプレイ)モニタ)と、キーボードおよびポインティングデバイス(例えば、マウスまたはトラックボール)とを備えるコンピュータ上で実装することができ、ユーザが該キーボードおよび該ポインティングデバイスを介してコンピュータに入力を提供できる。他の種類の装置もユーザとのやりとりを行うことに用いることができる。例えば、ユーザに提供されるフィードバックは、例えば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであるいかなる形態のセンシングフィードバックであってもよく、且つ音入力、音声入力若しくは触覚入力を含むいかなる形態でユーザからの入力を受信してもよい。
ここで説明したシステムおよび技術は、バックエンドコンポーネントを含むコンピューティングシステム(例えば、データサーバ)に実施されてもよく、またはミドルウェアコンポーネントを含むコンピューティングシステム(例えば、アプリケーションサーバ)に実施されてもよく、またはフロントエンドコンポーネントを含むコンピューティングシステム(例えば、グラフィカルユーザインタフェースまたはウェブブラウザを有するユーザコンピュータ)に実施されてもよく、ユーザは該グラフィカルユーザインタフェースまたはウェブブラウザを介してここで説明したシステムおよび技術の実施形態とインタラクションしてもよく、またはこのようなバックエンドコンポーネント、ミドルウェアコンポーネントまたはフロントエンドコンポーネントのいずれかの組み合わせを含むコンピューティングシステムに実施されてもよい。また、システムの各コンポーネントの間は、通信ネットワーク等の任意の形態または媒体を介してデジタルデータ通信により接続されていてもよい。通信ネットワークとしては、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)およびインターネットなどを含む。
コンピュータシステムは、クライアントとサーバとを含んでもよい。クライアントとサーバは、通常、互いに離れており、通信ネットワークを介してやりとりを行う。クライアントとサーバとの関係は、互いにクライアント-サーバの関係を有するコンピュータプログラムをそれぞれのコンピュータ上で動作することによって生成される。サーバはクラウドサーバであってもよく、クラウドコンピューティングサーバ又はクラウドホストとも呼ばれ、クラウドコンピューティングサービスシステムにおけるホスト製品であり、従来の物理ホストと仮想専用サーバ(VPS、Virtual Private Server)サービスにおける管理難度が大きく、ビジネス拡張性が弱いという欠陥を解決する。
本出願の実施形態の技術案によれば、完全なMP4ファイルに占めるMOOVデータの比率に基づいて確定された事前設定占有率により、ターゲットMP4ファイルの先頭と末尾から対応するデータ長の2部分のデータを抽出し、さらにターゲットMP4ファイルの全データを取得する必要がなく、該ターゲットMP4ファイルのMOOVデータがMDATデータの後ろにあっても、ターゲットMP4ファイルのオンライン再生の高速始動を実現することができる。
なお、上述した様々な形態のフローを用いて、ステップを並び替え、追加または削除を行うことができることを理解すべきである。例えば、本出願に記載された各ステップは、本出願に開示された技術方案の所望の結果が達成できる限り、並行して実行されてもよく、順番に実行されてもよく、異なる順番で実行されてもよい。本明細書はここで制限はしない。
上記具体的な実施形態は、本出願の保護範囲を限定するものではない。当業者であれば、設計要件および他の要因に応じて、様々な修正、組み合わせ、副次的な組み合わせ、および置換を行うことができることを理解すべきである。本出願の趣旨および原理を逸脱せずに行われたあらゆる修正、均等な置換および改善などは、いずれも本出願の保護範囲内に含まれるべきである。

Claims (17)

  1. ターゲットMP4ファイルの総サイズを取得し、前記総サイズと、完全なMP4ファイルに占めるMOOVデータの比率に基づいて特定された事前設定占有率とに基づいて、ターゲットデータの長さを確定するステップと、
    前記ターゲットMP4ファイルの先頭と末尾から、長さが前記ターゲットデータの長さとなる先頭データと末尾データをそれぞれ取得するステップと、
    前記先頭データまたは前記末尾データから抽出した実MOOVデータに基づいて、前記ターゲットMP4ファイルをオンラインで再生するステップと、を含むMP4オンライン再生方法。
  2. 前記の、ターゲットMP4ファイルの総サイズを取得するステップは、
    前記ターゲットMP4ファイルに対するオンライン再生要求を送信するステップと、
    前記オンライン再生要求に対するHTTP応答情報を受信するステップと、
    前記HTTP応答情報のHTTPメッセージヘッダから、前記ターゲットMP4ファイルの総サイズを抽出するステップと、を含む請求項1に記載のMP4オンライン再生方法。
  3. 完全なMP4ファイルに占めるMOOVデータの比率に基づいて前記事前設定占有率を確定するステップは、
    サンプルMP4ファイルセットを取得するステップと、
    前記サンプルMP4ファイルセット内の各サンプルMP4ファイルにおけるMOOVデータが完全なMP4ファイルに占める比率上限を統計するステップと、
    前記比率上限の値を予め設定された比率修正方式で修正し、修正後の比率上限を前記事前設定占有率とするステップと、を含む請求項1に記載のMP4オンライン再生方法。
  4. 前記比率上限の値を予め設定された比率修正方式で修正するステップは、
    所在環境内のアイドルネットワーク帯域幅に基づいて、前記比率上限の値を修正することを含み、
    前記アイドルネットワーク帯域幅の大きさは、前記比率上限の上向き修正幅と正比例関係を成す請求項3に記載のMP4オンライン再生方法。
  5. 前記比率上限の値を予め設定された比率修正方式で修正するステップは、
    現在の機器の機器種別に応じて前記比率上限の値を修正することを含み、
    前記機器種別は有線通信機器と無線通信機器とを含み、
    前記有線通信機器に対応する上向き修正幅は、前記無線通信機器に対応する上向き修正幅よりも大きい請求項3に記載のMP4オンライン再生方法。
  6. 前記比率上限の値を予め設定された比率修正方式で修正するステップは、
    前記サンプルMP4ファイルセット内の各前記サンプルMP4ファイルの平均サイズを統計するステップと、
    前記ターゲットMP4ファイルの総サイズと前記平均サイズとのサイズ差を算出するステップと、
    前記サイズ差は前記総サイズが前記平均サイズよりも大きいことを示すことに応答して、前記サイズ差の大きさに基づいて、前記比率上限を下向きに修正する幅を確定する請求項3に記載のMP4オンライン再生方法。
  7. 前記ターゲットMP4ファイルの先頭と末尾から、長さが前記ターゲットデータの長さとなる先頭データと末尾データをそれぞれ取得するステップは、
    前記ターゲットMP4ファイルの先頭において、長さが前記ターゲットデータの長さとなる先頭データ範囲を確定するステップと、
    前記ターゲットMP4ファイルの末尾において、長さが前記ターゲットデータの長さとなる末尾データ範囲を確定するステップと、
    前記先頭データ範囲と前記末尾データ範囲とを含むHTTP-RANGE要求を送信するステップと、
    返された、前記先頭データ範囲に対応する先頭データと、前記末尾データ範囲に対応する末尾データとを受信するステップと、を含む請求項1~6のいずれか1項に記載のMP4オンライン再生方法。
  8. ターゲットMP4ファイルの総サイズを取得し、前記総サイズと、完全なMP4ファイルに占めるMOOVデータの比率に基づいて特定された事前設定占有率とに基づいて、ターゲットデータの長さを確定するように構成される総サイズ取得とターゲットデータ長確定ユニットと、
    前記ターゲットMP4ファイルの先頭と末尾から、長さが前記ターゲットデータの長さとなる先頭データと末尾データをそれぞれ取得するように構成される先頭と末尾データ取得ユニットと、
    前記先頭データまたは前記末尾データから抽出した実MOOVデータに基づいて、前記ターゲットMP4ファイルをオンラインで再生するように構成される実MOOVデータ抽出とオンライン再生ユニットと、を備えるMP4オンライン再生装置。
  9. 前記総サイズ取得とターゲットデータ長確定ユニットは、ターゲットMP4ファイルの総サイズを取得するように構成される総サイズ取得サブユニットを含み、
    前記総サイズ取得サブユニットは、さらに
    前記ターゲットMP4ファイルに対するオンライン再生要求を送信し、
    前記オンライン再生要求に対するHTTP応答情報を受信し、
    前記HTTP応答情報のHTTPメッセージヘッダから、前記ターゲットMP4ファイルの総サイズを抽出するように構成される請求項8に記載のMP4オンライン再生装置。
  10. 完全なMP4ファイルに占めるMOOVデータの比率に基づいて前記事前設定占有率を確定するように構成される事前設定占有率確定ユニットをさらに備え、
    前記事前設定占有率確定ユニットは、
    サンプルMP4ファイルセットを取得するように構成されるサンプルファイルセット取得サブユニットと、
    前記サンプルMP4ファイルセット内の各サンプルMP4ファイルにおけるMOOVデータが完全なMP4ファイルに占める比率上限を統計するように構成される比率上限統計サブユニットと、
    前記比率上限の値を予め設定された比率修正方式で修正し、修正後の比率上限を前記事前設定占有率とするように構成される修正サブユニットと、を備える、請求項8に記載のMP4オンライン再生装置。
  11. 前記修正サブユニットは、さらに所在環境内のアイドルネットワーク帯域幅に基づいて、前記比率上限の値を修正するように構成され、
    前記アイドルネットワーク帯域幅の大きさは、前記比率上限の上向き修正幅と正比例関係を成す請求項10に記載のMP4オンライン再生装置。
  12. 前記修正サブユニットは、さらに現在の機器の機器種別に応じて、前記比率上限の値を修正するように構成され、
    前記機器種別は有線通信機器と無線通信機器とを含み、
    前記有線通信機器に対応する上向き修正幅は、前記無線通信機器に対応する上向き修正幅よりも大きい請求項10に記載のMP4オンライン再生装置。
  13. 前記修正サブユニットは、さらに
    前記サンプルMP4ファイルセット内の各前記サンプルMP4ファイルの平均サイズを統計し、
    前記ターゲットMP4ファイルの総サイズと前記平均サイズとのサイズ差を算出し、
    前記サイズ差は前記総サイズが前記平均サイズよりも大きいことを示すことに応答して、前記サイズ差の大きさに基づいて、前記比率上限を下向きに修正する幅を確定するように構成される請求項10に記載のMP4オンライン再生装置。
  14. 前記先頭と末尾データ取得ユニットは、さらに
    前記ターゲットMP4ファイルの先頭において、長さが前記ターゲットデータの長さとなる先頭データ範囲を確定し、
    前記ターゲットMP4ファイルの末尾において、長さが前記ターゲットデータの長さとなる末尾データ範囲を確定し、
    前記先頭データ範囲と前記末尾データ範囲とを含むHTTP-RANGE要求を送信し、
    返された、前記先頭データ範囲に対応する先頭データと、前記末尾データ範囲に対応する末尾データとを受信するように構成される請求項8~13のいずれか1項に記載のMP4オンライン再生装置。
  15. 少なくとも1つのプロセッサと、
    前記少なくとも1つのプロセッサと通信可能に接続されたメモリとを備える電子機器であって、
    前記メモリには、前記少なくとも1つのプロセッサによって実行可能な指令が格納され、前記指令が前記少なくとも1つのプロセッサによって実行されるとき、請求項1~7のいずれか1項に記載のMP4オンライン再生方法を前記少なくとも1つのプロセッサに実行させる、電子機器。
  16. コンピュータ指令が格納されている非一時的コンピュータ可読記憶媒体であって、
    前記コンピュータ指令は、請求項1~7のいずれか1項に記載のMP4オンライン再生方法をコンピュータに実行させるために用いられる非一時的コンピュータ可読記憶媒体。
  17. プロセッサによって実行されるとき、請求項1~7のいずれか1項に記載のMP4オンライン再生方法を実現するコンピュータプログラム。
JP2022011882A 2021-06-21 2022-01-28 Mp4オンライン再生方法、装置、電子機器、記憶媒体およびコンピュータプログラム Active JP7269392B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110683776.8A CN113365140B (zh) 2021-06-21 2021-06-21 Mp4在线播放方法、装置、设备、存储介质及程序产品
CN202110683776.8 2021-06-21

Publications (2)

Publication Number Publication Date
JP2022058789A true JP2022058789A (ja) 2022-04-12
JP7269392B2 JP7269392B2 (ja) 2023-05-08

Family

ID=77535320

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022011882A Active JP7269392B2 (ja) 2021-06-21 2022-01-28 Mp4オンライン再生方法、装置、電子機器、記憶媒体およびコンピュータプログラム

Country Status (5)

Country Link
US (1) US11683557B2 (ja)
EP (1) EP3975578A3 (ja)
JP (1) JP7269392B2 (ja)
KR (1) KR20220027904A (ja)
CN (1) CN113365140B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115396692A (zh) * 2021-11-04 2022-11-25 深圳点猫科技有限公司 视频文件的播放方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323678A (ja) * 2005-05-19 2006-11-30 Canon Inc コンテンツ再生方法、コンテンツ再生システム、及びコンピュータプログラム
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
JP2012054788A (ja) * 2010-09-01 2012-03-15 Canon Inc データファイル転送装置、その制御方法、プログラム及び記憶媒体
WO2014073202A1 (ja) * 2012-11-08 2014-05-15 日本電気株式会社 情報処理装置、情報処理方法、コンテンツ配信システム及びコンピュータプログラム記録媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4740690B2 (ja) * 2005-08-22 2011-08-03 パナソニック株式会社 コンテンツ再生装置およびコンテンツ再生方法
JP4828352B2 (ja) * 2006-08-18 2011-11-30 ソニー株式会社 情報処理装置、情報処理方法、コンピュータプログラム、半導体装置
CN102088449B (zh) 2009-12-08 2014-02-26 腾讯科技(深圳)有限公司 网络视频文件的播放方法及装置
CN102420840A (zh) 2010-09-27 2012-04-18 西安龙飞软件有限公司 一种基于brew的Http递进式视频播放器的实现方法
CN102169706B (zh) * 2011-01-28 2015-04-29 杭州海康威视数字技术股份有限公司 Yuv文件的存储、播放方法及其装置
CN103079091B (zh) * 2013-02-01 2016-12-28 清华大学 流媒体预览方法及装置
JP6467680B2 (ja) * 2014-01-10 2019-02-13 パナソニックIpマネジメント株式会社 ファイル生成方法およびファイル生成装置
JP2015136059A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
CN104363511B (zh) * 2014-11-28 2017-06-23 北京奇艺世纪科技有限公司 一种在移动设备中在线播放F4v视频的方法及系统
CN105611395B (zh) * 2015-09-22 2019-05-10 暴风集团股份有限公司 一种mp4格式视频在线播放的方法及系统
CN105578276A (zh) 2015-12-24 2016-05-11 杭州当虹科技有限公司 一种支持mp4文件逐行下载实时转换的方法
CN106162311A (zh) * 2016-07-21 2016-11-23 青岛海信电器股份有限公司 一种播放网络视频的方法和终端设备
CN109936715B (zh) * 2017-12-19 2021-09-03 华为技术有限公司 一种mp4文件的处理方法及其相关设备
CN110545479B (zh) * 2018-05-29 2021-07-06 北京字节跳动网络技术有限公司 媒体播放的加载控制方法、装置及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323678A (ja) * 2005-05-19 2006-11-30 Canon Inc コンテンツ再生方法、コンテンツ再生システム、及びコンピュータプログラム
JP2011087103A (ja) * 2009-10-15 2011-04-28 Sony Corp コンテンツ再生システム、コンテンツ再生装置、プログラム、コンテンツ再生方法、およびコンテンツサーバを提供
JP2012054788A (ja) * 2010-09-01 2012-03-15 Canon Inc データファイル転送装置、その制御方法、プログラム及び記憶媒体
WO2014073202A1 (ja) * 2012-11-08 2014-05-15 日本電気株式会社 情報処理装置、情報処理方法、コンテンツ配信システム及びコンピュータプログラム記録媒体

Also Published As

Publication number Publication date
EP3975578A2 (en) 2022-03-30
US20220141519A1 (en) 2022-05-05
CN113365140A (zh) 2021-09-07
JP7269392B2 (ja) 2023-05-08
US11683557B2 (en) 2023-06-20
EP3975578A3 (en) 2022-08-24
CN113365140B (zh) 2022-12-23
KR20220027904A (ko) 2022-03-08

Similar Documents

Publication Publication Date Title
US11417341B2 (en) Method and system for processing comment information
US9532114B2 (en) Optimizing caches for media streaming
US10051013B2 (en) Method and apparatus for streaming multimedia content of server by using cache
CN102282825B (zh) 内容传送网络中流媒体请求地址映射的方法及装置、缓存节点
US9667682B2 (en) Media content streaming using stream message fragments
CN103299600B (zh) 用于传输直播媒体内容的装置和方法
WO2021114845A1 (zh) 互动业务处理方法、系统、设备及存储介质
CN112653700B (zh) 一种基于webrtc网页视频通信的方法
WO2021159770A1 (zh) 视频播放方法、装置、设备和存储介质
EP3055761B1 (en) Framework for screen content sharing system with generalized screen descriptions
US10791160B2 (en) Method and apparatus for cloud streaming service
CN109640113B (zh) 一种拖拉视频数据的处理方法及代理服务器
US20120158988A1 (en) Media Requests to Counter Latency and Minimize Network Bursts
CN105228001A (zh) 一种flv格式视频在线播放的方法及系统
US10419798B2 (en) Method and apparatus for just-in-time transcoding
US20230294001A1 (en) Content stream processing
CN113742518A (zh) 存储和提供视频的方法、设备和计算机程序产品
JP2022058789A (ja) Mp4オンライン再生方法、装置、電子機器、記憶媒体およびコンピュータプログラム
EP2882199B1 (en) Method and apparatus for prefetching content in a data stream
US20180288484A1 (en) Virtual high definition video player
WO2021009597A1 (en) A system and a method for streaming videos by creating object urls at client
US9237178B2 (en) Combined binary string for signaling byte range of media fragments in adaptive streaming
JP2019129540A (ja) 情報処理装置、データ生成方法およびプログラム
KR102399661B1 (ko) 원격 접속을 위한 장치 및 방법
WO2021121303A1 (zh) Mp4文件虚拟mss分片方法、mss适配器、媒体服务器和存储介质

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230210

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230421

R150 Certificate of patent or registration of utility model

Ref document number: 7269392

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150