1. Technical Field
Embodiments of the present disclosure relate to media files management systems and methods, and more particularly to a system and a method for transmitting streaming media based on desktop sharing.
2. Description of Related Art
If a client wants to share pictures from a server, the server obtains the pictures displayed on a desktop of the server, compresses the pictures, and sends the compressed pictures to the client. However, if the desktop of the server displays streaming media, the server cannot compress the streaming media in real time because the streaming media is a large quantity of data. On another hand, if the server has compressed the streaming media, decompressing the streaming media may cause a heavy burden to the client, thus the displaying of the streaming media on the client may be not smooth.
The application is illustrated by way of examples and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean at least one.
In general, the word “module”, as used herein, refers to logic embodied in hardware or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an EPROM. The modules described herein may be implemented as either software and/or hardware modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media may include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives.
In an exemplary embodiment, the server 1 includes at least one processor 13 and a storage system 14. The sending system 10 may include one or more modules (as in
As shown in
The receiving module 100 receives a data package from a client 2 if the server 1 sends a transmission request of transmitting streaming media to the client 2 or the client 2 sends a receiving request of receiving streaming media to the server 1. The data package includes information in relation to decoding capability and one or more decoding types of the streaming media. The decoding capability denotes if the client 2 is capable of decoding the streaming media. The one or more decoding types may include types of mp3, mp4, mkv, avi, for example. If the client is not capable of decoding the streaming media, the decoding type is a value of “null.”
The opening module 101 opens the streaming media to be transmitted, decodes the streaming media and displays the decoded streaming media on a desktop of the display 11 of the server 1. For example, the opening module 101 plays a movie on the desktop of the display 11.
The detection module 102 detects if the client 2 is capable of decoding the streaming media according to the data package. In some embodiments, the detection module 102 checks the decoding capability and the one or more decoding types of the client 2. If the decoding capability of the client 2 indicates that the client 2 can decode the streaming media, the detection module 102 detects if the one or more decoding types of the client 2 includes a type of the streaming media. For example, if the decoding types of the client 2 include types of mp3 and avi, and the type of the streaming media is avi, the detection module 102 determines that the client 2 is capable of decoding the streaming media.
If the client is capable of decoding the streaming media, the first sending module 103 transmits the streaming media to the client 2.
The first control module 104 controls the client 2 to decode the streaming media and to display the decoded streaming media on the display 12 of the client 2. If the streaming media is a video stream, the client 2 decodes the video stream and displays the decoded video stream on the display 12 of the client 2.
If the client does not have the capability of decoding the streaming media, the obtaining module 105 obtains the streaming media corresponding to the client 2 output on the display 11 of the server 1, and compresses the obtained streaming media to a compressed file. In one embodiment, the display 11 of the server 1 may output more than one streaming media corresponding to each client 2. The second sending module 106 sends the compressed file to the client 2. The second control module 107 controls the client 2 to decompress the compressed file to decompressed files and outputs the streaming media from the decompressed files on the display 12 of the client 2.
In block S30, the receiving module 100 receives a data package from a client 2. The data package includes a decoding capability of streaming media and a decoding type of streaming media.
In block S31, the opening module 101 opens the streaming media to be transmitted, decodes the streaming media, and outputs the decoded streaming media on the display 11 of the server 1.
In block S32, the detection module 102 detects if the client 2 is capable of decoding the streaming media according to the received data package. If the client 2 is capable of decoding the streaming media, block S33 is implemented. If the client 2 is not capable of decoding the streaming media, block S35 is implemented.
In block S33, the first sending module 103 sends the streaming media to the client 2.
In block S34, the first control module 104 controls the client 2 to decode the streaming media, and outputs the decoded streaming media on the display 12 of the client 2.
In block S35, the obtaining module 105 obtains the streaming media corresponding to the client 2 output on the display 11 of the server 1, and compresses the obtained streaming media to a compressed file.
In block S36, the second sending module 106 sends the compressed file to the client 2.
In block S37, the second control module 107 controls the client 2 to decompress the compressed file to decompressed files, and outputs the streaming media from the decompressed file on the display 12 of the client 2.
Although certain inventive embodiments of the present disclosure have been specifically described, the present disclosure is not to be construed as being limited thereto. Various changes or modifications may be made to the present disclosure without departing from the scope and spirit of the present disclosure.
Number | Date | Country | Kind |
---|---|---|---|
100119915 | Jun 2011 | TW | national |