VIDEO PREVIEW CREATION BASED ON ENVIRONMENT
Providing a method for creating and displaying portions of videos called video previews. The video previews may be created using an encoding technique or palette-based optimization technique for the particular user device, application, or network that will display the video preview generated from a portion of the full video. The video previews are configured to play a series of images associated with images from the portion of the full video when the video preview is activated.
1 . A method of creating a video preview, the method comprising:
receiving, at the provider server, a request to generate a video preview of a full video, the request specifying a portion of the full video;
receiving at least the portion of the full video at the provider server;
receiving an identifier specifying a device or an application for displaying the video preview;
determining an encoding technique based on the identifier to generate the video preview, wherein the video preview being of the portion of the full video;
creating, by the provider server, the video preview from the full video based on the determined encoding technique; and
providing, by the provider server, the video preview to a user device.
2 . The method of claim 1 , wherein the encoding technique is dependent on the identification of a type of user device that submitted the request to generate the video preview.
3 . The method of claim 1 , wherein the encoding technique is dependent on the type of application that will display the video preview at the user device.
4 . The method of claim 1 , wherein the encoding technique includes a graphics interchange format (GIF), MP4 container, a H.264 video codec, an advanced audio coding (AAC) audio codec, WebM container, VP8 video codec, or an Ogg Vorbis audio codec.
5 . The method of claim 1 , wherein the video preview is a first video preview generated using a first encoding technique, and the method further comprising:
generating a second video preview using a second encoding technique, wherein the second video preview is generated to allow the user device to share the second video preview through a particular medium; and
providing both the first video preview and second video preview to the user device.
6 . The method of claim 1 , further comprising:
downloading the full video through a plurality of video streams, wherein the plurality of video streams include video content from the full video; and
generating one or more video previews from video content received through the plurality of video streams.
7 . The method of claim 1 , wherein the video preview is a first video preview, the determined encoding technique is a first encoding technique, and the method further comprises:
determining a second encoding technique, wherein the second encoding technique is different than the first encoding technique, and wherein the second encoding technique is used to share the second video preview with a different device or application than the first encoding technique; and
creating a second video preview using a second encoding technique.
8 . The method of claim 1 , wherein the encoding technique includes a palette-based size optimization by generating a common color palette for the video preview and limiting the video preview to the common color palette.
9 . A method of compressing a video file the method comprising:
receiving, at a computer, a request to generate a compressed video file, the request specifying at least a portion of a full video to be used in creating the compressed video file, wherein the specified portion of the full video comprises a plurality of images;
determining, by a computer, a palette-based optimization technique to generate the compressed video file;
analyzing, by a computer, the plurality of images using the palette-based optimization technique to determine at least one common color palette, each to be used to generate multiple compressed images of the compressed video file;
specifying, by a computer, a first multiple compressed images to be generated using a first common color palette; and
creating, by a computer, the compressed video file from the plurality of images of the specified portion of the full video such that the first multiple compressed images are rendered using the first common color palette when the compressed video file is viewed.
10 . The method of claim 9 , further comprising providing, by the provider server, the video preview to a user device.
11 . The method of claim 9 , wherein the common color palette for the video preview is limited to a single frame in the video preview.
12 . The method of claim 9 , wherein the at least one common color palette is generated from one or more images that contain at least a specified file size.
13 . The method of claim 12 , wherein the specified file size is above a threshold.
14 . The method of claim 12 , wherein the specified file size corresponds to a maximum file size when compared with other images in the portion of the full video.
15 . The method of claim 9 , wherein the common color palette is generated from the one or more images that are selected periodically from the video preview.
16 . The method of claim 9 , further comprising:
before creating the compressed video file, analyzing the specified portion of the full video;
determining a plurality of scenes in the specified portion of the full video based on the analysis; and
generating one or more common color palettes for each of the plurality of scenes.
17 . The method of claim 9 , further comprising:
before creating the compressed video file, analyzing the specified portion of the full video;
determining a plurality of scenes in the specified portion of the full video;
determining an image that is representative of each scene; and
generating a common color palette that combines colors from the representative images.
18 . The method of claim 9 , wherein the common color palette comprises a union of colors identified in the analyzed images.
19 . The method of claim 9 , wherein the palette-based optimization technique includes an indexed color technique to manage colors in the frame.
20 . A computer product comprising a non-transitory computer readable medium storing a plurality of instructions that when executed control a computer system to create a video preview, the instructions comprising:
receive a request to generate a video preview of a full video, the request specifying a portion of the full video;
receive at least the portion of the full video;
receive an identifier specifying a device or an application for displaying the video preview;
determine an encoding technique based on the identifier to generate the video preview, wherein the video preview being of the portion of the full video;
create the video preview from the full video based on the determined encoding technique; and
provide the video preview to a user device.