WO2015131936A1 - System providing web-based online video streaming - Google Patents
System providing web-based online video streaming Download PDFInfo
- Publication number
- WO2015131936A1 WO2015131936A1 PCT/EP2014/054237 EP2014054237W WO2015131936A1 WO 2015131936 A1 WO2015131936 A1 WO 2015131936A1 EP 2014054237 W EP2014054237 W EP 2014054237W WO 2015131936 A1 WO2015131936 A1 WO 2015131936A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- server system
- media segment
- electronic device
- handheld electronic
- generating
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 25
- 230000037452 priming Effects 0.000 claims description 12
- 238000013475 authorization Methods 0.000 claims description 7
- 230000001747 exhibiting effect Effects 0.000 claims description 4
- 230000026676 system process Effects 0.000 abstract 1
- 238000012545 processing Methods 0.000 description 21
- 230000004044 response Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 244000035744 Hura crepitans Species 0.000 description 2
- 241000700605 Viruses Species 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/27—Server based end-user applications
- H04N21/274—Storing end-user multimedia data in response to end-user request, e.g. network recorder
- H04N21/2743—Video hosting of uploaded data from client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
- H04N21/23439—Processing 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 for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25808—Management of client data
- H04N21/25816—Management of client data involving client authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25875—Management of end-user data involving end-user authentication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/41—Structure of client; Structure of client peripherals
- H04N21/414—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
- H04N21/41407—Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance embedded in a portable device, e.g. video client on a mobile phone, PDA, laptop
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
Definitions
- the invention relates to a system and a corresponding method for video processing of a web-based online video streaming system.
- the disclosed system enables a handheld electronic device to generate and upload a video film in segments to a server system that provides the segments for download to any device communicatively coupled the network, i.e. the internet.
- a plurality of internet services is known that allow uploading of a video. Once the video is uploaded, it is accessible by a plurality of users wherein the video may be downloaded either as a stream for immediate viewing or may be downloaded as a file thus enabling storing of the video file for offline viewing.
- TV live transmissions can be received via smartphones or handheld devices that are communicatively coupled to the internet using software applications that allow reception of a TV program via a radio connection, i.e. a data connection according to a well-known telecommunications standard such as UMTS or LTE or via wireless LAN.
- the video camera deployed for generating the video data typically is coupled to the network exhibiting a fast and reliable upload connection enabling the transmission of the generated video data with a sufficient upload transmission rate.
- Fig. 1 depicts an arrangement for uploading a video
- Fig. 2 depicts a flow chart illustrating method steps performed by the system
- Fig. 3 depics a flow chart illustrating method steps performed at the server side of the system.
- Figure 1 depicts an arrangement 100 of an electronic device 110 coupled to a network server system 130 via a radio connection 140 provided by a radio access network 160 for uploading segments of a video film generated by the device to a server 130.
- a viewing client 150 is communicatively coupled to server system 130 via network 170 and is configured for downloading the video film from server system 130.
- Electronic device 110 comprises a camera means for generating video films wherein the camera may be configured for generating video films in at least two pixel resolutions.
- the camera may be configured for generating video data having a pixel resolution of 1080p, i.e. so-called full HD characterized by 1080 horizontal pixel lines/vertical resolution implying a horizontal resolution of 1920 pixel lines assuming a 16:9 format, or a pixel resolution of 720p, i.e. so-called HD characterized by 720 horizontal pixel lines/ vertical resolution implying a horizontal resolution of 1280 pixel lines in a 16:9 format, or a pixel resolution of 480p, i.e.
- the pixel resolution of the camera of device 110 may be controlled by a control means preferably comprised in device 110. According to the selected pixel resolution the generated files are of varying size. As a consequence of the varying file sizes the upload of a video film of a low pixel resolution requires fewer resources than an upload of a higher pixel resolution video.
- radio interface and is capable of uploading a video film or segment thereof via radio connection 140, wherein the radio connection can be established via WLAN, a cellular telecommunication network, a wide area network WAN, WIMAX protocol or any other suitable radio access system, wherein the cellular communication system can be a system according to the GSM/CSD/HSCSD/GPRS or UMTS or LTE or PDC or any other system allowing data file transmission.
- radio access system 160 may comply with any of the above exemplifying standards.
- Radio access system 160 is communicatively coupled to network system 170 and in particular to a server system 130 comprised in network system 170.
- the network system may comprise a plurality of networks.
- network system 170 may comprise the internet and a smaller network, e.g. the network of a service provider, wherein said small network comprises server system 130.
- server 130 as depicted in the figure illustrates a server system that may comprise a plurality of communicatively coupled physical servers.
- the server functionality as described herein may be implemented using a single physical server or may be distributed across a plurality of physical server machines.
- the illustrated server 130 serves as an exemplifying symbol for the plurality of physically interconnected servers forming a server system.
- Server system 130 is configured and adapted for receiving, storing and enabling downloading of files, particularly video films or segmented video films including additional files associated with the video film or film segments as described below in more detail and with reference to figure 2.
- a user may generate a film of an arbitrary object using electronic device 110, which in one embodiment may be a smartphone comprising a camera capable of generating segments of a video film.
- the electronic device further comprises a control means, e.g. a software application, enabling the method steps and control of the smartphone as described in the following.
- the application may control the pixel resolution of the generated video frames and furthermore produces the film as a temporal sequence of media segments.
- Each segment except for the last of a sequence of segments, exhibits a predefined finite duration, which in one embodiment may be around 5 seconds. However, other durations may be chosen and the described system shall not be limited by the predefined duration of the segments, and the duration of a segment typically is chosen to a value of a few seconds.
- a video film that lasts a couple of minutes thus is segmented into a plurality of media segments.
- control means may also control the duration of the segments, wherein the control means not only defines the end of the last segment of a segmented video film but may also control the length of a segment before the last segment. Accordingly the control means may extend or reduce the length, i.e. the duration, of a segment that is currently generated or that is generated next depending on the radio link conditions.
- control means i.e. the software application, controls the pixel resolution of the camera, wherein the pixel resolution can be adapted for each segment individually. Consequently, the generated video film consists of at least two media segments that may exhibit different pixel resolutions and that
- a media segment i.e. a file containing a media segment has been completed and is available for upload via a radio interface comprised in device 110
- the segment is uploaded via a radio connection to server system 130 while device 110 generates a subsequent media segment.
- server system 130 receives a media segment processing of the media segment starts in order to enable downloading or streaming of said latest and any previously uploaded media segment of the video film.
- device 110 provides an application for controlling the method steps performed in the device, particularly for controlling the camera means, the microphone means and the upload means including the radio interface and the processing of audio and video data generated by the camera and microphone means respectively, wherein said application may control software applications that in turn enable the method steps described below of device 110.
- the method steps performed at the client side may start when a user starts above mentioned control application.
- the method steps performed at the server system 130 are performed by the system on demand, i.e. the server system performs the method steps when requested by a client.
- a client may be a device 110 that performs above mentioned control application while at the download side a client may be a viewing client, i.e. a client 150 that downloads media segments uploaded to server system 130.
- the steps of method 200 start when a user calls above mentioned control application, i.e. the control application is executed on device 110.
- the application When the application is started, it transfers an authentication request to server system 130 wherein the authentication request message comprises a plurality of information to enable the server system to authenticate the requesting device 110.
- the authentication request at the same time is a request for a session token to be provided by server system 130 in case of successful authentication.
- the authenticate request comprises at least a user identifier USERJD in order to check that the requesting device or user has registered with server system 130 previously using for example a conventional user registration system.
- said authentication request may furthermore comprise information regarding the current location of the requesting device 110, i.e. so-called geo information comprising for example the longitude and latitude values of the current geographic location of the device.
- Said geo information may be provided by a GPS receiver module comprised in device 110 or may be provided by any other means, e.g. as a Wi-Fi-based positioning system or a positioning system based on a cellular telecommunication system, i.e. a mobile phone tracking system or a hybrid system.
- Server system 130 receives and processes the authentication request, block 220.
- the processing of the authentication request comprises at least checking the User ID as provided in the authentication request.
- server system 130 may check the provided geographic data.
- the server system may check if the device currently is located in an area that is prohibited for either uploading and/or downloading. In one embodiment this may be the case if the provided video data shall not be received due to whatever reason. In that case, i.e. if the requesting device due to its current geographic location is not allowed to upload and/or download video data, the authentication is denied.
- the server system 130 may reply correspondingly, i.e. reject authorization as illustrated by block 240, and without providing a session token.
- an appropriate response may be returned to device 110 in a response message and the client may be directed to register with the server system 130.
- a corresponding affirmative message is sent downlink to the client, i.e. the handheld electronic device 110, together with a session token, block 250.
- the session token is digital information, i.e. typically a small file that is provided by server system 130.
- the session token may have a limited lifetime, i.e. the session token may expire once a predefined time span has passed since generation of the token.
- the server system may provide, i.e. transmit downlink, a new session token during a valid client session, wherein the new session token replaces the previous token in response to an arbitrary request.
- the server system may provide a new session token to a client during upload of a sequence of media segments thus ensuring that the session of the uploading client does not expire during the uploading. The client then shall destroy the previously provided session token and shall make use of the new session token henceforth, i.e. in subsequent requests regarding uploading of a media segment.
- the client stores the session token as long as the session is active, i.e. as long as the above mentioned control application is running on the client device.
- the session token may be deleted.
- the client has to go through the authentication process again.
- the session token comprises information that uniquely identifies the instance of the application operated by this client. Note that whenever the client 110 communicates uplink with the server system 130 regarding the upload of media segments, the client transmits a copy of the session token to the server system, except when transmitting an upload token as described below. In contrast thereto communication regarding downloading of videos as provided by the server system 130, i.e. downloading of published videos, typically does not require the use of a token.
- the server system stores a copy of the session token provided to the client and checks the session token that accompanies an uplink communication sent by the client. In this way the session token identifies the communication of a current application session of the client.
- the user may proceed to use the application for generating and uploading a video film in segments as described above with reference to figure 1. So when the user of the application controls the application via its user interface to start generating a video film, block 260, the application controls the camera means and the microphone means to provide audio samples and video frames and controls the generation of a media segment as configured by the control application.
- the application sends an upload request message to server system 130, wherein the request message comprises the session token, i.e. a copy of the digital session token.
- the upload request message may comprise information about the current geographical location of the requesting client or other meta information associated with the generation of the film such as the video pixel resolution or the audio sampling rate deployed upon generation of the current media segment or the file size, i.e. the size of the media segment that will be uploaded in case the request is approved.
- server system 130 Upon receipt of the upload request message, server system 130 checks at least the session token accompanying the upload token request message. In case the session token is found to be invalid, server system 130 rejects the upload request. Note that a session token may be found invalid in cases where client 110 communicated previously that the session associated with the session token has been terminated or in case the session token has expired due to extending a limited maximum lifetime. In case the session token has been found valid, server system may proceed to check further information comprised in the upload request message. In one embodiment, i.e. if the upload request message comprises geo information, the server system may check this geo information reflecting the geographical location of the client device at the time when generating the media segment to be uploaded.
- Server system 130 thus may check if the media segment has been generated in an area that is excluded from uploading media data. Furthermore server system may check whether the requested upload shall be refused due to an inadequate pixel resolution of the video data or sampling rate of the audio information or an inadequate file size of the media segment. In case one of these parameters of a media segment is objected by the server system, the upload request is rejected, block 280.
- server system 130 may consider the total amount of data that a user has uploaded since first registering with the system or since the beginning of the session or in this upload. Alternatively or in addition, the server system may consider further criteria for accepting or rejecting upload requests. In one embodiment the server system may consider the current workload of the system, i.e. the server system may reject an upload request in case the server system is operated at full capacity. Note that the server system at the same time may consider exceptions of general considerations, i.e. upload requests received from privileged users may be accepted while requests originating from non-privileged users may be rejected. Note that privileges may be granted to users or clients in consideration of various criteria, e.g. upload activity or paying.
- the client may display corresponding information to the user, wherein the grounds for rejection may or may not form part of the displayed message.
- the control application may control the camera means and microphone means to stop generating video and audio data and to stop the generation of another media segment.
- the user may select via the graphic interface how to proceed, e.g. the generation of media segments may be continued wherein the segments may be stored locally on the client without uploading.
- a corresponding upload accept response is transmitted downlink from server system 130 to client 110, block 290, wherein the upload accept response comprises an upload token.
- the upload token is digital data that is unique for one upload, i.e. only for the next media segment upload originating from the requesting client. Note that a copy of said token is stored in server system 130 for checking against an upload token accompanying a media segment upload.
- the application controls the radio interface comprised in the client, i.e. in the handheld electronic device, to upload the latest generated media segment to server system 130, wherein a copy of the upload token accompanies the media segment, block 291.
- control application of the client ensures that only the latest actually generated media segment is uploaded in order to prevent uploading of another previously stored file. Furthermore, while the media segment is uploaded, the client may continue to record video and audio data for a
- server system 130 starts processing of the uploaded media segment and the accompanying upload token as described in more detail with reference to figure 3.
- the control application running on the client may optionally send a session terminate message to server system 130, block 293, wherein the terminate message comprises a copy of the session token.
- the server side may optionally check the session token accompanying the message and may brand said session token as invalid or may delete the session token. Any message received by server system 130 that is accompanied by an invalid session token may be disregarded and the associated request may be rejected.
- the client may delete the session token to prevent any misuse, block 294.
- confer block 292 the control application running on the client continues to control the generation of a next media segment in block 255. Note that this loop of recording audio and video data, generating and uploading a media segment is continued in the client 110 until it is stopped.
- Figure 3 illustrates the method steps 300 performed at the server side 130 upon complete receipt of a media segment.
- the files comprised in an uploaded media segment are checked for integrity.
- the integrity check is performed in a so-called sandbox processing environment, i.e. a digital processing environment wherein the integrity check itself does not have any impact on the system, if the checking process crashes or if it turns out that the media segment contains a virus or any other undesired malware.
- Sandbox systems or environments are known and are comprised in many computer operating systems or can be installed as a separate processing
- the integrity check comprises scanning the uploaded segment for viruses and other undesired malware. Furthermore the integrity check may comprise checking the format of the media segment, i.e. whether the media segment contains the video data and audio data in a format as expected.
- server system may notify the uploading client about the findings.
- the media segment is accepted for further processing, i.e. the integrity check did not find anything objectionable, the media segment is processed before it is provided for downloading.
- each media segment of a video film is accompanied by an individual upload token that the client has received from server system 300 in an affirmative upload response message beforehand.
- each upload of a media segment is authorized individually by the system.
- the upload token is checked for validity, block 330. At least this includes checking if the upload token has been issued by server system 130 and whether the same upload token has been used previously for uploading another media segment.
- server system 130 may transmit a corresponding notification message to the uploading client indicating that the upload of the media segment has been found invalid.
- the session token associated with the uploading client 110 may be revoked, i.e. may be marked as invalid in server system 130 and a corresponding message may be transmitted to the client.
- the server system may statistically evaluate invalid attempts of uploading media segments for a particular user, which enables the system to identify cheating clients.
- a more detailed notification about the invalid upload token may be send to the client, which in turn may request another upload token, block 260.
- Client device 110 may attempt another upload of the media segment.
- a session token thus secures the communication with server system so that only media segments recorded and generated by the handheld device 110 during the one session can be uploaded, wherein each upload of a media segment is furthermore secured by using individual upload tokens. In this way the chance of cheating, i.e. uploading files that have not been generated during the session of the control application, is at least reduced.
- client devices 110 i.e. handheld electronic devices generating the media segments
- client devices 110 may generate and upload media segments of different formats. Since client devices 110 may deploy different operating systems, e.g. the mobile devices may deploy any operating system, the generated media segments may differ in their format.
- a media segment may comprise one file containing audio and video data, e.g. an mp4-format file containing both audio and video information, whereas in an alternative format a media segment may comprise one file containing audio data only and another separate file containing video data only.
- the media segment comprises a separate file containing video frames and a separate file containing audio frames
- the two files may be processed and merged into a single file having the format of a media container, e.g. an mp4 format file.
- a media container e.g. an mp4 format file.
- the step of processing a media segment may comprise the removal of so-called priming samples, i.e. leading audio samples that do not contain recorded audio data. Only if the media segment is the first segment of a video film, the leading priming samples may remain in the audio samples, since many of the known codecs ignore these priming audio samples but use the priming samples for initializing the codec.
- the audio frames of a media segment may be encoded in compliance with the 'Advanced Audio Coding' standard, i.e. AAC, the audio data may comprise at least one leading audio frames as ignorable audio data, which can be removed. Furthermore the time stamps of all remaining audio samples can be corrected accordingly by shifting the timestamps by the removed priming samples.
- the removal of leading silent audio frames may improve the perceived quality of the audio experience particularly when replaying media segments in sequence.
- media segments except for the first of a sequence of media segments contain silent priming audio samples, these priming audio samples may be experienced as an audio gap at the borderline between segments of a video film, so a removal of these priming audio samples removes the audio gap.
- media segments generated and uploaded by devices 110 operating an iOS operating system comprise one media container, e.g. an mp4- format file, wherein each uploaded media segment contains silent priming audio samples.
- each uploaded media segment contains silent priming audio samples.
- the priming audio samples can be removed except for the first media segment of a sequence of segments.
- the timestamps of the audio samples of any subsequent media segment may be corrected by adjusting the timestamps relative to the beginning of the first media segment.
- the media segment is processed to form part of a streamable video file, i.e. a video film that can be downloaded as a stream.
- a streamable video file i.e. a video film that can be downloaded as a stream.
- that format may be the 'HTTP Live Streaming', HLS, implemented by Apple.
- the generation of a streamable video file may comprise the generation or update of a playlist file, which lists the parts of the streamable video file. Note that said playlist file is updated whenever another media segment has been successfully processed.
- the processed media segment and the playlist file are provided for downloading.
- the playlist file may list all media segments of a sequence of uploaded segments or may comprise the latest segments only, i.e. thus forming a sliding window.
- the step of providing the generated downloadable video stream for download thus may comprise to move the at least one processed media segment and the generated or updated playlist file to a server arrangement that enables downloading of the video stream.
- said server arrangement may comprise a storage system and a web server communicatively coupled to said storage system for enabling and controlling download of said video.
- the processing of a media segment may optionally comprise the generation of at least one additional downloadable video stream based on the provided media segments wherein the additional video stream exhibits one or both of a lower video or audio resolution.
- the additional video stream exhibiting the lower video and/or audio resolution typically results in a smaller file size.
- the generated downloadable video stream can be provided for download in different qualities.
- Processing of an uploaded media segment ends, block 370, when said media segment has been provided for download as part of a downloadable stream, wherein said media segment may be provided in one or more than one audio/video qualities.
- the video film that is generated and uploaded by the electronic device in the form of media segments to the server system is provided as a streamable video film by the server system. Any viewer client, i.e. not necessarily the above
- the handheld electronic device may access the server system for example via the internet may download the video film as a stream. Due to uploading the video film in segments, immediate individual processing of each media segment as well as providing an updated playlist and the processed media file for download, the recordings can be made available for download by the server system with minimum delay, i.e. nearly online while the handheld device keeps on recording the next portion of the video film, i.e. the next media segment.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Graphics (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
A method and system are described for providing streamable video data for download, wherein segments of the video data are generated by a handheld electronic device, e.g. a smartphone, and uploaded via a radio interface to a server system arranged in a network. The server system processes the segments and provides the content as a streamable video film for download.
Description
System providing a web-based online video streaming system
The invention relates to a system and a corresponding method for video processing of a web-based online video streaming system. In particular the disclosed system enables a handheld electronic device to generate and upload a video film in segments to a server system that provides the segments for download to any device communicatively coupled the network, i.e. the internet.
Since modern smartphones and so-called tablet computers not only are equipped with a camera for taking still images but also with video functionality for producing high-quality video films extending to nearly endless duration, it has become popular for consumers to upload the videos to a network server in order to publish them. A plurality of internet services is known that allow uploading of a video. Once the video is uploaded, it is accessible by a plurality of users wherein the video may be downloaded either as a stream for immediate viewing or may be downloaded as a file thus enabling storing of the video file for offline viewing.
Furthermore there are conventional services that enable so-called live-streaming of videos. These services forward the video data provided to the service immediately to a viewer. In one example TV live transmissions can be received via smartphones or handheld devices that are communicatively coupled to the internet using software applications that allow reception of a TV program via a radio connection, i.e. a data connection according to a well-known telecommunications standard such as UMTS or LTE or via wireless LAN. The video camera deployed for generating the video data typically is coupled to the network exhibiting a fast and reliable upload connection enabling the transmission of the generated video data with a sufficient upload transmission rate. By providing a sufficiently fast upload connection to the network any transmission delay in the upload channel is anticipated.
However, when using a smartphone or tablet computer or any other handheld consumer device coupled via a wireless LAN or a cellular telecommunications network, e.g. a cellular telephone network, there are challenges in order to provide the recorded video and audio data as a live video stream, since on one hand there are limited resources in the handheld device for generating and nearly
simultaneously uploading the recorded data while at the same time processing the
uploaded data at the server side to enable downloading of the data as soon as possible. The system and method as described in the following strive to alleviate these challenges.
Fig. 1 depicts an arrangement for uploading a video;
Fig. 2 depicts a flow chart illustrating method steps performed by the system;
Fig. 3 depics a flow chart illustrating method steps performed at the server side of the system.
Figure 1 depicts an arrangement 100 of an electronic device 110 coupled to a network server system 130 via a radio connection 140 provided by a radio access network 160 for uploading segments of a video film generated by the device to a server 130. A viewing client 150 is communicatively coupled to server system 130 via network 170 and is configured for downloading the video film from server system 130.
Electronic device 110 comprises a camera means for generating video films wherein the camera may be configured for generating video films in at least two pixel resolutions. In one embodiment the camera may be configured for generating video data having a pixel resolution of 1080p, i.e. so-called full HD characterized by 1080 horizontal pixel lines/vertical resolution implying a horizontal resolution of 1920 pixel lines assuming a 16:9 format, or a pixel resolution of 720p, i.e. so-called HD characterized by 720 horizontal pixel lines/ vertical resolution implying a horizontal resolution of 1280 pixel lines in a 16:9 format, or a pixel resolution of 480p, i.e. 480 horizontal pixel lines/vertical resolution implying a horizontal resolution of 640 pixel lines in a 4:3 format or 854 lines in a 16:9 format. Note that the invention shall not be limited to these exemplary values but any arbitrary pixel resolution may be considered. The pixel resolution of the camera of device 110 may be controlled by a control means preferably comprised in device 110. According to the selected pixel resolution the generated files are of varying size. As a consequence of the varying file sizes the upload of a video film of a low pixel resolution requires fewer resources than an upload of a higher pixel resolution video.
Furthermore electronic device 110 comprises a radio interface and is capable of uploading a video film or segment thereof via radio connection 140, wherein the radio connection can be established via WLAN, a cellular telecommunication network, a wide area network WAN, WIMAX protocol or any other suitable radio
access system, wherein the cellular communication system can be a system according to the GSM/CSD/HSCSD/GPRS or UMTS or LTE or PDC or any other system allowing data file transmission. Thus radio access system 160 may comply with any of the above exemplifying standards.
Radio access system 160 is communicatively coupled to network system 170 and in particular to a server system 130 comprised in network system 170. The network system may comprise a plurality of networks. In one embodiment network system 170 may comprise the internet and a smaller network, e.g. the network of a service provider, wherein said small network comprises server system 130.
Note that server 130 as depicted in the figure illustrates a server system that may comprise a plurality of communicatively coupled physical servers. The server functionality as described herein may be implemented using a single physical server or may be distributed across a plurality of physical server machines. Hence the illustrated server 130 serves as an exemplifying symbol for the plurality of physically interconnected servers forming a server system.
Server system 130 is configured and adapted for receiving, storing and enabling downloading of files, particularly video films or segmented video films including additional files associated with the video film or film segments as described below in more detail and with reference to figure 2.
As insinuated in figure 1, a user may generate a film of an arbitrary object using electronic device 110, which in one embodiment may be a smartphone comprising a camera capable of generating segments of a video film. The electronic device further comprises a control means, e.g. a software application, enabling the method steps and control of the smartphone as described in the following.
When the user starts filming the object using the control means, i.e. the application may control the pixel resolution of the generated video frames and furthermore produces the film as a temporal sequence of media segments. Each segment, except for the last of a sequence of segments, exhibits a predefined finite duration, which in one embodiment may be around 5 seconds. However, other durations may be chosen and the described system shall not be limited by the predefined duration of the segments, and the duration of a segment typically is chosen to a value of a few
seconds. A video film that lasts a couple of minutes thus is segmented into a plurality of media segments.
Note that in one embodiment the control means may also control the duration of the segments, wherein the control means not only defines the end of the last segment of a segmented video film but may also control the length of a segment before the last segment. Accordingly the control means may extend or reduce the length, i.e. the duration, of a segment that is currently generated or that is generated next depending on the radio link conditions.
Furthermore the control means, i.e. the software application, controls the pixel resolution of the camera, wherein the pixel resolution can be adapted for each segment individually. Consequently, the generated video film consists of at least two media segments that may exhibit different pixel resolutions and that
furthermore may be of different duration.
Once a media segment has been completed, i.e. a file containing a media segment has been completed and is available for upload via a radio interface comprised in device 110, the segment is uploaded via a radio connection to server system 130 while device 110 generates a subsequent media segment. As soon as server system 130 receives a media segment processing of the media segment starts in order to enable downloading or streaming of said latest and any previously uploaded media segment of the video film.
With reference to flow chart 200 depicted in figure 2 the steps for uploading and processing of media segments are described in more detail. Note that device 110 provides an application for controlling the method steps performed in the device, particularly for controlling the camera means, the microphone means and the upload means including the radio interface and the processing of audio and video data generated by the camera and microphone means respectively, wherein said application may control software applications that in turn enable the method steps described below of device 110.
The method steps performed at the client side, i.e. at device 110, may start when a user starts above mentioned control application. In contrast thereto the method steps performed at the server system 130 are performed by the system on demand, i.e. the server system performs the method steps when requested by a client. Note
that at the upload side of the system a client may be a device 110 that performs above mentioned control application while at the download side a client may be a viewing client, i.e. a client 150 that downloads media segments uploaded to server system 130.
The steps of method 200 start when a user calls above mentioned control application, i.e. the control application is executed on device 110. When the application is started, it transfers an authentication request to server system 130 wherein the authentication request message comprises a plurality of information to enable the server system to authenticate the requesting device 110. Note that the authentication request at the same time is a request for a session token to be provided by server system 130 in case of successful authentication.
In one embodiment the authenticate request comprises at least a user identifier USERJD in order to check that the requesting device or user has registered with server system 130 previously using for example a conventional user registration system.
Optionally said authentication request may furthermore comprise information regarding the current location of the requesting device 110, i.e. so-called geo information comprising for example the longitude and latitude values of the current geographic location of the device. Said geo information may be provided by a GPS receiver module comprised in device 110 or may be provided by any other means, e.g. as a Wi-Fi-based positioning system or a positioning system based on a cellular telecommunication system, i.e. a mobile phone tracking system or a hybrid system.
Server system 130 receives and processes the authentication request, block 220. The processing of the authentication request comprises at least checking the User ID as provided in the authentication request. Optionally, i.e. in case the authentication request comprises geo information, server system 130 may check the provided geographic data.
In one embodiment, i.e. in case the authentication request comprises geographical data indicating the geographical location of the device when transmitting the authentication request, the server system may check if the device currently is located in an area that is prohibited for either uploading and/or downloading. In one embodiment this may be the case if the provided video data shall not be
received due to whatever reason. In that case, i.e. if the requesting device due to its current geographic location is not allowed to upload and/or download video data, the authentication is denied.
In case the authentication request results in a negative outcome, i.e. the requesting device 110 cannot be authorized to use the server system 130, then the server system 130 may reply correspondingly, i.e. reject authorization as illustrated by block 240, and without providing a session token. In one embodiment, i.e. if the provided User ID is unknown to server system 130, then an appropriate response may be returned to device 110 in a response message and the client may be directed to register with the server system 130.
If server system 130 successfully authenticates the request, a corresponding affirmative message is sent downlink to the client, i.e. the handheld electronic device 110, together with a session token, block 250. The session token is digital information, i.e. typically a small file that is provided by server system 130. In one embodiment the session token may have a limited lifetime, i.e. the session token may expire once a predefined time span has passed since generation of the token.
Furthermore the server system may provide, i.e. transmit downlink, a new session token during a valid client session, wherein the new session token replaces the previous token in response to an arbitrary request. In one embodiment the server system may provide a new session token to a client during upload of a sequence of media segments thus ensuring that the session of the uploading client does not expire during the uploading. The client then shall destroy the previously provided session token and shall make use of the new session token henceforth, i.e. in subsequent requests regarding uploading of a media segment.
The client stores the session token as long as the session is active, i.e. as long as the above mentioned control application is running on the client device. When the user stops the application on the client, the session token may be deleted. In case the user starts the application anew, the client has to go through the authentication process again. The session token comprises information that uniquely identifies the instance of the application operated by this client. Note that whenever the client 110 communicates uplink with the server system 130 regarding the upload of media segments, the client transmits a copy of the session token to the server system, except when transmitting an upload token as described below. In contrast thereto
communication regarding downloading of videos as provided by the server system 130, i.e. downloading of published videos, typically does not require the use of a token.
The server system stores a copy of the session token provided to the client and checks the session token that accompanies an uplink communication sent by the client. In this way the session token identifies the communication of a current application session of the client.
When the application has successfully authenticated with server system 130, the user may proceed to use the application for generating and uploading a video film in segments as described above with reference to figure 1. So when the user of the application controls the application via its user interface to start generating a video film, block 260, the application controls the camera means and the microphone means to provide audio samples and video frames and controls the generation of a media segment as configured by the control application.
While the client records video and audio information and produces a media segment, block 260, the application sends an upload request message to server system 130, wherein the request message comprises the session token, i.e. a copy of the digital session token. Optionally the upload request message may comprise information about the current geographical location of the requesting client or other meta information associated with the generation of the film such as the video pixel resolution or the audio sampling rate deployed upon generation of the current media segment or the file size, i.e. the size of the media segment that will be uploaded in case the request is approved.
Upon receipt of the upload request message, server system 130 checks at least the session token accompanying the upload token request message. In case the session token is found to be invalid, server system 130 rejects the upload request. Note that a session token may be found invalid in cases where client 110 communicated previously that the session associated with the session token has been terminated or in case the session token has expired due to extending a limited maximum lifetime. In case the session token has been found valid, server system may proceed to check further information comprised in the upload request message.
In one embodiment, i.e. if the upload request message comprises geo information, the server system may check this geo information reflecting the geographical location of the client device at the time when generating the media segment to be uploaded. Server system 130 thus may check if the media segment has been generated in an area that is excluded from uploading media data. Furthermore server system may check whether the requested upload shall be refused due to an inadequate pixel resolution of the video data or sampling rate of the audio information or an inadequate file size of the media segment. In case one of these parameters of a media segment is objected by the server system, the upload request is rejected, block 280.
Note that the server may check further parameters when deciding to accept or reject an upload request. In one particular embodiment server system 130 may consider the total amount of data that a user has uploaded since first registering with the system or since the beginning of the session or in this upload. Alternatively or in addition, the server system may consider further criteria for accepting or rejecting upload requests. In one embodiment the server system may consider the current workload of the system, i.e. the server system may reject an upload request in case the server system is operated at full capacity. Note that the server system at the same time may consider exceptions of general considerations, i.e. upload requests received from privileged users may be accepted while requests originating from non-privileged users may be rejected. Note that privileges may be granted to users or clients in consideration of various criteria, e.g. upload activity or paying.
In case server system 130 has rejected the upload request in block 280, the client may display corresponding information to the user, wherein the grounds for rejection may or may not form part of the displayed message. Furthermore the control application may control the camera means and microphone means to stop generating video and audio data and to stop the generation of another media segment. In an alternative embodiment the user may select via the graphic interface how to proceed, e.g. the generation of media segments may be continued wherein the segments may be stored locally on the client without uploading.
Otherwise, i.e. when checking the upload request in block 270 results in accepting the upload request, a corresponding upload accept response is transmitted downlink from server system 130 to client 110, block 290, wherein the upload accept response comprises an upload token. The upload token is digital data that is
unique for one upload, i.e. only for the next media segment upload originating from the requesting client. Note that a copy of said token is stored in server system 130 for checking against an upload token accompanying a media segment upload.
When client 110 receives the upload accept response including an upload token, the application controls the radio interface comprised in the client, i.e. in the handheld electronic device, to upload the latest generated media segment to server system 130, wherein a copy of the upload token accompanies the media segment, block 291.
Note that in one embodiment the control application of the client ensures that only the latest actually generated media segment is uploaded in order to prevent uploading of another previously stored file. Furthermore, while the media segment is uploaded, the client may continue to record video and audio data for a
subsequent media segment.
As soon as the upload of a media segment from client 110 to server system 130 has been completed, the server system starts processing of the uploaded media segment and the accompanying upload token as described in more detail with reference to figure 3.
When the generation of audio and video data has been stopped, e.g. the user has terminated the recording of audio and video data, and all audio and video data has been uploaded in the form of media segments to server system 130, confer block 292, the control application running on the client may optionally send a session terminate message to server system 130, block 293, wherein the terminate message comprises a copy of the session token. Upon receipt of a session terminate message the server side may optionally check the session token accompanying the message and may brand said session token as invalid or may delete the session token. Any message received by server system 130 that is accompanied by an invalid session token may be disregarded and the associated request may be rejected.
Thereafter the client may delete the session token to prevent any misuse, block 294.
In case the generation of audio and video data is ongoing, confer block 292, the control application running on the client continues to control the generation of a next media segment in block 255. Note that this loop of recording audio and video
data, generating and uploading a media segment is continued in the client 110 until it is stopped.
Figure 3 illustrates the method steps 300 performed at the server side 130 upon complete receipt of a media segment.
In order to ensure that any subsequent processing of the uploaded media segment may not compromise server system 130 or may have any other undesired impact on the system, the files comprised in an uploaded media segment are checked for integrity.
In one embodiment the integrity check is performed in a so-called sandbox processing environment, i.e. a digital processing environment wherein the integrity check itself does not have any impact on the system, if the checking process crashes or if it turns out that the media segment contains a virus or any other undesired malware. Sandbox systems or environments are known and are comprised in many computer operating systems or can be installed as a separate processing
environment on the server system. In one embodiment the integrity check
comprises scanning the uploaded segment for viruses and other undesired malware. Furthermore the integrity check may comprise checking the format of the media segment, i.e. whether the media segment contains the video data and audio data in a format as expected.
In case the integrity check reveals, block 310, that the files of the media segment contain anything objectionable or if the associated process crashes, then processing of the media segment is stopped and further processing of the segment is rejected, block 320, i.e. the file may be deleted or moved to a quarantine directory. Optionally server system may notify the uploading client about the findings.
In case the media segment is accepted for further processing, i.e. the integrity check did not find anything objectionable, the media segment is processed before it is provided for downloading.
As mentioned above each media segment of a video film is accompanied by an individual upload token that the client has received from server system 300 in an affirmative upload response message beforehand. In this way each upload of a media segment is authorized individually by the system. As soon as the upload
token has been received at the server system 130, the upload token is checked for validity, block 330. At least this includes checking if the upload token has been issued by server system 130 and whether the same upload token has been used previously for uploading another media segment.
In that case, i.e. the upload token has been used previously, the upload token is considered as invalid. The media segment accompanied by the invalid upload token will not be processed, but abandoned in block 340. Optionally the media segment can be deleted or moved to a quarantine directory. Further optionally server system 130 may transmit a corresponding notification message to the uploading client indicating that the upload of the media segment has been found invalid. Further optionally, since each upload token is designated for a single upload of a single media segment and an upload token is associated with a particular session token, the session token associated with the uploading client 110 may be revoked, i.e. may be marked as invalid in server system 130 and a corresponding message may be transmitted to the client. Still further optionally the server system may statistically evaluate invalid attempts of uploading media segments for a particular user, which enables the system to identify cheating clients.
Alternatively, a more detailed notification about the invalid upload token may be send to the client, which in turn may request another upload token, block 260. Client device 110 may attempt another upload of the media segment.
If the upload token transmitted with a media segment has been found valid, the processing of the media segment with regard to the contents is started, block 350.
The use of a session token thus secures the communication with server system so that only media segments recorded and generated by the handheld device 110 during the one session can be uploaded, wherein each upload of a media segment is furthermore secured by using individual upload tokens. In this way the chance of cheating, i.e. uploading files that have not been generated during the session of the control application, is at least reduced.
Note that client devices 110, i.e. handheld electronic devices generating the media segments, may generate and upload media segments of different formats. Since client devices 110 may deploy different operating systems, e.g. the mobile devices may deploy any operating system, the generated media segments may differ in their
format. In one embodiment a media segment may comprise one file containing audio and video data, e.g. an mp4-format file containing both audio and video information, whereas in an alternative format a media segment may comprise one file containing audio data only and another separate file containing video data only.
In case the media segment comprises a separate file containing video frames and a separate file containing audio frames, then the two files may be processed and merged into a single file having the format of a media container, e.g. an mp4 format file. This can be achieved by deploying conventional processing means, e.g.
conventional software tools for producing or processing video films.
Furthermore the step of processing a media segment may comprise the removal of so-called priming samples, i.e. leading audio samples that do not contain recorded audio data. Only if the media segment is the first segment of a video film, the leading priming samples may remain in the audio samples, since many of the known codecs ignore these priming audio samples but use the priming samples for initializing the codec. Note that in one embodiment the audio frames of a media segment may be encoded in compliance with the 'Advanced Audio Coding' standard, i.e. AAC, the audio data may comprise at least one leading audio frames as ignorable audio data, which can be removed. Furthermore the time stamps of all remaining audio samples can be corrected accordingly by shifting the timestamps by the removed priming samples. Note that, as described below, the removal of leading silent audio frames may improve the perceived quality of the audio experience particularly when replaying media segments in sequence. In that case, if media segments except for the first of a sequence of media segments contain silent priming audio samples, these priming audio samples may be experienced as an audio gap at the borderline between segments of a video film, so a removal of these priming audio samples removes the audio gap.
In one embodiment media segments generated and uploaded by devices 110 operating an iOS operating system comprise one media container, e.g. an mp4- format file, wherein each uploaded media segment contains silent priming audio samples. To improve the audio quality upon replay the priming audio samples can be removed except for the first media segment of a sequence of segments.
Furthermore in that case the timestamps of the audio samples of any subsequent media segment, i.e. except for the first of a sequence of media segments, may be
corrected by adjusting the timestamps relative to the beginning of the first media segment.
Once the content of an uploaded media segment has been processed, the media segment is processed to form part of a streamable video file, i.e. a video film that can be downloaded as a stream. In one embodiment that format may be the 'HTTP Live Streaming', HLS, implemented by Apple.
In one embodiment the generation of a streamable video file may comprise the generation or update of a playlist file, which lists the parts of the streamable video file. Note that said playlist file is updated whenever another media segment has been successfully processed.
When the streamable video file has been generated, i.e. in case a first media segment has been uploaded to and processed by the server system, or has been updated, i.e. in case a subsequent media segment has been uploaded and processed by the server system, the processed media segment and the playlist file are provided for downloading. Note that the playlist file may list all media segments of a sequence of uploaded segments or may comprise the latest segments only, i.e. thus forming a sliding window. The step of providing the generated downloadable video stream for download thus may comprise to move the at least one processed media segment and the generated or updated playlist file to a server arrangement that enables downloading of the video stream. In one embodiment said server arrangement may comprise a storage system and a web server communicatively coupled to said storage system for enabling and controlling download of said video.
In one embodiment the processing of a media segment may optionally comprise the generation of at least one additional downloadable video stream based on the provided media segments wherein the additional video stream exhibits one or both of a lower video or audio resolution. The additional video stream exhibiting the lower video and/or audio resolution typically results in a smaller file size.
Accordingly the generated downloadable video stream can be provided for download in different qualities.
Processing of an uploaded media segment ends, block 370, when said media segment has been provided for download as part of a downloadable stream, wherein said media segment may be provided in one or more than one audio/video qualities.
In this way the video film that is generated and uploaded by the electronic device in the form of media segments to the server system is provided as a streamable video film by the server system. Any viewer client, i.e. not necessarily the above
mentioned handheld electronic device that may access the server system for example via the internet may download the video film as a stream. Due to uploading the video film in segments, immediate individual processing of each media segment as well as providing an updated playlist and the processed media file for download, the recordings can be made available for download by the server system with minimum delay, i.e. nearly online while the handheld device keeps on recording the next portion of the video film, i.e. the next media segment.
Claims
1. A method for providing streamable video data on a server system (130) for download, comprising a handheld electronic device (110) capable of generating media segments comprising at least one of video and audio information and capable of uploading the media segments to the server system via a comprised radio interface, comprising the steps of:
- authenticating (210) a session of the handheld electronic device (110) to the server system (130), and
- providing by the server system (130) a digital session token to the handheld electronic device (110) upon successful authentication, and
- generating at least one media segment comprising at least one of audio and video data by the handheld electronic device (110) upon successful authentication, and
- authorization of the handheld electronic device by the server system (130) for uploading one generated media segment to the server system (130) via the radio interface of the handheld electronic device (110), and
- uploading one media segment by the handheld electronic device (110) via the radio interface to the server system (130), and
- generating a streamable video film based on the at least one uploaded media segment by the server system (130), and
- providing the streamable video film for download by the server system (130).
2. The method of claim 1, wherein the step of authenticating the session of the handheld electronic device (110) to the server system (130) comprises:
- transmitting by the handheld electronic device (110) a session authentication request message comprising a user identifier via the radio interface to the server system (130), and
- receiving by the handheld electronic device (110) a digital session token from the server system (130) in case of successful authentication.
3. The method of any preceding claim, wherein the step of authorization of the handheld electronic device comprises
- transmitting (260) an upload authorization request message by the handheld electronic device (110) to the server system (130), and
- provide an upload token to the electronic handheld device (110) by the server system (130) upon successful authorization of the handheld electronic device (110) by the server system (130).
4. The method of preceding claim 3 wherein the step of uploading one media segment by the handheld electronic device (110) via a radio interface comprised in the device (110) comprises transmitting the upload token to the server system.
5. The method of any preceding claim wherein the step of generating a streamable video film comprises removing of priming silent audio samples from a media segment.
6. The method of any preceding claim wherein the step of generating a streamable video film comprises generating a single media file containing video data and audio data based on a file containing video data only and a separate file containing audio data only.
7. The method of any preceding claim further comprising the step of generating a media segment exhibiting at least one of a lower video or audio resolution at the server system (130).
8. The method of any preceding claim wherein the steps of generating a media segment, authorizing the handheld electronic device for uploading the generated media segment, uploading the generated media segment to the server system (130) via a radio interface comprised in the handheld electronic device, generating a streamable video film based at least on the one uploaded media segment and providing the streamable video film for download are performed twice in a loop.
9. A system comprising at least one handheld electronic device (110)
communicatively coupled to a server system (130) via a radio interface,
- wherein said handheld electronic device (110) comprises means for generating at least one media segment comprising at least one of video and audio information as digital data and comprising a radio interface for uploading the media segments to the server system (130), and wherein the handheld electronic device is adapted for
- transmitting a session authentication request to the server system via the radio interface, and
- receiving a digital session token from the server system (130) upon successful authentication, and
- transmitting an upload authorization request via the radio interface to the server system (130) and receiving a digital upload token upon successful authorization from the server system (130), and
- uploading a media segment via the radio interface to the server system (130), and
- wherein said server (130) is comprises means adapted for generating a streamable video film based on the at least one uploaded media segment, and
- for providing the streamable video film for download.
10. The system of claim wherein the step of transmitting a session authentication request of the handheld electronic device (110) to the server system (130) comprises
- transmitting by the handheld electronic device (110) a session authentication request message comprising a user identifier.
11. The system of any preceding claim 9-10 wherein the step of uploading a media segment via the radio interface to the server system (130) comprises transmitting the digital upload token to the server system (130).
12. The system of any preceding claim 9-11 wherein the step of generating a streamable video film based on the at least one uploaded media segment comprises removing of priming silent audio samples from a media segment.
13. The system of any preceding claim 9-12 wherein the step of generating a streamable video film comprises generating a single media file containing video data and audio data based on a file containing video data only and a separate file containing audio data only.
14. The system of any preceding claim 9-13 wherein the server system (130) is adapted to generate a video film exhibiting at least one of a lower video or audio resolution.
15. The system of any preceding claim 9-14 wherein the system is adapted for performing the steps of generating a media segment, authorizing the handheld electronic device for uploading the generated media segment, uploading the generated media segment to the server system (130) via a radio interface comprised in the handheld electronic device, generating a streamable video film based at least on the one uploaded media segment and providing the streamable video film for download twice in a loop.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2014/054237 WO2015131936A1 (en) | 2014-03-05 | 2014-03-05 | System providing web-based online video streaming |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2014/054237 WO2015131936A1 (en) | 2014-03-05 | 2014-03-05 | System providing web-based online video streaming |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015131936A1 true WO2015131936A1 (en) | 2015-09-11 |
Family
ID=50345987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2014/054237 WO2015131936A1 (en) | 2014-03-05 | 2014-03-05 | System providing web-based online video streaming |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2015131936A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017200402A1 (en) * | 2016-05-20 | 2017-11-23 | Motorola Solutions, Inc. | Systems and methods for offloading assets from a portable electronic device to long-term storage |
CN115150386A (en) * | 2022-05-24 | 2022-10-04 | 上海哔哩哔哩科技有限公司 | Method and device for uploading video to open platform, storage medium and electronic equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1379048A1 (en) * | 2002-07-01 | 2004-01-07 | Siemens Mobile Communications S.p.A. | System for and method of providing mobile live video multimedia services |
WO2006081413A2 (en) * | 2005-01-28 | 2006-08-03 | Digital News Reel, Llc | Systems and methods that facilitate audio/video data transfer and editing |
WO2009020965A1 (en) * | 2007-08-07 | 2009-02-12 | Davidson Daniel L | Method and system for on-line content acquisition and distribution |
US20140047522A1 (en) * | 2005-12-08 | 2014-02-13 | Microsoft Corporation | Request authentication token |
-
2014
- 2014-03-05 WO PCT/EP2014/054237 patent/WO2015131936A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1379048A1 (en) * | 2002-07-01 | 2004-01-07 | Siemens Mobile Communications S.p.A. | System for and method of providing mobile live video multimedia services |
WO2006081413A2 (en) * | 2005-01-28 | 2006-08-03 | Digital News Reel, Llc | Systems and methods that facilitate audio/video data transfer and editing |
US20140047522A1 (en) * | 2005-12-08 | 2014-02-13 | Microsoft Corporation | Request authentication token |
WO2009020965A1 (en) * | 2007-08-07 | 2009-02-12 | Davidson Daniel L | Method and system for on-line content acquisition and distribution |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017200402A1 (en) * | 2016-05-20 | 2017-11-23 | Motorola Solutions, Inc. | Systems and methods for offloading assets from a portable electronic device to long-term storage |
GB2565678A (en) * | 2016-05-20 | 2019-02-20 | Motorola Solutions Inc | Systems and methods for offloading assets from a portable electronic device to long-term storage |
US20190155833A1 (en) * | 2016-05-20 | 2019-05-23 | Motorola Solutions, Inc, | Systems and methods for offloading assets from a portable electronic device to long-term storage |
AU2016407391B2 (en) * | 2016-05-20 | 2019-10-03 | Motorola Solutions, Inc. | Systems and methods for offloading assets from a portable electronic device to long-term storage |
US10726065B2 (en) | 2016-05-20 | 2020-07-28 | Motorola Solutions, Inc. | Systems and methods for offloading assets from a portable electronic device to long-term storage |
CN115150386A (en) * | 2022-05-24 | 2022-10-04 | 上海哔哩哔哩科技有限公司 | Method and device for uploading video to open platform, storage medium and electronic equipment |
CN115150386B (en) * | 2022-05-24 | 2024-03-22 | 上海哔哩哔哩科技有限公司 | Method and device for uploading video to open platform, storage medium and electronic equipment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10602210B2 (en) | Method and system for message notification | |
US10764623B2 (en) | Method and system for media adaption | |
EP3713224B1 (en) | Live data processing method and system, and server | |
US9444813B1 (en) | Token-based security for remote resources | |
WO2016174560A1 (en) | Method and apparatus for enforcing program and device class entitlements in a broadcast stream using a manifest file | |
CN108063769B (en) | Method and device for realizing content service and content distribution network node | |
US11019013B2 (en) | Apparatus and method for managing sharing of content | |
WO2012113260A1 (en) | Video play method and device | |
US20150149589A1 (en) | File downloads using broadband wireless multicast | |
US11025984B2 (en) | Method, system for processing a live-broadcasting data, and server thereof | |
CN111512609B (en) | Method and user equipment for streaming data from a UE to an ingestion point in a network | |
CN108881931B (en) | Data buffering method and network equipment | |
US9047482B2 (en) | Token-based security for links to media streams | |
CN110234020B (en) | Video playing method and device | |
US20170223394A1 (en) | Methods and Systems for Cloud-Based Media Content Transcoding | |
US9350779B2 (en) | Providing control information to a multimedia server | |
WO2015131934A1 (en) | System and method for live video streaming | |
WO2015131936A1 (en) | System providing web-based online video streaming | |
US20140201368A1 (en) | Method and apparatus for enforcing behavior of dash or other clients | |
US9264773B2 (en) | Distribution system for subscription-based programs | |
US20210126958A1 (en) | Communal social media system and method | |
FR3068852A1 (en) | METHOD FOR MANAGING THE RIGHT OF ACCESS TO DIGITAL CONTENT | |
KR101970200B1 (en) | Method and system for multiple social network service live broadcasting at the same time based on image record apparatus | |
US11722543B2 (en) | Integrated system and method for executing a communal media session across multiple platforms | |
US20210075840A1 (en) | Multilayer and synchronized communal social media system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14711933 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 14711933 Country of ref document: EP Kind code of ref document: A1 |