TWI551125B - Method and system to extend playback control functions for native video player - Google Patents

Method and system to extend playback control functions for native video player Download PDF

Info

Publication number
TWI551125B
TWI551125B TW103100587A TW103100587A TWI551125B TW I551125 B TWI551125 B TW I551125B TW 103100587 A TW103100587 A TW 103100587A TW 103100587 A TW103100587 A TW 103100587A TW I551125 B TWI551125 B TW I551125B
Authority
TW
Taiwan
Prior art keywords
video
audio
playback control
instruction
native
Prior art date
Application number
TW103100587A
Other languages
Chinese (zh)
Other versions
TW201528796A (en
Inventor
黃鴻儒
張鶴薰
林念珍
Original Assignee
中華電信股份有限公司
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 中華電信股份有限公司 filed Critical 中華電信股份有限公司
Priority to TW103100587A priority Critical patent/TWI551125B/en
Publication of TW201528796A publication Critical patent/TW201528796A/en
Application granted granted Critical
Publication of TWI551125B publication Critical patent/TWI551125B/en

Links

Landscapes

  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Description

擴充原生影音播放控制的系統及方法 System and method for expanding native video playback control

本發明提出一種擴充作業系統原生影音播放器播放控制的系統及方法,係結合作業系統(如:Android、iOS)原生影音播放器、影音播放控制指令仲介伺服模組、影音串流伺服器所達成。 The invention provides a system and a method for expanding the playback control of the native video player of the operating system, which is achieved by combining the operating system (such as: Android, iOS) native video player, video playback control command agent servo module, video stream server .

過往習知以行動裝置上的作業系統原生影音播放器播放影內容,除了播放,停止、暫停、跳播鍵之外,若有需要其他影音播放控制功能(如:快轉倒轉),需額外開發音視頻解碼庫、基於C語言的動態庫和基於Java語言的JAR庫,或需下載其他APP軟體才能使用所需要的播放功能,甚至需要使用較複雜的JNI程式開發技術才可達成。 In the past, it was customary to play the video content in the operating system's native video player on the mobile device. In addition to the play, stop, pause, and skip buttons, if other video playback control functions are required (eg, fast reverse), additional development is required. Audio and video decoding library, C-based dynamic library and Java language-based JAR library, or you need to download other APP software to use the required playback functions, even need to use more complex JNI program development technology.

本案發明人鑑於新技術發展趨勢可改善過往的各項不足,並加以改良創新,並經多年研究後,終於成功研發完成本件一種擴充原生影音播放控制的系統及方法。 In view of the development trend of new technologies, the inventors of this case can improve the past deficiencies, improve and innovate, and after years of research, finally successfully developed a system and method for expanding the original audio and video playback control.

本發明之一種擴充作業系統原生影音播放器播放控制的系統及方法,係使用一影音播放控制指令仲介伺服模 組以監控、修改及代理的方式介入原生影音播放器與影音串流伺服器之間的影音播放控制指令,搭配影音串流伺服器收到影音播放控制指令後回應對應指令的影音播放資料,以達到提供多樣化影音放控制功能的目的。本發明可讓欲直接使用作業系統中的原生影音播放器之應用程式介面(Application Programming Interface,API),開發影視播放服務行動應用程式(APP)的開發者開發作業系統原生影音播放器API未提供的影音播放控制功能,如:快轉、倒轉、劇情選擇、即時頻道切換、…等。可節省APP程式開發者以自行撰寫影音播放器程式碼方式來達到多樣影音播放控制功能所花費之時間及成本。 The system and method for playing control of a native audio and video player of an extended operating system of the present invention is to use an audio and video playback control command intermediary servo module The group intervenes in the video playback control command between the original video player and the video stream server by means of monitoring, modification and proxying, and responds to the video and audio playing data of the corresponding instruction after receiving the video playing control command with the video streaming server. Achieve the purpose of providing a variety of audio and video control functions. The invention can directly use the application programming interface (API) of the native video player in the operating system, and develop the developer development operating system native video player API of the video playback service mobile application (APP). Video playback control functions, such as: fast forward, reverse, plot selection, instant channel switching, ... and so on. It can save the time and cost for the app developers to achieve the various audio and video playback control functions by writing the video player code.

一般作業系統(如:Android、iOS)原生影音播放器API只提供一些基本的影音播放控制功能,如:開始(start)、停止(stop)、暫停(pause)、跳播(seek)。本發明之一種擴充作業系統原生影音播放器播放控制功能的系統及方法,係可讓欲直接使用作業系統原生影音播放器API開發影視播放服務APP應用程式的開發者開發作業系統原生影音播放器API未提供的影音播放控制功能(如:快轉、倒轉、劇情選擇、即時頻道切換、…等)。可節省APP程式開發者以自行撰寫影音播放器程式碼方式來達到多樣影音播放控制功能所花費之時間及成本。 The general operating system (such as: Android, iOS) native video player API only provides some basic audio and video playback control functions, such as: start, stop, pause, seek. The system and method for the playback control function of the original audio and video player of the extended operating system of the present invention enable the developer to develop the operating system native audio and video player API to directly develop the video playback service APP application using the operating system native audio and video player API. Unsupported audio and video playback control functions (such as: fast forward, reverse, plot selection, instant channel switching, ..., etc.). It can save the time and cost for the app developers to achieve the various audio and video playback control functions by writing the video player code.

本發明目的之一,即在於提供一種擴充原生影音播放控制的系統,其包含:影音播放APP、影音串流伺服器。影音播放APP包含影音播放控制指令仲介伺服模組、由作業系統提供的影音播放API所開發之原生影音播放器模組。其中影音播放控制指令仲介伺服模組又包含影音串流指令剖析 修改單元及影音串流指令代理伺服單元。影音串流伺服器包含影音串流指令剖析模組、影音資料串流伺服模組。茲舉實施方式如下:APP由影音播放控制指令仲介伺服模組及原生影音播放器模組所組成。原生影音播放器模組由作業系統提供的影音播放API所開發可播放依指定資料來源播放影片內容。APP使用介面設計上除了可提供原API既有提供的影音播放控制功能外,程式開發者另實作一些原API未包含的影音播放控制功能。設計上將原生影音播放器模組的影音資料播放來源設定為影音播放控制指令仲介伺服模組,由影音播放控制指令仲介伺服模組接收、處理及回應原生影音播放器模組所發出的影音資料播放指令。影音播放控制指令仲介伺服模組俱接收、分析、修改、發送影音播放控制指令及影音資料的功能,其中通訊資料的接收、發送功能由影音串流指令代理伺服單元負責。分析、修改功能由影音串流指令剖析修改單元處理。控制指令仲介伺服模組會收到來自原生影音播放器模組的影音播放控制指令(經由使用者於使用介面上點選欲進行的控制後,透過呼叫原生影音播放器API,由原生影音播放器API發出一標準影音播放控制指令),首先分析判斷該發出的指令欲執行的是原生影音播放API已提供的播放控制功能或由APP程式開發者自行定義的額外擴充功能。若欲執行原生影音播放API已提供之功能,則將該指令直接轉發給影音串流伺服器。若偵測為欲執行自行定義的額外擴充功能,則對該指令內容進行修改,以不破壞該標準指令格式為原則,將其內藏一事先定義之符號或值(用以代表該額外擴充功能)再轉發給影音串流伺服器。影音串流伺服器具有分析影音播放控制指令(經由影音串流指令剖析模組),回應指令處理 結果及提供指令所指定影音播放服務(經由影音資料串流伺服模組)的功能。影音串流伺服器收到來自控制指令仲介伺服模組所發出的影音播放控制指令後,透過影音串流指令剖析模組分析該指令是否有內藏擴充功能所定義之符號或值。若無則執行該標準指令本身所指定的動作,並將處理結果回覆控制指令仲介伺服模組。若指令內藏擴充功能所定義之符號或值則不執行該指令本身所定義的動作而依該指令內藏符號或值所定義之動作執行之並將處理結果回覆控制指令仲介伺服模組。控制指令仲介伺服模組收到影音串流伺服器對指令的處理結果通知後轉發給原生影音播放器模組。原生影音播放器模組依影音串流伺服器所提供的影音內容資料播放影片內容。 One of the objects of the present invention is to provide a system for expanding native video playback control, which includes: a video playback APP, a video streaming server. The audio and video playback APP includes a video playback control command intermediary servo module and a native video player module developed by the audio and video playback API provided by the operating system. Among them, the audio and video playback control command intermediary servo module also contains audio and video streaming instructions Modify the unit and video stream instruction proxy servlet. The video streaming server includes a video streaming instruction parsing module and a video data stream streaming servo module. The implementation method is as follows: The APP is composed of a video playback control command intermediary servo module and a native video player module. The native video player module is developed by the audio and video playback API provided by the operating system to play the video content according to the specified data source. In addition to providing the original audio and video playback control functions of the original API, the program developer also implements some audio and video playback control functions not included in the original API. The design of the audio and video data playback source of the native audio and video player module is set to the audio and video playback control command intermediary servo module, and the audio and video playback control command intermediary servo module receives, processes and responds to the audio and video data sent by the native audio and video player module. Play the command. The audio and video playback control command mediation servo module receives, analyzes, modifies, and transmits video and audio playback control commands and video and audio data functions. The receiving and transmitting functions of the communication data are handled by the video and audio streaming proxy server. The analysis and modification functions are processed by the video stream instruction parsing modification unit. The control command intermediary servo module receives the video playback control command from the native video player module (via the user to select the desired control on the user interface, by calling the native video player API, the native video player The API issues a standard video playback control command. First, it analyzes and determines that the command to be executed is to perform the playback control function provided by the native video playback API or an additional extension function defined by the application developer. If you want to perform the functions already provided by the native video playback API, then forward the command directly to the video streaming server. If the detection is to perform a self-defined additional expansion function, the content of the instruction is modified so as not to destroy the standard instruction format, and a pre-defined symbol or value is built in (to represent the additional expansion function). ) then forwarded to the video streaming server. The video streaming server has an analysis video and audio playback control command (via the video streaming instruction parsing module), and responds to the command processing. The result and the function of providing the video and audio playback service (via the audiovisual data stream servo module) specified by the instruction. After receiving the video playback control command from the control command mediation servo module, the video streaming server analyzes whether the command has a symbol or value defined by the built-in extension function through the video streaming instruction parsing module. If not, the action specified by the standard instruction itself is executed, and the processing result is returned to the control command intermediary servo module. If the symbol or value defined by the instruction extension function is not executed, the action defined by the instruction itself is executed according to the action defined by the built-in symbol or value of the instruction, and the processing result is returned to the control instruction intermediary servo module. The control command agent servo module receives the notification result of the command of the video stream server and forwards the result to the native video player module. The native video player module plays the video content according to the audio and video content data provided by the video stream server.

本發明目的之二,提供一種擴充原生影音播放控制功能的方法,其包含以下步驟:步驟一、將欲串流的影音資料置於一可剖析自定擴充指令碼的影音串流伺服器中。該影音串流伺服器可為支援RTSP、HTTP或HTTPS協定之影音串流伺服器並可同時解析標準及自定擴充的影音串流指令碼及提供對應指令的回應跟服務;步驟二、利用一直接使用作業系統(如:Android、iOS)自帶提供的原生影音播放器API所開發的影音播放APP,連線影音串流伺服器播放影片內容。APP內包含一原生影音播放器模組及一影音播放控制指令仲介伺服模組。原生影音播放器模組為利用作業系統(如:Android、iOS)自帶提供的原生影音播放器API所開發。APP內並實作自 定擴充影音播放控制功能介面,其與影音串流伺服器之間的資料通訊步驟詳列如其餘項次;步驟三、設定APP1內原生影音播放器模組資料來源位址為自身之影音播放控制指令仲介伺服模組。方式為設定APP內原生影音播放器模組之欲播放影片資料來源URL IP位址為127.0.0.1;步驟四、使用者觸發APP上自定擴充影音播放控制功能後,APP執行原生影音播放器API所提供之Seek跳播函式。該Seek跳播函式特性為向指定之影音串流伺服器發出一影音播放控制指令通知影音串流伺服器將正傳送的影音內容播放時間點跳到傳入Seek函式內參數所指定的時間。在此傳入Seek函式參數所指定的時間可任意。透過Seek函式會向影音播放控制指令仲介伺服模組11送出影音播放控制指令;步驟五、影音播放控制指令仲介伺服模組剖析影音播放控制指令並藏入擴充功能指令碼。影音播放控制指令仲介伺服模組透過其內的影音串流指令剖析修改單元偵測所收到的影音播放控制指令,若為使用者觸發APP上自定擴充影音播放控制功能所發出,則將事先定義對應該擴充功能的指令碼(符號或值)藏於所收到的影音播放控制指令中;步驟六、影音播放控制指令仲介伺服模組傳送修改後的影音播放控制指令予影音串流伺服器。其動作為影音播放控制指令仲介伺服模組將收到的影音 播放控制指令其目的位址IP從原本機位址(127.0.0.1)改為影音串流伺服器位址後將影音播放控制指令由其內的影音串流指令代理伺服單元送給該影音串流伺服器;步驟七、影音串流伺服器解析收到的影音播放控制指令內容並進行對應動作。影音串流伺服器利用其內的影音串流指令剖析模組解析所收到的影音播放控制指令內容,若指令內藏擴充指令碼,則依擴充指令碼定義之功能通知影音資料串流伺服模組進行對應的影音內容資料傳送服務。若為標準指令則通知影音資料串流伺服模組進行標準指令定義之動作。影音內容資料傳送依通訊協定特性可直接傳送給原生影音播放器模組(RTSP協定)或透過影音播放控制指令仲介伺服模組再傳給原生影音播放器模組(HTTP協定);步驟八、原生影音播放器播放影音內容資料。APP內之影音播放器模組依所收到的影音內容資料播放影音內容。 The second object of the present invention provides a method for expanding the native video playback control function, which includes the following steps: Step 1: The audio and video data to be streamed is placed in a video stream server that can parse the custom extended instruction code. The video streaming server can be a video streaming server supporting RTSP, HTTP or HTTPS protocols, and can simultaneously parse standard and custom extended video streaming instruction codes and provide corresponding command response and service; Step 2: utilize one Directly use the audio and video playback app developed by the native video player API provided by the operating system (such as Android, iOS), and connect the video and audio streaming server to play the video content. The APP includes a native video player module and an audio and video playback control command intermediary servo module. The native video player module is developed using the native video player API provided by the operating system (eg Android, iOS). Within the APP and implemented The expansion of the audio and video playback control function interface, the data communication steps between the video and audio streaming server are detailed as the rest of the items; Step 3, setting the source address of the native audio and video player module in APP1 as its own audio and video playback control The command intermediary servo module. The method is to set the original video and audio player module in the APP to play the video data source URL IP address is 127.0.0.1; Step 4, after the user triggers the custom expansion of the video and audio playback control function on the APP, the APP executes the native video player API. The Seek jump function provided. The Seek jump function is to send a video playback control command to the specified video stream server to notify the video stream server to jump the video content playback time point of the transmission to the time specified by the parameters in the incoming Seek function. . The time specified by passing in the Seek function parameter can be arbitrary. Through the Seek function, the video playback control command is sent to the video playback control command agent servo module 11; in step 5, the video playback control command mediation servo module analyzes the video playback control command and hides the extended function instruction code. The video playback control command mediation servo module parses the video playback control command received by the modification unit through the video streaming instruction in the video playback command, and if it is sent by the user to trigger the custom extended video playback control function on the APP, Defining the instruction code (symbol or value) corresponding to the extended function is hidden in the received video playback control command; Step 6. The video playback control instruction relaying the servo module transmits the modified video playback control command to the video streaming server . The action is the video and audio playback control command. The mediator will receive the video and audio. The playback control command has its destination address IP changed from the original local address (127.0.0.1) to the video stream server address, and then the video playback control command is sent to the video stream by the video stream instruction proxy servo unit therein. Server; Step 7. The video stream server parses the content of the received video playback control command and performs corresponding actions. The video streaming server uses the video streaming instruction parsing module to parse the received video playback control command content. If the instruction contains the extended instruction code, the video data stream servo module is notified according to the function defined by the extended instruction code. The group performs the corresponding audio and video content data transmission service. If it is a standard command, the video data stream servo module is notified to perform the standard command definition action. The audio and video content data transmission can be directly transmitted to the native audio and video player module (RTSP protocol) or transmitted to the native video player module (HTTP protocol) through the audio and video playback control command (HTTP protocol); step eight, native The audio and video player plays audio and video content data. The audio and video player module in the APP plays the audio and video content according to the received audio and video content data.

100‧‧‧影音播放APP 100‧‧‧Video Play APP

110‧‧‧影音播放控制指令仲介伺服模組 110‧‧‧Video playback control command intermediary servo module

111‧‧‧影音串流指令剖析修改單元 111‧‧‧Video Streaming Instruction Analysis and Modification Unit

112‧‧‧影音串流指令代理伺服單元 112‧‧‧Video Streaming Instruction Agent Servo Unit

120‧‧‧原生影音播放器模組 120‧‧‧Non-Audio Player Module

121‧‧‧往前五秒 121‧‧‧5 seconds ahead

122‧‧‧兩倍快轉 122‧‧‧ twice faster

200‧‧‧影音串流伺服器 200‧‧‧Video Streaming Server

210‧‧‧影音串流指令剖析模組 210‧‧‧Video Streaming Instruction Analysis Module

220‧‧‧影音資料串流伺服模組 220‧‧‧Video and audio stream servo module

S201~S208‧‧‧擴充原生影音播放控制步驟 S201~S208‧‧‧Expanding native video playback control steps

請參閱有關本發明之詳細說明及其附圖,將可進一步瞭解本發明之技術內容及其目的功效;有關附圖為:圖1為本發明擴充原生影音播放控制的系統及方法之系統示意圖;圖2為本發明擴充原生影音播放控制的系統及方法之步驟示意圖;圖3為本發明擴充原生影音播放控制的系統及方法之 RTSP協定範例示意圖;以及圖4為本發明擴充原生影音播放控制的系統及方法之HTTP協定範例示意圖。 The detailed description of the present invention and the accompanying drawings will be further understood. The technical contents of the present invention and the functions thereof are as follows: FIG. 1 is a schematic diagram of a system and method for expanding a native audio and video playback control according to the present invention; 2 is a schematic diagram of steps of a system and method for expanding native video playback control according to the present invention; FIG. 3 is a system and method for expanding native video playback control according to the present invention; An example of an RTSP protocol example; and FIG. 4 is a schematic diagram of an example of an HTTP protocol for a system and method for extending native video playback control.

為了使本發明的目的、技術方案及優點更加清楚明白,下面結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發明,但並不用於限定本發明。 The present invention will be further described in detail below with reference to the accompanying drawings and embodiments. It is understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.

以下,結合附圖對本發明進一步說明:請參閱圖1,為本發明一種擴充原生影音播放控制功能的系統示意圖,由圖中可知其包含:影音播放APP 100、影音串流伺服器200。影音播放APP 100包含影音播放控制指令仲介伺服模組110、由作業系統提供的影音播放API所開發之原生影音播放器模組120。其中影音播放控制指令仲介伺服模組110又包含影音串流指令剖析修改單元111及影音串流指令代理伺服單元112。影音串流伺服器200包含影音串流指令剖析模組210、影音資料串流伺服模組220。茲舉實施方式如下:APP 100由影音播放控制指令仲介伺服模組110及原生影音播放器模組120所組成。原生影音播放器模組120由作業系統提供的影音播放API所開發可播放依指定資料來源播放影片內容。APP 100使用介面設計上除了可提供原API既有提供的影音播放控制功能外,程式開發者另實作一些原API未包含的影音播放控制功能。設計上將原生影音播放器模組120的影音資料播放來源設定為影音播放控制指令仲介伺服模組110,由影音播放控制指令仲介伺服模組110接收、處理及回應原生影音播放器模組120所發出的影音資料播放指令。 影音播放控制指令仲介伺服模組110俱接收、分析、修改、發送影音播放控制指令及影音資料的功能,其中通訊資料的接收、發送功能由影音串流指令代理伺服單元112負責。分析、修改功能由影音串流指令剖析修改單元111處理。控制指令仲介伺服模組110會收到來自原生影音播放器模組120的影音播放控制指令(經由使用者於使用介面上點選欲進行的控制後,透過呼叫原生影音播放器API,由原生影音播放器API發出一標準影音播放控制指令),首先分析判斷該發出的指令欲執行的是原生影音播放API已提供的播放控制功能或由影音播放APP 100程式開發者自行定義的額外擴充功能。若欲執行原生影音播放API已提供之功能,則將該指令直接轉發給影音串流伺服器200。若偵測為欲執行自行定義的額外擴充功能,則對該指令內容進行修改,以不破壞該標準指令格式為原則,將其內藏一事先定義之符號或值(用以代表該額外擴充功能)再轉發給影音串流伺服器200。影音串流伺服器200具有分析影音播放控制指令(經由影音串流指令剖析模組210),回應指令處理結果及提供指令所指定影音播放服務(經由影音資料串流伺服模組220)的功能。影音串流伺服器200收到來自控制指令仲介伺服模組110所發出的影音播放控制指令後,透過影音串流指令剖析模組210分析該指令是否有內藏擴充功能所定義之符號或值。若無則執行該標準指令本身所指定的動作,並將處理結果回覆控制指令仲介伺服模組110。若指令內藏擴充功能所定義之符號或值則不執行該指令本身所定義的動作而依該指令內藏符號或值所定義之動作執行之並將處理結果回覆控制指令仲介伺服模組110。控制指令仲介伺服模組110收到影音串流伺服器200對指令的處理結 果通知後轉發給原生影音播放器模組120。原生影音播放器模組120依影音串流伺服器200所提供的影音內容資料播放影片內容。 Hereinafter, the present invention will be further described with reference to the accompanying drawings. Referring to FIG. 1, a schematic diagram of a system for expanding a native video playback control function according to the present invention includes a video playback APP 100 and a video streaming server 200. The video playback APP 100 includes an audio and video playback control command intermediary servo module 110, and a native video player module 120 developed by the audio and video playback API provided by the operating system. The video playback control command mediation servo module 110 further includes a video stream stream instruction parsing modification unit 111 and a video stream stream instruction proxy servo unit 112. The video stream server 200 includes a video stream stream instruction parsing module 210 and a video material stream stream servo module 220. The implementation manner is as follows: The APP 100 is composed of a video playback control command mediation servo module 110 and a native video player module 120. The native video player module 120 is developed by the audio and video playback API provided by the operating system to play the video content according to the specified data source. The APP 100 uses the interface design to provide the audio and video playback control functions provided by the original API. The program developer also implements some audio and video playback control functions not included in the original API. The audio and video data playing source of the native video player module 120 is designed to be the audio and video playback control command intermediary servo module 110, and the audio and video playback control command intermediary servo module 110 receives, processes and responds to the native video player module 120. The audio and video data playback command issued. The video playback control command mediation servo module 110 receives, analyzes, modifies, and transmits the functions of video and audio playback control commands and video and audio data. The receiving and transmitting functions of the communication data are performed by the video streaming instruction proxy servo unit 112. The analysis and modification functions are processed by the video stream stream instruction parsing modification unit 111. The control command intermediary servo module 110 receives the video playback control command from the native video player module 120 (via the user's selection of the desired control interface on the user interface, by calling the native video player API, the native audio and video The player API issues a standard video playback control command. First, it analyzes and determines that the command to be executed is to perform the playback control function provided by the native video playback API or an additional extension function defined by the developer of the video and audio application 100. If the function provided by the native video playback API is to be performed, the instruction is forwarded directly to the video stream server 200. If the detection is to perform a self-defined additional expansion function, the content of the instruction is modified so as not to destroy the standard instruction format, and a pre-defined symbol or value is built in (to represent the additional expansion function). ) is then forwarded to the video stream server 200. The video streaming server 200 has the function of analyzing the video playback control command (via the video stream instruction parsing module 210), responding to the command processing result, and providing the video playback service (via the video data stream servo module 220) specified by the command. After receiving the video playback control command from the control command mediation servo module 110, the video streamer server 200 analyzes whether the command has a symbol or value defined by the built-in extension function through the video stream stream instruction parsing module 210. If not, the action specified by the standard instruction itself is executed, and the processing result is returned to the control command mediation servo module 110. If the symbol or value defined by the instruction built-in extension function does not execute the action defined by the instruction itself, the action defined by the built-in symbol or value of the instruction is executed and the processing result is returned to the control instruction mediation servo module 110. The control instruction intermediary servo module 110 receives the processing result of the video stream server 200 for the instruction. After the notification, it is forwarded to the native video player module 120. The native video player module 120 plays the video content according to the audio and video content data provided by the video stream server 200.

本發明目的之二,提供一種擴充原生影音播放控制功能的方法,參閱圖1及圖2其包含以下步驟:步驟一、S201將欲串流的影音資料置於一可剖析自定擴充指令碼的影音串流伺服器200中。該影音串流伺服器200可為支援RTSP、HTTP或HTTPS協定之影音串流伺服器並可同時解析標準及自定擴充的影音串流指令碼及提供對應指令的回應跟服務;步驟二、S202利用一直接使用作業系統(如:Android、iOS)自帶提供的原生影音播放器API所開發的影音播放APP 100,連線影音串流伺服器200播放影片內容。影音播放APP 100內包含一原生影音播放器模組120及一影音播放控制指令仲介伺服模組110。原生影音播放器模組120為利用作業系統(如:Android、iOS)自帶提供的原生影音播放器API所開發。影音播放APP 100內並實作自定擴充影音播放控制功能介面,其與影音串流伺服器200之間的資料通訊步驟詳列如其餘項次;步驟三、S203設定影音播放APP 100內原生影音播放器模組120資料來源位址為自身之影音播放控制指令仲介伺服模組。方式為設定影音播放APP 100內原生影音播放器模組120之欲播放影片資 料來源URL IP位址為127.0.0.1;步驟四、S204使用者觸發影音播放APP 100上自定擴充影音播放控制功能後,影音播放APP 100執行原生影音播放器API所提供之Seek跳播函式。該Seek跳播函式特性為向指定之影音串流伺服器發出一影音播放控制指令通知影音串流伺服器將正傳送的影音內容播放時間點跳到傳入Seek函式內參數所指定的時間。在此傳入Seek函式參數所指定的時間可任意。透過Seek函式會向影音播放控制指令仲介伺服模組110送出影音播放控制指令;步驟五、S205影音播放控制指令仲介伺服模組110剖析影音播放控制指令並藏入擴充功能指令碼。影音播放控制指令仲介伺服模組110透過其內的影音串流指令剖析修改單元111偵測所收到的影音播放控制指令,若為使用者觸發影音播放APP 100上自定擴充影音播放控制功能所發出,則將事先定義對應該擴充功能的指令碼(符號或值)藏於所收到的影音播放控制指令中;步驟六、S206影音播放控制指令仲介伺服模組110傳送修改後的影音播放控制指令予影音串流伺服器200。其動作為影音播放控制指令仲介伺服模組110將收到的影音播放控制指令其目的位址IP從原本機位址(127.0.0.1)改為影音串流伺服器200位址後將影音播放控制指令由其內的影音串流指令代理伺服單元112送給該影音串流伺 服器200;步驟七、S207影音串流伺服器200解析收到的影音播放控制指令內容並進行對應動作。影音串流伺服器200利用其內的影音串流指令剖析模組210解析所收到的影音播放控制指令內容,若指令內藏擴充指令碼,則依擴充指令碼定義之功能通知影音資料串流伺服模組220進行對應的影音內容資料傳送服務。若為標準指令則通知影音資料串流伺服模組220進行標準指令定義之動作。影音內容資料傳送依通訊協定特性可直接傳送給原生影音播放器模組120(RTSP協定)或透過影音播放控制指令仲介伺服模組110再傳給原生影音播放器模組120(HTTP協定);步驟八、S208原生影音播放器120播放影音內容資料。影音播放APP 100內之影音播放器模組120依所收到的影音內容資料播放影音內容。 The second object of the present invention provides a method for expanding the native video playback control function. Referring to FIG. 1 and FIG. 2, the method includes the following steps: Step 1: S201 places the video and audio data to be streamed into a parsable custom extended instruction code. The video streamer server 200. The video streaming server 200 can be a video streaming server supporting RTSP, HTTP or HTTPS protocols, and can simultaneously parse standard and custom extended video streaming instruction codes and provide response and service corresponding commands; Step 2, S202 The video playback application 100 developed by the native video player API provided by the direct use operating system (eg, Android, iOS) is used to connect the video streaming server 200 to play the video content. The video playback APP 100 includes a native video player module 120 and an audio and video playback control command intermediary servo module 110. The native video player module 120 is developed using a native video player API provided by an operating system (eg, Android, iOS). The audio and video playback APP 100 and the custom expansion of the audio and video playback control function interface, the data communication steps between the video and audio streaming server 200 are detailed as the rest of the items; Step 3, S203 sets the audio and video playback of the original audio and video in the APP 100 The data source address of the player module 120 is its own audio and video playback control command intermediary servo module. The method is to set the video player to play the video player module 120 in the audio and video application 100. The material source URL IP address is 127.0.0.1; Step 4, S204 user triggers the audio and video playback APP 100 to customize the video playback control function, the video playback APP 100 performs the Seek jump function provided by the native video player API. . The Seek jump function is to send a video playback control command to the specified video stream server to notify the video stream server to jump the video content playback time point of the transmission to the time specified by the parameters in the incoming Seek function. . The time specified by passing in the Seek function parameter can be arbitrary. Through the Seek function, the video playback control command is sent to the video playback control command agent servo module 110; in step 5, the S205 video playback control command mediation servo module 110 analyzes the video playback control command and hides the extended function instruction code. The video playback control command mediation processor module 110 detects the received video playback control command through the audio and video streaming instruction parsing modification unit 111, and if the user triggers the video playback, the custom extended video playback control function on the APP 100 If it is issued, the instruction code (symbol or value) corresponding to the extended function is defined in the received video playback control command; step 6, the S206 video playback control command is sent to the servo module 110 to transmit the modified video playback control. The video stream server 200 is instructed. The action is the video playback control command. The intermediary servo module 110 changes the destination address IP of the received video playback control command from the original local address (127.0.0.1) to the video stream server 200 address, and then the video playback control. The instruction is sent to the video stream by the video stream instruction proxy servo unit 112 therein. The server 200; Step VII, the S207 video stream server 200 parses the received video playback control command content and performs corresponding actions. The video streaming server 200 uses the video streaming instruction parsing module 210 to parse the received video playback control command content. If the instruction contains the extended instruction code, the video data stream is notified according to the function defined by the extended instruction code. The servo module 220 performs a corresponding audio-visual content data transmission service. If it is a standard command, the video data stream servo module 220 is notified to perform the standard command definition action. The audio-visual content data transmission can be directly transmitted to the native video player module 120 (RTSP protocol) or transmitted to the native video player module 120 (HTTP protocol) through the video playback control command mediation module 120 according to the protocol characteristics; Eight, S208 native video player 120 plays audio and video content data. The audio and video player module 120 in the audio and video playback APP 100 plays the video and audio content according to the received audio and video content data.

實施例一: Embodiment 1:

以擴充Android影音播放控制功能及使用RTSP協定為例,請參閱圖2及圖3所示。媒體經營業者建置一以RTSP通訊協定為基礎之影音串流伺服器200並設定該伺服器一IP位址(如59.144.24.78),將一影音內容media(資料檔media.mp4)置於影音資料串流伺服器200的儲存媒體中。並開發一Android影音播放服務應用程式(APP 100)播放media.mp4。影音播放APP 100內設計原生影音播放器模組120、影音播放控制指令仲介伺服模組110及影音串流伺服器200間的影音播放控制通訊協定以RTSP為之,並於原生影音播放器模組120 內設定影音資料來源位置URL為rtsp://127.0.0.1/media.mp4以導向自身之影音播放控制指令仲介伺服模組110。影音播放APP 100上除開始播放功能外,並於影音播放APP 100上實作往前五秒121及兩倍快轉122兩個影音播放控制功能。其中往前五秒121功能可直接使用Android原生影音播器所提供的seekTo()API函式實作出,當使用者按下往前五秒鍵後,影音播放APP 100程式執行以下指令mediaplayer.seekTo(mediaplayer.getCurrentTime()+5000);mediaplayer代表影音播放APP 100內一個Android原生影音播器物件,先取得目前影片的播放時間mediaplayer.getCurrentTime()後將之加上5000毫秒,當成傳入seekTo函式的參數,以達成將正在播放的影片時間點向前跳五秒之目的。而另一兩倍快轉122功能則以此本案所提之方式為之,以如下具體方式實現。當使用者於影音內容已開始被播放時放按下兩倍快轉122功能鍵,利用呼叫seekTo()函式送出一標準RTSP指令(例:執行seekTo(5200),其中5200為隨意設定之值),並於影音播放APP 100內記錄使用者已按下兩倍快轉122鍵事件。影音播放APP 100執行seekTo(5200)函式後原生影音播放器模組120會對影音播放控制指令仲介伺服模組110發送,如下圖A所示之RTSP PLAY指令內容: For example, to expand the Android video playback control function and use the RTSP protocol, please refer to Figure 2 and Figure 3. The media operator establishes a video streaming server 200 based on the RTSP protocol and sets an IP address of the server (such as 59.144.24.78) to place a video content media (data file media.mp4) in the video and audio. The data stream server 200 is in a storage medium. And develop a Android video playback service application (APP 100) to play media.mp4. In the audio and video playback APP 100, the native audio and video player module 120, the audio and video playback control command, the intermediary servo module 110 and the video and audio streaming server 200 are connected to the audio and video playback control protocol by RTSP, and the native video player module is used. 120 sets the video material source location URL to rtsp://127.0.0.1/media.mp4 to direct its own video playback control command intermediary servo module 110. In addition to the start of playback function, the audio and video playback APP 100 implements two video playback control functions of the first five seconds 121 and twice the fast rotation 122 on the audio and video playback APP 100. The function of the first five seconds 121 can be directly used by the seekTo() API function provided by the Android native video player. When the user presses the previous five seconds button, the video playback APP 100 program executes the following command mediaplayer.seekTo (mediaplayer.getCurrentTime()+5000); mediaplayer represents an Android native video player object in the audio and video playback APP 100. First, get the current movie playback time mediaplayer.getCurrentTime() and add 5000 milliseconds as the incoming seekTo function. The parameter is used to achieve the purpose of jumping forward five seconds of the movie time being played. The other two-time fast-transfer 122 function is implemented in the manner mentioned in the present case, and is implemented in the following specific manner. When the user presses the double-fast forward 122 function button when the video content has started to be played, a standard RTSP command is sent by calling the seekTo() function (for example, execute seekTo (5200), where 5200 is a random setting value. ), and in the video playback APP 100, the user has pressed twice the fast-forward 122 key event. The audio and video playback APP 100 executes the seekTo (5200) function, and the native video player module 120 transmits the audio and video playback control command to the mediation servo module 110, as shown in the following figure A:

RTSP PLAY指令內容包含一指定Range:npt值,其指令原意為要求支援RTSP協定之影音串流伺服器將正在播放的影音內容跳到npt所指定的秒數,本例為5.2秒。其中定義不同的npt小數點以下一位後的值,可代表不同的控制功能npt=xx.x111(快轉2X)、npt=xx.x112(快轉4X)、npt=xx.x113(快轉8X)、npt=xx.x121(倒轉2X)、npt=xx.x122(倒轉4X)、npt=xx.x123(倒轉8X)、npt=xx.x131(前一頻道)、npt=xx.x132(後一頻道),該指令由影音播放控制指令仲介伺服模組110接收後,由先前之記錄得知該指令事件為使用者按下兩倍快轉122鍵所觸發,經影音串流指令剖析修改單元111將其改為如下圖B所示: The content of the RTSP PLAY command contains a specified Range:npt value, which is intended to require the RTSP protocol-supported video stream server to jump the video content being played to the number of seconds specified by npt, in this case 5.2 seconds. The value of one of the different npt decimal points is defined, which can represent different control functions npt=xx.x111 (fast forward 2X), npt=xx.x112 (fast turn 4X), npt=xx.x113 (fast turn) 8X), npt=xx.x121 (reverse 2X), npt=xx.x122 (inverted 4X), npt=xx.x123 (inverted 8X), npt=xx.x131 (previous channel), npt=xx.x132 ( The latter channel), after the instruction is received by the video playback control command agent servo module 110, it is known from the previous record that the command event is triggered by the user pressing twice the fast-rotating 122 key, and is modified by the video stream stream instruction. Unit 111 changes it to Figure B below:

除為了將RTSP指令轉發到影音資料串流伺服器200將原影音資料來源位置URL IP從原來的127.0.0.1改為影音資料串流伺服器200的IP 59.144.24.78外,還將npt值從5.2改為5.2111。而其中111為事先定義,將之隱藏於RTSP PLAY指令內,代表快轉兩倍的指令符號或值。其運用原理為由呼叫seekTo()函式所送出的npt值有一定的精確度,以Android為例只到小數點以下一位。我們將欲擴充的指令代表符號或值利用seekTo()函式將指令代表的符號或值附加於其所發出的RTSP PLAY指令npt值小數點以下一位之後,以將 擴充功能指令碼藏入於此指令中。同理可定義其它符號或數值代表其它功能(如112代表倒轉四倍、113代表向上切換頻道、…等、依系統開發者設計定義出不同的影音播放控制功能)將之藏入由seekTo()發出的RTSP PLAY指令內。影音播放控制指令仲介伺服模組110再轉發已藏入擴充指令碼的RTSP指令予影音串流伺服器200。影音串流伺服器2收到指令後經由影音串流指令剖析模組210解析指令內容,若發現該指令含內有隱藏之指令符號或值,則通知影音資料串流伺服模組220進行該符號或值所指定的影音資料串流服務。以本例兩倍快轉122功能,影音串流指令剖析模組200判別所收到的RTSP PLAY指令npt值包含小數點一位以下的值,判別為非一般seekTo()函式的動作指令再分析其小數點一位以下的值111代表兩倍快轉,則通知影音串流指令剖析模組210進行兩倍快轉影音資料傳送作業,並回覆影音播放控制指令仲介伺服模組110該指令處理結果。若影音串流指令剖析模組210解析指令內容為一般標準RTSP指令,則通知影音資料串流伺服模組220依標準RTSP指令所指定之指令意義動作。如收到如下圖C內容之RTSP指令,影音資料串流伺服模組220會把正在傳送的影音資料內容,跳到該影音資料內容的第5.2秒。 In addition to forwarding the RTSP command to the video data stream server 200, the original video material source location URL IP is changed from the original 127.0.0.1 to the IP 59.144.24.78 of the video data stream server 200, and the npt value is also from 5.2. Change to 5.2111. Wherein 111 is defined in advance, hidden in the RTSP PLAY instruction, representing twice the instruction symbol or value. The principle of operation is that the npt value sent by the call to the SeeTo() function has a certain degree of precision. For Android, for example, only one digit below the decimal point. We will extend the instruction to represent the symbol or value by using the seekTo() function to append the symbol or value represented by the instruction to one of the decimal points of the npt value of the RTSP PLAY instruction it issued. The extended function code is hidden in this instruction. Similarly, other symbols or values can be defined to represent other functions (such as 112 for reversing four times, 113 for up-switching channels, ..., etc., depending on the system developer's design to define different audio and video playback control functions) to be hidden by seekTo() Issued within the RTSP PLAY instruction. The video playback control command intermediary media module 110 forwards the RTSP command that has been embedded in the extended instruction code to the video stream server 200. After receiving the command, the video streaming server 2 parses the content of the command through the video streaming instruction parsing module 210. If the command is found to contain a hidden command symbol or value, the video data stream communication module 220 is notified to perform the symbol. Or the audio and video stream service specified by the value. In this example, the double-speed fast-transfer function 122 determines that the received RTSP PLAY command npt value contains a value below one decimal point, and is determined to be an action instruction of a non-general seekTo() function. The value 111 of the decimal point is analyzed to represent twice the fast turn, and then the video streaming instruction parsing module 210 is notified to perform the double fast transfer video data transmission operation, and the video playback control command is relayed to the mediation servo module 110. result. If the video stream instruction parsing module 210 parses the command content into a general standard RTSP command, the video data stream servo module 220 is notified to operate according to the command meaning specified by the standard RTSP command. If the RTSP command of the content of the following picture C is received, the video data stream servo module 220 will jump the content of the video and audio data being transmitted to the 5.2th second of the content of the video material.

實施例二: Embodiment 2:

以擴充iOS影音播放控制功能及使用HTTP協定為例,請參閱圖4架構及圖2流程所示,媒體經營業者建置一以HTTP通訊協定為基礎之影音串流伺服器200並設定該伺服器一IP位址(如59.144.24.78),將一影音內容media(資料檔media.mp4)置於影音資料串流伺服器200的儲存媒體中。並開發一iOS影音播放服務應用程式(APP 100)播放media.mp4。APP1內設計原生影音播放器模組120、影音播放控制指令仲介伺服模組110及影音串流伺服器200間的影音播放控制通訊協定以HTTP為之,並於原生影音播放器模組120內設定影音資料來源位置URL為http://127.0.0.1/media.mp4以導向自身之影音播放控制指令仲介伺服模組110。影音播放APP 100上除開始播放功能外,並於影音播放APP 100上實作往前五秒121及兩倍快轉122兩個影音播放控制功能。其中往前五秒121功能可直接使用iOS原生影音播器所提供的setCurrentPlaybackTime()API函式實作出,當使用者按下往前五秒鍵後,影音播放APP 100程式執行以下指令mediaplayer.setCurrentPlaybackTime(parseInt(MediaPlayer.currentPlaybackTime/1000,10)+5);mediaplayer代表影音播放APP 100內一個iOS原生影音播器物件,先取得目前影片的播放時間mediaplayer.currentPlaybackTime()轉換成秒後再將之加上5秒,當成傳入setCurrentPlaybackTime函式的參數,以達成將正在播放的影片時間點向前跳五秒之目的。而另一兩倍快轉122功能則以本案所提之方式為之,以如下具體方式實現。當使用者於影音內容已開始被播放時放按下兩倍快轉122功能鍵,利用呼叫setCurrentPlaybackTime()函式,送出一標準 HTTP指令(例:執行setCurrentPlaybackTime(5200),其中5200為隨意設定之值),並於影音播放APP 100內記錄使用者已按下兩倍快轉122鍵事件。影音播放APP 100執行setCurrentPlaybackTime(5200)函式後,原生影音播放器模組 For example, the expansion of the iOS video playback control function and the use of the HTTP protocol, as shown in the architecture of FIG. 4 and the flow of FIG. 2, the media operator establishes a video streaming server 200 based on the HTTP protocol and sets the server. An IP address (such as 59.144.24.78) places an audio and video content media (data file media.mp4) in the storage medium of the video data stream server 200. And develop an iOS video playback service application (APP 100) to play media.mp4. The audio and video player module 120 in the APP1, the audio and video playback control command, the mediation servo module 110, and the video and audio streaming server 200 are connected by HTTP and are set in the native video player module 120. The video material source location URL is http://127.0.0.1/media.mp4 to direct its own video playback control command intermediary servo module 110. In addition to the start of playback function, the audio and video playback APP 100 implements two video playback control functions of the first five seconds 121 and twice the fast rotation 122 on the audio and video playback APP 100. The function of the first five seconds 121 can be directly used by the setCurrentPlaybackTime() API function provided by the iOS native video player. When the user presses the previous five seconds button, the video playback APP 100 program executes the following command mediaplayer.setCurrentPlaybackTime (parseInt(MediaPlayer.currentPlaybackTime/1000,10)+5); mediaplayer represents an iOS native video player object in the audio and video play APP 100. Firstly, the current movie play time mediaplayer.currentPlaybackTime() is converted into seconds and then added. Last 5 seconds, as a parameter passed to the setCurrentPlaybackTime function, to achieve the purpose of jumping forward five seconds of the movie time. The other two-time fast-forward 122 function is implemented in the manner mentioned in the present case, and is implemented in the following specific manner. When the user presses the double-fast forward 122 function button when the video content has started to be played, a standard HTTP command is sent by calling the setCurrentPlaybackTime() function (for example, executing setCurrentPlaybackTime(5200), where 5200 is randomly set. Value), and record in the video playback APP 100 that the user has pressed twice the fast-forward 122 key event. After the audio and video playback APP 100 executes the setCurrentPlaybackTime(5200) function, the native video player module

HTTP GET指令內容包含一指定Range值,這值是經setCurrentPlaybackTime函式將影音時間位置轉換成資料於檔案的第幾個Byte位置,其指令原意為要求支援HTTP協定之影音串流伺服器將正在傳送的影音內容資料跳到從Range值所指定的檔案位置開始傳送,本例為從3612672位元組(Byte)開始傳。該指令由影音播放控制指令仲介伺服模組110接收後,由先前之記錄得知該指令事件為使用者按下兩倍快轉122鍵所觸發,經影音串流指令剖析修改單元111將其改為如下圖E所示: The content of the HTTP GET command contains a specified Range value, which is the first Byte position of the file to be converted into the data by the setCurrentPlaybackTime function. The instruction originally intended to support the HTTP protocol will be transmitted. The video content data jumps to the file location specified by the Range value, in this case, starting from the 3612672 byte (Byte). After the instruction is received by the video playback control command agent servo module 110, it is known from the previous record that the command event is triggered by the user pressing twice the fast-rotating 122 key, and the video streaming instruction parsing modification unit 111 changes the command. As shown in Figure E below:

除為了將HTTP指令轉發到影音資料串流伺服器200將原影音資料來源位置URL IP從原來的127.0.0.1改為影音資料串流伺服器200的IP 59.144.24.78外,還將Range值改為FX2。FX2為事先定義,將之藏入於HTTP GET指令內代表快轉兩倍的指令符號或值。其運用原理為由呼叫setCurrentPlaybackTime()函式由其送出一HTTP GET指令,修改Range值,將擴充指令碼置於其中。另也可以其它方式將擴充指令碼置於HTTP GET指令內,如下圖F則是於HTTP GET指令新增一個Action變數欄位其值為FX2。 In addition to forwarding the HTTP command to the video data stream server 200, the original video material source location URL IP is changed from the original 127.0.0.1 to the IP 59.144.24.78 of the video data stream server 200, and the Range value is also changed to FX2. FX2 is defined in advance and is hidden in the HTTP GET instruction to represent twice the instruction symbol or value. The principle of operation is to send an HTTP GET command by calling setCurrentPlaybackTime() function, modify the Range value, and place the extended instruction code in it. In addition, the extended instruction code can be placed in the HTTP GET instruction in other ways. As shown in the following figure F, an Action variable field is added to the HTTP GET instruction, and its value is FX2.

同理可定義其它符號或數值代表其它功能(如BX4代表倒轉四倍、CUP代表向上切換頻道、…等、依系統開發 者設計定義出不同的影音播放控制功能)將擴充指令碼之藏入HTTP GET指令中。影音播放控制指令仲介伺服模組110再轉發經修改的HTTP GET指令予影音串流伺服器200。影音串流伺服器200收到指令後,經由影音串流指令剖析模組210解析指令內容,若發現該指令含有隱藏之指令符號或值,則通知影音資料串流伺服模組220進行該符號或值所指定的影音資料串流服務。以本例兩倍快轉122功能,影音串流指令剖析模組210判別所收到的HTTP GET指令包含FX2字串,則通知影音資料串流伺服模組220進行兩倍快轉影音資料傳送作業,並回覆影音播放控制指令仲介伺服模組該指令處理結果。 Similarly, other symbols or values can be defined to represent other functions (such as BX4 for reversing four times, CUP for up-switching channels, etc., system development) The user design defines different audio and video playback control functions. The hidden instruction code is hidden in the HTTP GET instruction. The video playback control command intermediary media module 110 forwards the modified HTTP GET command to the video stream server 200. After receiving the command, the video streaming server 200 parses the content of the command via the video streaming instruction parsing module 210. If the command is found to contain hidden command symbols or values, the video data stream servo module 220 is notified to perform the symbol or The video data stream service specified by the value. In this example, the double-speed fast-transfer function 122 determines that the received HTTP GET command includes the FX2 string, and then the video-audio data stream servo module 220 is notified to perform the double-speed fast-transfer video data transmission operation. And reply to the video playback control command agent servo module to process the result.

若影音串流指令剖析模組210解析指令內容為一般標準HTTP指令(未有含有擴充指令碼),則通知影音資料串流伺服模組220依標準HTTP指令所指定之指令意義動作。如收到如下圖G依內容之HTTP GET指令: If the video streaming instruction parsing module 210 parses the command content into a general standard HTTP command (there is no extended instruction code), the video data stream servo module 220 is notified to operate according to the command specified by the standard HTTP command. If you receive the following HTTP GET command according to the content:

影音資料串流伺服模組220會跳到該影音資料檔案的第3612672位元組將資料傳送給影音播放控制指令仲介伺服模組110,再經由影音播放控制指令仲介伺服模組110將資料傳給原生影音播放器模組120播放。 The video data stream servo module 220 jumps to the 3612672 byte of the video data file to transmit the data to the video playback control command mediation servo module 110, and then transmits the data to the mediation servo module 110 via the video playback control command. The native video player module 120 plays.

上列詳細說明乃針對本發明之一可行實施例進行具體說明,惟該實施例並非用以限制本發明之專利範圍,凡未脫離本發明技藝精神所為之等效實施或變更,均應包含於本案之專利範圍中。 The detailed description of the present invention is intended to be illustrative of a preferred embodiment of the invention, and is not intended to limit the scope of the invention. The patent scope of this case.

綜上所述,本案不僅於技術思想上確屬創新,並具備習用之傳統方法所不及之上述多項功效,已充分符合新穎性及進步性之法定發明專利要件,爰依法提出申請,懇請貴局核准本件發明專利申請案,以勵發明,至感德便。 To sum up, this case is not only innovative in terms of technical thinking, but also has many of the above-mentioned functions that are not in the traditional methods of the past. It has fully complied with the statutory invention patent requirements of novelty and progressiveness, and applied for it according to law. Approved this invention patent application, in order to invent invention, to the sense of virtue.

100‧‧‧影音播放APP 100‧‧‧Video Play APP

110‧‧‧影音播放控制指令仲介伺服模組 110‧‧‧Video playback control command intermediary servo module

111‧‧‧影音串流指令剖析修改單元 111‧‧‧Video Streaming Instruction Analysis and Modification Unit

112‧‧‧影音串流指令代理伺服單元 112‧‧‧Video Streaming Instruction Agent Servo Unit

120‧‧‧原生影音播放器模組 120‧‧‧Non-Audio Player Module

200‧‧‧影音串流伺服器 200‧‧‧Video Streaming Server

210‧‧‧影音串流指令剖析模組 210‧‧‧Video Streaming Instruction Analysis Module

220‧‧‧影音資料串流伺服模組 220‧‧‧Video and audio stream servo module

Claims (5)

一種擴充原生影音播放控制的系統,係由影音播放APP以及一影音串流伺服器所組成,其中該影音播放APP係包含原生影音播放器模組、一影音播放控制指令仲介伺服模組,該影音串流伺服器係包含一影音串流指令剖析模組、以及一影音資料串流伺服模組,其中:原生影音播放器模組,係由作業系統所自帶提供的影音播放器API所開發,並俱備依指定URL位址播放影音資料內容及跳播功能;影音播放控制指令仲介伺服模組,係包含一影音串流指令剖析修改單元,一影音串流指令代理伺服單元,並以監控、修改及代理介入該原生影音播放器與該影音串流伺服器之間的影音播放控制指令;影音串流指令剖析模組,係具有解析影音串流指令的功能,並將剖析結果通知影音資料串流伺服模組;以及影音資料串流伺服模組,係具有接收來自該影音串流指令代理伺服單元之影音串流指令,經該影音串流指令剖析模組剖析,提供對應指令的回應及影音資料服務。 A system for expanding native video playback control is composed of an audio and video playback APP and a video streaming server, wherein the audio and video playback APP comprises a native audio and video player module, and a video playback control command intermediary servo module, the video and audio The streaming server includes a video streaming instruction parsing module and a video data stream servo module, wherein: the native video player module is developed by the audio and video player API provided by the operating system. And the video content and the broadcast function are played according to the specified URL address; the audio and video playback control command intermediary servo module includes a video stream stream instruction parsing and modifying unit, a video stream stream instruction proxy servo unit, and is monitored, Modifying and proxying the audio and video playback control command between the native video player and the video streaming server; the video streaming instruction parsing module has the function of parsing the video streaming instruction, and notifying the profiling result to the video data string a stream servo module; and a video data stream servo module, which has received a proxy servo from the video stream instruction The video streaming instructions, instruction via video stream analysis module of the analysis, provided the corresponding command response data and video services. 如申請專利範圍第1項所述之擴充原生影音播放控制的系統,其中該影音串流伺服器係為提供影音串流服務用之伺服器。 The system for expanding native video playback control according to claim 1, wherein the video streaming server is a server for providing video streaming services. 如申請專利範圍第1項所述之擴充原生影音播放控制的系統,其中該影音串流指令剖析修改單元,係具有剖析及修改影音播放控制指令之功能。 The system for expanding the native video playback control according to the first aspect of the patent application, wherein the video stream instruction instruction parsing and modifying unit has the function of parsing and modifying the video playback control command. 如申請專利範圍第1項所述之擴充原生影音播放控制的系統,其中該影音串流指令代理伺服單元,係具備接收來自該原生影音播放器模組的影音播放控制指令,經該影音串流指令剖析修改單元剖析修改後,轉發給影音串流伺服器功能,並另俱備接收及更改來自該影音串流伺服器的影音播放控制指令及資料並轉發給該原生影音播放器模組功能。 The system for expanding the native video playback control according to the first aspect of the patent application, wherein the video stream instruction proxy servo unit is configured to receive a video playback control command from the native video player module, and the video stream is streamed through the video stream. After the instruction parsing and modifying unit is parsed and modified, it is forwarded to the video streaming server function, and is additionally provided to receive and change the video playing control command and data from the video streaming server and forward the function to the native video player module. 一種擴充原生影音播放控制的方法,其中該方法步驟如下:步驟一、將欲串流的影音資料置於一可剖析自定擴充指令碼的影音串流伺服器中,其中該影音串流伺服器係為支援RTSP/HTTP/HTTPS協定之影音串流伺服器,並同時解析標準及自定擴充的影音串流指令碼及提供對應指令的回應跟服務;步驟二、再利用一直接使用作業系統自帶提供的原生影音播放器API所開發的影音播放APP連線影音串流伺服器播放影片內容;步驟三、設定該APP內該原生影音播放器模組資料來源位址為自身之影音播放控制指令仲介伺服模組;步驟四、使用者觸發該APP上自定擴充影音播放控制後,執行該原生影音播放器API所提供之Seek跳播函式,其中該Seek跳播函式,係為向指定之影音串流伺服器發出一影音播放控制指令,通知影音串流伺服器將正傳送的影 音內容播放時間點跳到傳入Seek函式所指定的時間;步驟五、影音播放控制指令仲介伺服模組剖析該影音播放控制之指令,藏入擴充功能指令碼;步驟六、該影音播放控制指令仲介伺服模組傳送影音播放控制指令予影音串流伺服器;步驟七、該影音串流伺服器解析指令內容並進行對應之影音內容資料傳送動作;以及步驟八、該原生影音播放器播放來自影音串流伺服器的影音內容資料。 A method for expanding native video playback control, wherein the method steps are as follows: Step 1: placing the video and audio data to be streamed into a video stream server capable of parsing a custom extended instruction code, wherein the video stream server It is a video streaming server that supports the RTSP/HTTP/HTTPS protocol, and simultaneously parses the standard and custom extended video streaming instruction code and provides response and service corresponding to the command; Step 2, reuses a direct use operating system. The video and audio playback APP developed by the native audio and video player API provided with the video and audio streaming server plays the video content; step 3, setting the source address of the native audio and video player module in the APP as its own video playback control command The secondary servo module; step four, after the user triggers the custom extended video playback control on the APP, the Seek jump function provided by the native audio and video player API is executed, wherein the Seek jump function is specified The video streaming server sends a video playback control command to notify the video streaming server to transmit the video The sound content playback time point jumps to the time specified by the incoming Seek function; in step 5, the video playback control command intermediary servo module parses the video playback control command, and hides the extended function instruction code; step six, the video playback control The instruction intermediary servo module transmits the video playback control command to the video stream server; in step 7, the video stream server parses the instruction content and performs the corresponding audio and video content data transmission action; and step eight, the native video player plays from Video and audio content of the video streaming server.
TW103100587A 2014-01-08 2014-01-08 Method and system to extend playback control functions for native video player TWI551125B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW103100587A TWI551125B (en) 2014-01-08 2014-01-08 Method and system to extend playback control functions for native video player

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103100587A TWI551125B (en) 2014-01-08 2014-01-08 Method and system to extend playback control functions for native video player

Publications (2)

Publication Number Publication Date
TW201528796A TW201528796A (en) 2015-07-16
TWI551125B true TWI551125B (en) 2016-09-21

Family

ID=54198497

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103100587A TWI551125B (en) 2014-01-08 2014-01-08 Method and system to extend playback control functions for native video player

Country Status (1)

Country Link
TW (1) TWI551125B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112333485B (en) * 2020-12-02 2022-09-27 中影环球(北京)科技有限公司 Film skip-playing control method and system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200939762A (en) * 2007-11-08 2009-09-16 Yahoo Inc System and method for a personal video inbox channel

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200939762A (en) * 2007-11-08 2009-09-16 Yahoo Inc System and method for a personal video inbox channel

Also Published As

Publication number Publication date
TW201528796A (en) 2015-07-16

Similar Documents

Publication Publication Date Title
US11175884B2 (en) Pre-caching of media
US10728681B2 (en) Intelligent amplifier activation
US10567831B2 (en) Systems and methods for networked music playback
CN106464965B (en) Method and apparatus for displaying application data in wireless communication system
US10606551B2 (en) Content streaming apparatus and method
US20200110380A1 (en) Remote Command Learning
JP5011917B2 (en) Content transmission device, playback device, and content playback method
TWI551125B (en) Method and system to extend playback control functions for native video player
WO2013140994A1 (en) Audio device control program, mobile telephone, recording medium, and control method
US11375260B2 (en) Screen saver based messaging
US11500925B2 (en) Playback of audio content along with associated non-static media content
CN106572115B (en) screen mirroring method for playing network video by intelligent terminal and transmitting and receiving device
US20170329725A1 (en) System, target apparatus, terminal, program, and method
JP2012142969A (en) Content transmission apparatus, reproduction apparatus, and content reproduction method
CN116112476A (en) Multimedia playing method, system, equipment and storage medium of cloud desktop
WO2014091085A2 (en) Data management between computers
JP2015023482A (en) Broadcast communication coordination system and external terminal
JP2012114948A (en) Content transmission apparatus, reproducer and content reproducing method

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees