Cloud-based sharable media platform
By automatically combining and editing video clips on a shareable media hosting platform, the complexity and professional skills requirements of video editing in the prior art are solved, and high-quality video narrative generation and sharing are achieved.
Patent Information
- Application Number
- CN202380055082.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-06-13
- Filing Date
- 2023-06-12
- Publication Date
- 2025-03-11
AI Technical Summary
The prior art is difficult to automatically edit and compile videos in real time, and users need to hire professionals or use complex video editing software to create good narrative videos.
By providing a shareable media hosting platform, the user equipment records multiple video clips corresponding to the user's narrative, which the processor combines into a single video stream telling the user's narrative and automatically edits to improve the video quality.
It enables high-quality video narratives to be generated without professional skills, simplifies the video editing process, improves user experience, and allows users to easily share life stories.
Smart Images

Figure CN119604897A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of and priority to U.S. Provisional Patent Application No. 63 / 351,744, entitled “Story Form Social Media Platform,” filed on June 13, 2022, the entire contents of which are incorporated herein by reference. Technical Field
[0003] The present disclosure relates to systems and methods for at least one of creating or sharing a documentary. Background Art
[0004] With the invention of smartphone cameras, many individuals can take photos and videos of their daily experiences. Such photos and videos can be stored in the phone's memory (e.g., in a photo gallery) in chronological order and can be organized into albums by the user. This media can be sent to family and friends as text messages and emails, shared on social media sites, etc. However, each of these photos and videos is a different media that can only be viewed one at a time, and the entire photo gallery may have many unrelated photos or videos that are not relevant to the individual's life.
[0005] There are options that allow users to create home videos using video editing software or tools available via social media applications; however, none of these options automatically edit and compile videos in real time. Creating a well-narrated video using pictures and videos as input (and potentially including stock footage) typically requires the user to hire a professional videographer or gain experience navigating complex homemade video editing software or social media applications.
[0006] Thus, there is a need in the art for systems and methods for generating and sharing media narratives in the form of stories. Summary of the invention
[0007] A method for providing a sharable media hosting platform is described herein. The method includes recording, by a user device, a plurality of video clips corresponding to a narrative of a user. The method also includes storing the plurality of video clips in a memory. The method also includes combining, by a processor and in response to a request from the user device, the plurality of video clips into a single video stream that tells the narrative of the user.
[0008] Any of the foregoing embodiments may further include: storing, by the server, the single video stream; associating, by the server, the single video stream with a specific hyperlink; and generating, by the processor, a quick response (QR) code containing information corresponding to the specific hyperlink associated with the single video stream.
[0009] Any of the foregoing embodiments may also include: detecting image data corresponding to the QR code from the user device or from another user device; decrypting a specific hyperlink from the QR code by the user device or another user device; accessing the Internet location of the specific hyperlink by the user device or another user device; and displaying a single video stream by the user device or another user device in response to accessing the Internet location using the specific hyperlink.
[0010] Any of the foregoing embodiments may further include automatically editing, by the processor, the single video stream to improve the quality of the single video stream.
[0011] In any of the foregoing embodiments, automatically editing a single video stream includes at least one of: reducing a delay between at least two of the plurality of video clips; adjusting at least one of contrast, brightness, or color of at least one of the plurality of video clips; adjusting at least one of volume, compression, or equalization of audio of at least one of the plurality of video clips; transcribing spoken words from at least one of the video clips into text and creating time-synchronized video subtitles based on the text; adjusting the volume of at least one of speech or music of at least one of the plurality of video clips; or adding at least one of a map view or a street view of a location mentioned in at least one of the plurality of video clips.
[0012] In any of the foregoing embodiments, automatically editing the single video stream comprises: identifying an emotion corresponding to at least one of the plurality of video clips; and selecting and inserting music into the single video stream based on the identified emotion.
[0013] In any of the foregoing embodiments, the processor is at least one of a processor of a user device or a processor of a server in communication with the user device.
[0014] Any of the foregoing embodiments may also include: storing, by the server, a profile corresponding to a user of a user device; linking, by the server, the profile with another profile based on a request from the user device or from another user device associated with another profile of another user; and facilitating, by the server, viewing of a single video stream by another user device based on the link between the profile and the other profile.
[0015] Any of the foregoing embodiments may also include: determining that a user is related to another user based on information received from the user device or at least one of the other user devices; determining that a single video stream is only approved for viewing by family members based on information received from the user device; and in response to determining that the user is related to another user, allowing the other user device to view the single video stream by the server.
[0016] Any of the foregoing embodiments may also include: determining, by a processor and in response to user input, a theme of a user's narrative; accessing, by the processor, a list of prompts associated with the determined theme; and outputting, by a user device, prompts associated with the determined theme such that each of the plurality of video clips is recorded in response to one of the prompts.
[0017] Any of the foregoing embodiments may further include: receiving, by the processor, additional media associated with the user's narrative; and combining, by the processor, the additional media with the plurality of video segments such that a single video stream includes the plurality of video segments and the additional media.
[0018] Any of the foregoing embodiments may also include: outputting, by a user device, a list of manual video editing functions that can be used for manual editing of a single video stream; receiving, by the user device, information corresponding to manual editing of the single video stream; and editing, by a processor, the single video stream based on the information corresponding to manual editing of the single video stream.
[0019] A system for providing a shareable media hosting platform is also described. The system includes a user device having a camera configured to capture image data, the user device configured to record a plurality of video clips, each video clip corresponding to a narrative of a user. The system also includes a memory configured to store the plurality of video clips. The system also includes a processor configured to combine the plurality of video clips into a single video stream telling the narrative of the user in response to a request from the user device.
[0020] Any of the foregoing embodiments may further include a server configured to store the single video stream and associate the single video stream with a specific hyperlink, wherein the processor is further configured to generate a QR code containing information corresponding to the specific hyperlink associated with the single video stream.
[0021] In any of the foregoing embodiments, the processor is further configured to automatically edit the single video stream to improve the quality of the single video stream.
[0022] In any of the foregoing embodiments, automatically editing a single video stream includes at least one of: reducing a delay between at least two of the plurality of video clips; adjusting at least one of contrast, brightness, or color of at least one of the plurality of video clips; adjusting at least one of volume, compression, or equalization of audio of at least one of the plurality of video clips; transcribing spoken words from at least one of the video clips into text and creating time-synchronized video subtitles based on the text; adjusting the volume of at least one of speech or music of at least one of the plurality of video clips; or adding at least one of a map view or a street view of a location mentioned in at least one of the plurality of video clips.
[0023] In any of the foregoing embodiments, automatically editing the single video stream comprises: identifying an emotion corresponding to at least one of the plurality of video clips; and selecting and inserting music into the single video stream based on the identified emotion.
[0024] In any of the foregoing embodiments, the processor is further configured to determine a theme of the user's narrative based on user input received by the user device and access a list of prompts associated with the determined theme, and the user device is further configured to output prompts associated with the determined theme such that each of the plurality of video clips is recorded in response to one of the prompts.
[0025] A method for providing a sharable media hosting platform is also disclosed. The method includes outputting, by a user device, a plurality of prompts, each prompt being associated with a selected topic. The method also includes recording, by the user device, a plurality of video clips corresponding to a narrative of the user, each of the plurality of video clips being provided in response to one of the plurality of prompts. The method also includes storing the plurality of video clips in a memory. The method also includes combining, by a processor and in response to a request from the user device, the plurality of video clips into a single video stream that narrates the narrative of the user. The method also includes automatically editing, by the processor, the single video stream to improve the quality of the single video stream. The automatic editing includes at least one of: reducing a delay between at least two of the plurality of video clips; adjusting at least one of contrast, brightness, or color of at least one of the plurality of video clips; adjusting at least one of volume, compression, or equalization of audio of at least one of the plurality of video clips; transcribing spoken words from at least one of the video clips into text and creating time-synchronized video subtitles based on the text; adjusting the volume of at least one of speech or music of at least one of the plurality of video clips; or adding at least one of a map view or a street view of a location mentioned in at least one of the plurality of video clips.
[0026] Any of the foregoing embodiments may also include: outputting, by a user device, a list of manual video editing functions that can be used for manual editing of a single video stream; receiving, by the user device, information corresponding to manual editing of the single video stream; and editing, by a processor, the single video stream based on the information corresponding to manual editing of the single video stream. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] Other systems, methods, features, and advantages of the present disclosure will be or will become apparent to one of ordinary skill in the art upon examination of the following drawings and detailed description. All such additional systems, methods, features, and advantages are intended to be included in this specification, be within the scope of the present disclosure, and be protected by the accompanying claims. The components shown in the drawings are not necessarily to scale and may be enlarged to better illustrate important features of the present disclosure. In the drawings, the same reference numerals represent the same parts in different views, and in the drawings:
[0028] Figure 1 is a block diagram of a system for providing a shareable video hosting platform according to some embodiments of the present disclosure;
[0029] Figure 2 is an example of a method for using some embodiments of the present disclosure Figure 1 A block diagram of features of an exemplary electronic device that is part of a system;
[0030] Figure 3 is an example of some embodiments of the present disclosure. Figure 1 A block diagram of the functions provided by the server of the system;
[0031] Figure 4 is an example of some embodiments of the present disclosure. Figure 1 A block diagram of functions related to automatic video editing provided by a server of the system;
[0032] Figure 5 is an example of some embodiments according to the present disclosure Figure 1 A functional block diagram of a user equipment of a system; and
[0033] Fig. 6A , Figure 6B and Figure 6C is a flow chart illustrating an exemplary method for providing and using a shareable video hosting platform according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0034] The present disclosure describes systems and methods for providing a novel shareable video hosting platform (which may include features of a social media platform) that allows users to transmit and share life information and other events (e.g., related to pregnancy, autobiography, grandfather's message to future grandchildren, etc.). The systems and methods provide automatic video editing capabilities so that no professional videographer or video editing skills are required to generate high-quality videos. By utilizing the automatic editing video capture package of the present disclosure along with built-in guidance prompts as part of the shareable video hosting platform, users of the present disclosure can easily create professional-grade videos that can be shared on the shareable video hosting platform, separate social media platforms, the Internet, decentralized networks, virtual reality applications, etc.
[0035] To begin the process, a user may select a topic associated with a particular story they want to tell (e.g., a topic may correspond to or include a pregnancy, a story about how a family business originated, a story about a family immigrating to a new country, etc.), and the platform may generate or retrieve a specific list of questions associated with the topic. The user may answer the questions with video, still images, audio, text, etc., and the platform may store the answers. After the user has answered all the questions, the platform may compile all the answers into a video format. This compilation may be performed automatically without user feedback; however, the user may also edit the compiled video to incorporate his or her preferences. The platform may provide certain video, image, and audio processing capabilities to allow the user to edit the compiled video.
[0036] After the video is compiled and edited, the platform can generate a unique quick response (QR) code linked to the video, which operates similar to a barcode to identify the video or the storage location of the video. The user can share the QR code to allow others (e.g., family or friends) to quickly access and view the video. The unique QR associated with the video can be placed on a tombstone, a program (e.g., a brochure or software), a business card, an advertisement, etc. After (or before) the video is compiled, the user can come back at any time to answer more questions, or answer the questions more thoroughly. The user can add more content (i.e., video, still images, audio, text, etc.) at any point in time, and the video can be recompiled (and / or re-edited) to incorporate new answers and content.
[0037] The systems and methods disclosed herein provide advantages over conventional social media platforms. For example, the shareable video hosting platform disclosed herein provides a collection of media that tells an entire story, which is not possible with conventional social media platforms. This advantageously allows a comprehensive story to be told in a single media file. In addition, the platform can automatically compile and edit various media into a single video, thereby providing high-quality video output from one media stream to the next. This automatic editing advantageously allows users to present polished stories even if they have no media editing experience. Users can even select from a preset list of compilation features so that the platform edits stories based on user preferences (e.g., background music, colors, photo collage patterns, etc.).
[0038] The platform advantageously provides a mechanism that enables family stories to continue long after the death of any storyteller, so that family legends do not disappear after the death of an individual. This provides the benefit of enhancing and strengthening family ties. The platform can also provide video editing capabilities to allow users to customize their videos according to his or her specific preferences. The platform allows users to specify their relatives (e.g., individuals can tag and link family members such as parents, children, nieces and nephews) to create a fully linked family tree, thereby allowing family members to share their stories with the entire family. The ability to share compiled video stories using only QR codes advantageously allows users to quickly share his or her stories without requiring the recipient to click on the user's profile or write down a long uniform resource locator (URL).
[0039] refer to Figure 1 , features of the present disclosure can be implemented using a system 100 that includes a network of electronic devices. For example, the system 100 may include a server 102 that hosts a shareable video hosting platform. The server 102 may include any one or more computing servers (e.g., a distributed server system with separate discrete parts connected via a network), and may include a controller and a memory. The controller may include any controller, processor, or other discrete logic device. The controller is capable of performing specific actions on given data. The server 102 may also include a non-transient local memory that stores information (e.g., information available to the controller). The stored information can be used by the controller to perform various functions. The local memory can also store data requested by the controller. The server 102 may also include a network access device (e.g., a communication port, such as a Wi-Fi port, a Bluetooth port, an Ethernet port, a fiber optic port, or any other communication port).
[0040] The system 100 may also include a database 104 coupled to the server 102. The database 104 may include one or more non-transitory memory devices (e.g., a hard drive) and may receive, store, and transmit information. For example, the server 102 may generate video or other data, may request that the data be stored in the database 104, and may be able to retrieve or otherwise access the stored data from the database 104.
[0041] The system 100 may also include a plurality of user devices 106. The user device 106 may include any computing device, such as a laptop, a desktop computer, a mobile phone, a tablet computer, or any other device. The user devices 106 may each include a controller capable of performing logical functions and a non-transient local memory capable of storing instructions that can be used by the controller and additional information (e.g., account information associated with the user of the device). The user device 106 may also include one or more input devices (e.g., keyboard, mouse, camera, microphone, touch screen, input / output port (such as a universal serial bus (USB) port), etc.) and one or more output devices (e.g., display, speaker, touch screen, input / output port, etc.). The user device 106 may also include a network access device (e.g., a communication port, such as a Wi-Fi port, a Bluetooth port, an Ethernet port, a fiber optic port, or any other communication port). In this regard, the user device may communicate with the server 102 via the network access device of the user device 106 and the network access device of the server 102.
[0042] In some embodiments, each user device 106 may correspond to a separate user. In some embodiments, two or more user devices 106 may each correspond to a single user. In some embodiments, two or more users may use a single user device 106 to access the platform. In this regard, as long as the user's account is verified by the server 102, the user may use the user device 106 to access the platform hosted by the server 102. In some embodiments, the server 102 may require three-factor authentication to authenticate a specific user. In some embodiments, a user without an account may use the user device 106 to access the platform, but may access less functionality than a complete user. For example, if a non-user has a specific uniform resource locator (URL) associated with a saved video or a QR code associated with a saved video, the non-user may view a video hosted by the platform and saved by the server 102.
[0043] The system 100 may also include or be coupled to one or more social media servers 108. The social media servers 108 may be associated with or separate from the servers 102. The social media servers 108 may host, for example, social media accounts of various users. The servers 102 (and potentially the user devices 106) may communicate with the social media servers 108 to access information stored on the servers 108. For example, the social media accounts hosted by the social media servers 108 may include accounts associated with a social media platform that is separate from the platform hosted by the servers 102, such as wait.
[0044] The system 100 may also include or be coupled to one or more third-party servers 110. For example, the third-party servers 110 may include artificial intelligence tools, machine learning tools, cloud-based storage or functionality, or any other functionality provided by an entity separate from the operator of the server 102. For example, the platform may provide certain artificial intelligence-based features; in this example, the server 102 may access the artificial intelligence functionality via communication with the third-party servers 110. As another example, the third-party servers 110 may assist with functionality related to third-party authentication. As yet another example, the third-party servers 110 may correspond to cloud-based data storage (e.g., photo storage), and the server 102 may access the third-party servers 102 to retrieve media to add to the video (e.g., as B-roll material). B-roll material may include any media that is not primary media that can be added to a video created using the platform; for example, a video recorded in response to a prompt for a particular subject may be considered primary media, and any additional media (e.g., pictures stored in a social media account) may be added to the video as secondary or B-roll material.
[0045] refer to Figure 1 and Figure 2 , an exemplary device 150 is shown. Any one or more of the server 102, the database 104, one or more user devices 106, the social media server 108, the third-party server 110, or any additional or alternative hardware devices may include some or all of the features of the exemplary device 150. The device 150 may include, for example, Figure 2 Greater or fewer components than shown may include duplicates of some components (eg, device 150 may be a dual-processor device), etc.
[0046] Device 150 may include a controller or processor 152. Processor 152 may include any controller or processor capable of performing logical functions. For example, processor 152 may include an application specific integrated circuit (ASIC), a general purpose processor, a field programmable gate array (FPGA), any combination of discrete logic devices that perform logical functions, etc. In some embodiments, processor 152 may also include a memory (e.g., a cache memory, RAM, etc.) that stores instructions that can be used by processor 152 to perform logical functions. Processor 152 may be housed within device 150, may include remote functionality (e.g., by providing cloud-based processing), or any combination thereof.
[0047] Device 150 may also include memory 154. Memory 154 may include any non-transitory memory, such as random access memory (RAM), dynamic random access memory (DRAM), read-only memory (ROM), or any other type of memory. Memory 154 may be housed within device 150, may include remote memory (e.g., cloud-based storage or an external database), may be external to device 150 (e.g., an external hard drive), or any combination thereof. Memory may store information that processor 152 may use to perform logical functions, may store information requested by processor 152 for later retrieval, etc.
[0048] Device 150 may also include input device 156. Input device 156 may include any one or more input devices, such as a mouse, keyboard, touch screen, microphone, etc. Input device 156 may receive input from a user and convert the input into digital signals usable by processor 152.
[0049] Device 150 may also include output device 158. Output device 158 may include any one or more output devices, such as a display, a touch screen, a printer, a speaker, etc. Output device 158 may receive digital signals from processor 152 and may convert the digital signals into a format that can be interpreted by a user (e.g., text or images on a screen, audio data, etc.).
[0050] Device 150 may also include a network access device 160. Network access device 160 may include one or more devices capable of communicating with external elements via any wired or wireless protocol. For example, network access device 160 may be or may include a network card or adapter and ports that facilitate communication via one or more protocols, such as Ethernet, Wi-Fi, Universal Serial Bus (USB), cellular protocol (e.g., 5G), etc. In this regard, the network access device 160 can communicate with the processor 152, can send information from the processor 152 to the remote device according to the request of the processor 152, and can send information from the remote device to the processor 152. The network access device 160 can communicate with the remote device (e.g., can communicate with a remote server via the Internet), can communicate with the local device (e.g., can communicate with a local printer), etc. In this regard, the server 102 and the user device 106 can communicate with each other via the corresponding network access device 160 and an external communication device (e.g., an Ethernet cable, a Wi-Fi router, a 5G router, etc.).
[0051] The device 150 may also include a power supply 162. The power supply 162 is designed to provide power to the device 150, thereby providing power to the components of the device 150 to allow them to operate. The power supply 162 may include any power source, such as a cable and transformer, which is designed to receive alternating current (AC) power from a wall socket, a battery, a supercapacitor, or any alternative or additional power source.
[0052] The device 150 may also include a connection or bus 164. The connection or bus 164 may be connected to some or all of the components of the device 150 and may transmit at least one of a power signal or a data signal between the components of the SCO device. For example, power from the power supply 162 may be transmitted to various components via the connection or bus 164, the processor may control the output device 158 by placing instructions on the connection or bus 164, and so on. In some embodiments, a single bus may transmit power and data signals, and in some embodiments, the connection or bus 164 may include two or more separate buses that separately transmit power and data signals.
[0053] Reference now Figure 1 and Figure 3, the server 102 may be designed to perform various functions 200-226. Functions 200-226 may be performed by dedicated hardware, software, firmware, or any combination of dedicated hardware, software, or firmware. For example, the server 102 may include a general-purpose processor whose operation is designed to implement software for each of functions 200 and 226. As another example, the server 102 may include dedicated processing units, each of which is designed to perform one or more of functions 200-226. In some embodiments, the server 102 may be designed to implement one or more of functions 200-226 by accessing a third-party server 110. For example, the server 102 may send recorded data to a machine learning server capable of performing artificial intelligence (AI) functions, and may receive back processed data such that communication with the third-party server 110 may be considered to be a machine learning function 226. In some embodiments, the server 102 may perform functions other than Figure 4 Additional functions beyond those shown.
[0054] In some embodiments, the shareable video hosting platform may have certain features that are available only to registered users. The user account function 200 may handle user registration, may keep a record of registered users, and may delete user information after membership is no longer desired. A user may register by providing certain information such as name, contact information, and payment information to the server 102. Once the user provides the information, the server 102 may generate a username or other identifier for the user, and the server 102 may assign or the user may select a password to be associated with the username. In future communications with the server 102, the user may prove registration by providing the username and password to the server 102.
[0055] In some embodiments of the shareable video hosting platform, some features may only be available to registered users with a specific subscription to the shareable video hosting platform. One or more subscriptions may have a one-time or periodic fee associated with the subscription. In this regard, the subscription function 202 can handle subscriptions related to the shareable video hosting platform. For example, the subscription function 202 can collect payment for the subscription and can keep a record of which registered users have also subscribed to one or more subscription plans. The subscription function 202 can also keep a record of which subscription plan each registered user has subscribed to. Certain features of the platform may only be available to users of a certain paid subscription level, and the server can limit the use of these features to users with these subscriptions. Users can also sign up for automatic renewal of subscription plans, and the function 202 can handle periodic billing based on subscription plans and automatic renewal. When a user no longer wants to subscribe, the subscription function 202 can remove the subscription from the associated user account. If a user attempts to perform a specific function of the shareable video hosting platform, the subscription function can notify other functions of the server 102 which subscription level (if any) the user account has purchased.
[0056] A user using their user device 106 can go to a web page on the platform to view their current subscription level. The page also lists alternative subscription types and features along with the subscription, and allows the user to select a new subscription level. The user can also use this page to pay for their new or upgraded subscription, and can set up automatic payment or automatic renewal for their subscription (e.g., using a credit card or bank account information). The user can also cancel their subscription on this page. The subscription page can also include the user's preferences, and allow the user to change their preferences. For example, the user may want only family members to view their videos; the user can indicate this preference, and the server 102 can limit the user's video viewing to family members only.
[0057] The shareable video hosting platform can help registered users create media (e.g., video recordings) for any of a number of topics. In this regard, the topic / prompt function 204 may provide specific functions related to various topics. For example, the topics may include "legacy", "autobiography", "engagement", "pregnancy", "life story", "recovery", etc. After selecting a topic, the function 204 may provide the user with a plurality of prompts related to the selected topic, so that the user can record a video answer to a particular prompt. For example, if the engagement topic is selected, the function 204 may provide the user with prompts such as "How long did you date before you got engaged", "Where did the engagement take place", "Show your engagement ring", etc. The topic / prompt function 204 may store an ordered set of prompts for each topic, so that the server 102 transmits the associated prompts to the user device 106 after selecting a particular topic.
[0058] After a user has created a video using a shareable video hosting platform (i.e., a publishing user), the video can be hosted by the server 102 and can be used to be viewed by other users and potential non-users. The hosting user can set certain permissions on who can view the published video. The shared permissions function 206 can store data about at least one of a specific user or user type that can view the published video. For example, the publishing user can set rules that any registered member can view the video. As another example, the publishing user can set rules that only individuals with at least one of a quick response (QR) code linked to the video or a website uniform resource locator (URL) linked to the video can view the video. In this regard, the URL can be used as a hyperlink or link to the generated video. As yet another example, the publishing user can set rules that any individual who has a relationship with the publishing user can view the published video. Which rules apply to which registered users can be determined by the shared permissions function 206.
[0059] After the user has recorded responses to the prompts and provided any additional media (e.g., a B-roll from the memory of the user device 106), various options for automatically editing the video may be available. The automatic video editing function 208 may perform functions related to the automatic editing. Additional details about automatic editing will be discussed below.
[0060] In some embodiments, the user may also wish to perform some manual editing, as a supplement or alternative to automatic editing. In this regard, the server 102 can provide some or all of the manual editing in the manual editing function 210. For example, these manual editing tools can include removing the part of the video, adjusting the length of the video, adjusting the order of the various clips of the video, adjusting the theme or emotion of at least a part of the video, editing the subtitles associated with the specific part of the video, making the server 102 use the automatic video editing function 208 to re-edit the video, etc. In some embodiments, some or all of these tools can be performed by the software or hardware on the user device 106. In some embodiments, some or all of these functions can be performed by the server 102. For example, when selecting the manual editing on the user device 106, the server 102 can make the user device 106 output the option for manual editing. Although the user selects the manual editing tool on the user device 106, the actual editing can be performed by the server 102 (and in some embodiments, can be performed by the user device 106).
[0061] The server 102 may also include an input / output function 212. The input / output function 212 may handle communications between the server 102 and various external devices (e.g., user devices 106, social media servers 108, third-party servers 110, etc.). For example, the input / output function 212 may package and send any data to be processed by the third-party server 110, and may receive processing results from the third-party server 110. As another example, the input / output function 212 may handle communications between various user devices 106 and the server 102, such as receiving login information, streaming selected videos to one or more user devices 106, etc. As yet another example, the input / output function 212 may also send login information associated with a third-party social media website to the social media server 108, and receive information in return that verifies the user account based on the login information. The input / output function 212 may also manage communications between the server 102 and the database 104 to ensure proper storage of data by the database 104 and proper retrieval of data from the database 104.
[0062] The server 102 may also execute a video storage function 214. The videos stored by the function 214 may include fully edited published videos, compiled but unedited videos, video clips that will be compiled into a complete video later (e.g., in response to a prompt or B-roll video or other media). The video storage function 214 may also store other types of media, such as music to be added to the video, pictures to be used as B-roll, etc. In some embodiments, the video storage function 214 may compress and decompress the media stored by the database 104. The video storage function 214 may also determine which user account (e.g., registered user) is associated with each stored video, which link is associated with each video, which QR code is associated with each video, etc.
[0063] The server 102 may also perform a video streaming function 216. The video streaming function 216 may compile any segments of a video together to facilitate streaming of the entire video. The video streaming function 216 may also perform certain compression and decompression algorithms to facilitate relatively fast uploading, downloading, and streaming of the video, and may perform any additional or alternative processes related to video streaming.
[0064] Certain user accounts may be associated with a host account or an administrator account, and the server 102 may be designed to provide a host / management function 218. For example, function 218 may determine which registered users are associated with a host or administrator account, and may facilitate operations that may be performed by a host or administrator. For example, a host may view all content shared on a shareable video hosting platform, regardless of the sharing permissions associated with the video. The host may also receive an indication of any video that has been reported by other users (e.g., for inappropriate behavior), as well as the name of the user who reported the content, the reason for reporting the content, and information associated with the account that posted or shared the content. The host may also prohibit sharing of any content or remove content from the platform on a case-by-case basis based on his / her analysis of the video and whether it violates any rules of the shareable video hosting platform. The host may also report accounts associated with prohibited / deleted content for further action on the account.
[0065] Administrators can perform some functions of moderators, some different functions, etc. For example, administrators can view basic account information of users, such as name, email address, subscription status, payment status, age of account, number of videos created, shared or reported, etc. Administrators can also search for users by name (e.g., real name or username) or by email address. Administrators can also view the accounts of users reported by moderators, and can filter the user list according to the reported status and whether the user's account is enabled or disabled. Administrators can also filter the user list by subscription status (e.g., subscribed, unsubscribed, canceled) and view only reported users. Administrators can also have the ability to enable or disable user accounts, such as based on the moderator's report and the administrator's determination of whether the platform rules are violated. If the administrator has disabled the user account, the user will no longer be able to access their account or its content, including any videos they have created or shared, and the videos created and posted by the user will no longer be able to be viewed by users or viewers of the platform. Administrators can also create, remove and disable moderator accounts, such as to allow new users to become moderators. Moderators can also manage preset decks of prompts and associated topics that can be selected by users. They can also add new decks of prompts or questions, and add, remove or edit prompts or questions in existing decks. In some embodiments, the administrator can also perform any function assigned to the host.
[0066] After the user has created and published a video, the server 102 can identify or generate a link corresponding to the URL at which the video can be viewed. For example, the URL can be related to the user name of the publishing user or the real name of the publishing user. In addition, the server 102 can generate a QR code associated with a specific user or a specific video. In this regard, the QR code generation function 220 can generate or identify a link, and can generate a unique QR code associated with the video. Function 220 can also generate or identify the URL. Function 220 can store information linking the URL and the QR code to a specific video or content. In this regard, in response to the user device 106 scanning the QR code, function 220 can identify the location of the associated video, and can work with the video streaming function 216 to allow the user device 106 to stream the associated video.
[0067] In some embodiments, users of the shareable video hosting platform can communicate with each other in a manner similar to social media sites (e.g., by commenting on other users' posts, by direct messaging between users, by group messaging between identified users, etc.). These types of communications can be facilitated by social interaction / commenting functionality 222. For example, if a user comments on a video, functionality 222 can cause a particular comment to be associated with the video and appear when others view the video (based on rules set by the posting user).
[0068] In some embodiments, the server 102 may assist the user in determining relationships (such as family trees) between users (or may store data related thereto). In this regard, the relationship / family tree functionality 224 may assign relationships between users based on received user input (e.g., if a user identifies another user as an uncle or brother), and may store information related to the relationships. In some embodiments, functionality 224 may also automatically determine relationships between users, for example, based on existing known relationships. For example, if the server 102 is notified that user A is the brother of user B, and is notified that users C and D are the parents of user B, functionality 224 may automatically determine that users C and D are also the parents of user A.
[0069] In some embodiments, server 102 is capable of performing artificial intelligence or machine learning functions, which may be performed by machine learning functions 226. For example, server 102 may be trained to recognize speech patterns based on a plurality of training data, and may use the learned functions to transcribe speech data into text. As another example, server 102 may be trained to recognize objects in images, and may use the learned functions to recognize specific objects in image or video data (e.g., if a user wants server 102 to recognize and label any soccer balls in a generated video).
[0070] Reference now Figure 1, Figure 3 and Figure 4 , the server 102 may be designed to perform certain functions 300-318 as part of the automatic video editing function 208. In some embodiments, the server 102 may be programmed with target values for certain features of the video (e.g., a desired ratio of speaker volume to background volume or a desired color temperature for a recognized emotion or mood). In some embodiments, the server 102 may utilize a machine learning algorithm to determine optimal values for certain features of the video. For example, the server 102 may be trained with professional videos to determine the preferred color temperature for a recognized emotion, and machine learning may be used to determine the recognized emotion and the target color temperature for the emotion.
[0071] In some embodiments, the server 102 may perform an automatic contrast / brightness / color function 300. Using this function, the server 102 may automatically adjust at least one of the contrast, brightness, saturation, or color temperature of a video or a particular segment of a video. For example, the server 102 may adjust the contrast, brightness, and / or color to reduce variations between multiple video segments, to achieve a particular mood based on a selected theme or identified content (e.g., making the colors darker when a speaker discusses death), etc.
[0072] The server 102 may also perform a volume / compression / equalization adjustment function 302. For example, the function 302 may automatically adjust the audio track of the recorded or uploaded video to normalize the volume level from one clip to another in the compiled video. The function 302 may also automatically apply compression or equalization to the audio to enhance the clarity of spoken voices and reduce or minimize background noise in the recorded video.
[0073] The server 102 may also implement a shorten silence / pause function 304. Using this function 304, the server 102 is able to detect silences and pauses in a recorded video track and automatically reduce or remove these silences or pauses. For example, the server 102 may be trained to know that silences longer than 2 seconds are undesirable and shorten any longer silences to 2 seconds or less.
[0074] The server 102 may also perform a transcribe video content function 306. Using this function 306, the server 102 may identify spoken words in a video or in a video clip and generate text associated with the spoken words. In this regard, the server 102 may automatically generate closed captions for any video to allow a person with a hearing disability to understand what is being said in any video clip.
[0075] Related to function 306, server 102 can also use create time synchronization video subtitle function 308 to create time synchronization video subtitle of video.Except identifying spoken words and generating text corresponding to spoken words, function 308 can also determine when to say each word, and can make text covered by video at the timing corresponding to the said version of word.In some embodiments, function 308 can make when the first word of text is said, the block of relevant text is output immediately.In some embodiments, function 308 can make when saying word, each word in output text.In some embodiments, user can identify its preference about how and when to display text, and server 102 can make display text based on user preference.
[0076] The server 102 can perform sentiment analysis using the perform sentiment analysis function 310. For example, for each segment of the video, the server 102 can identify the sentiment associated with the segment of the video. For example, the server 102 can perform the analysis by analyzing the transcribed text associated with the speech. The server 102 can divide the video into segments based on separate segments provided by the user, based on when the sentiment changes, etc. In this regard, the server 102 can determine the specific sentiment of each video segment. For example, sentiment can include happiness, joy, cheerfulness, sadness, desire, pride, etc.
[0077] The server 102 can use the emotion-based add music function 312 to add music to the video clip based on the identified emotion. For example, the server 102 can access a royalty-free music library and can be provided with or can determine the emotion of each track in the music library. The server 102 can select separate music for each video clip based on the identified emotion and can cause the music to play with the video clip. In some embodiments, if the user indicates that he or she does not like the selected music, the user can change the determination of the emotion of the clip, can simply request to select a new track, or can indicate a specific track desired for the clip.
[0078] The server 102 may also adjust the volume of the music and recorded audio using the adjust music / recorded audio volume function 314. This may be performed in a similar manner as the adjust volume / compression / equalization function 302. For example, the server 102 may automatically adjust at least one of the music volume or the recorded audio volume to ensure that the spoken voice can be clearly heard and is no quieter than any simultaneous music playing. Function 314 may operate in conjunction with function 302 to ensure that the spoken words are loud and clear and that the music does not overpower the spoken words.
[0079] The server 102 may also be designed to combine B-roll media with main media using the combine B-roll with main media function 316. Main media may be considered to be a video recorded by a user in response to a particular prompt (e.g., a video of a user answering the question "What did you feel when you first saw your son?"). For example, a user may provide multiple B-roll materials (e.g., videos, pictures, audio tracks, etc.). In some embodiments, a user may determine where to add the B-roll materials. In some embodiments, a user may identify the sentiment of the B-roll materials, and the server 102 may automatically select the location of the B-roll media. In some embodiments, the server 102 may automatically determine the sentiment of the B-roll media and determine the placement of the B-roll materials. In some embodiments, the server 102 may determine the placement of the B-roll materials based on additional factors such as individuals identified within the B-roll materials (e.g., showing a picture of a baby after a speaker mentions a baby in the audio data), based on objects identified in the B-roll materials (e.g., showing an autographed baseball when mentioned in the audio data), etc.
[0080] The server 102 can also use the add location map / street view function 318 to add a map view or street view of the location discussed in the video. For example, the server 102 can analyze the transcribed words to determine whether any location has been mentioned (e.g., the Statue of Liberty or the intersection of Pacific Coast Highway and Beach Boulevard in Huntington Beach). The server 102 can then obtain an image of a map view of a specific location, an image of a street view of a specific location, or a royalty-free public image of a specific location. The server 102 can then overlay the map / street view with the video, or can show the map / street view in a portion of the video (e.g., in the lower right corner as a picture-in-picture view).
[0081] Now turn to Figure 1 and Figure 5 , the user device 106 may also be designed to perform certain functions. For example, these functions may be performed using the hardware of the user device, using software installed on the user device 106 (e.g., downloaded software associated with the shareable video hosting platform), or by accessing certain functions on a server (in a manner similar to accessing software as a service).
[0082] These functions may include user interface functions 400. User interface functions 400 may provide users with the ability to interact with the shareable video hosting platform. For example, a user may use functions 400 to view posted videos, may use functions 400 to make selections within the platform (e.g., choose to create a new video with a particular theme), etc. User interface functions 400 may be implemented using any one or more input or output devices (e.g., a touch screen, a speaker, a mouse, a keyboard, a display, etc.). The user interface may be designed by an operator of the shareable video hosting platform and may be included in a downloadable version of software associated with the shareable video hosting platform, or may be accessed when a user accesses the platform on server 102.
[0083] The user device 106 may also include a video editing tool function 402. The video editing function 402 may provide various tools that a user may use to manually adjust the recorded video. The user may use function 402 to make changes to the video before, after, or at any other time automatically processed by the server 102. The user may also choose not to perform any manual editing other than the automatic editing performed by the server 102. The video editing tools provided by function 402 may include the ability to adjust the theme or emotion of the video. For example, the user may use a slider, dial, button, knob, etc. to select a theme and / or emotion from a list of available options. By adjusting the emotion of the video or video clip, the server 102 may change the selected music or editing style of the edited video according to the selected option. The manual editing tools may also include an option to adjust the length of the edited video. For example, if the server 102 automatically edits the video into a one-hour long video, the user may select a shorter or longer duration so that the server 102 includes more or less of the recorded video and / or B-roll media. The user may also be able to remove portions or segments of the edited video; for example, if the user does not like the addition of certain B-roll material, the user may remove the material. The user can also select a prompt to be removed so that the prompt and its response are not included in the edited video. The user can also request the server 102 to re-edit the video. For example, the user can make this request after indicating certain segments to be removed so that the video can be recompiled and edited without the indicated segments. As another example, the user can change the emotion of a particular segment and have the server re-edit the segment to select new music. The user can also edit the subtitles of the video using the user device 106. For example, if the server 102 transcribes the speech incorrectly, the user can use the user device 106 to correct the transcribed speech. The user can also use the user device 106 to accept or approve the edited video. By accepting the edited video, the shareable video hosting platform can proceed to the sharing process of sharing the video (and generating a link and QR code).
[0084] The user device 106 may also perform a video recording function 404. This function may cause the camera and microphone of the user device 106 to detect image and audio data, and cause the memory of the user device 106 to store the recorded image and audio data (or cause the image and audio data to be sent to a server for storage).
[0085] The user device 106 may also store user account information associated with the user using the user account information function 406. For example, the user may request that the user device 106 store user login and password information so that the user does not need to type them in each time he / she logs into the shareable video hosting platform. The user device 106 may also store information such as the type of membership the user has, family tree or relationship information, etc.
[0086] The user device 106 may also have a saved video / photo / audio function 408. This function 408 allows the user device to access videos, photos, and audio that have been recorded using the user device 106 (or otherwise sent to the user device). This function 408 also facilitates sending the stored media to the server 102 for use in compiling a video. Function 408 may also save a local copy of a video created by the user or created by other users and shared with the user.
[0087] The user device 106 may also perform input / output functions 410. The input / output functions 410 may handle communications between the user device 106 and various additional devices (e.g., the server 102, the social media server 108, the third-party server 110, etc.). For example, the input / output functions 410 may package and send any data to be processed by the server 102 (e.g., media to be used as B-rolls, master media, login and password information, etc.), and may receive data from the server 102 (e.g., edited videos, videos posted by other users, etc.). As another example, the input / output functions 410 may also send login information associated with a third-party social media website to the social media server 108, and receive information in return that verifies the user's account based on the login information.
[0088] The user device 106 may also execute a video playback function 412. Function 412 may allow the user device 106 to output any video or other media (e.g., audio or pictures) stored on the user device 106 to an output device of the user device 106. Function 412 may also allow the user device 106 to output a video streamed to the user device 106 by the server 102. The video playback function 412 may facilitate playback-related features such as start, stop, pause, jump, fast forward, rewind, etc.
[0089] Reference now FIG. 6A to FIG. 6C, an exemplary method 500 is shown. The method 500 may be used to provide a shareable video hosting platform for implementing the features disclosed herein. Each block of the method 500 may be performed sequentially, out of order, simultaneously, or in any other manner. In addition, some instances of the method 500 may skip certain blocks, may add certain blocks, may repeat certain blocks multiple times, and so on. The method 500 may be performed using a method similar to Figure 1 The system 100 of the present invention and the system discussed herein, or any other system including two or more electronic devices (e.g., a user device and a server) is implemented. In some embodiments, any block of the method 500 executed by the server may also or alternatively be executed by the user device, and any block executed by the user device may also or alternatively be executed by the server.
[0090] In block 502, a user may create an account with a shareable video hosting platform. The platform may be hosted on a server or a group of servers (e.g., Figure 1 The user may create an account using a user device (e.g., a smartphone, laptop, tablet, etc.), and during account creation, the user may provide information to the shareable video hosting platform, such as the name, occupation, status, etc. of a family member. For example, the user may download a mobile application (e.g., an application) on his user device or may access a web-based interface with the platform, and the application or interface may provide the user with an option to create a new account. The user may select the new account option, and the application or interface may cause fillable fields (e.g., a name field, an occupation field, etc.) to be created on a screen of the user device.
[0091] After creating an account, the user can log into the shareable video hosting platform using a username (e.g., an email address) and a password set when setting up the account. The user can also use the platform to reset or change his password at any time. In some embodiments, two-factor authentication may be required before the user can log in. For example, the user may be asked to provide a username and password, and may also be asked to enter a separate string that is sent to an account provided by the user (e.g., an email or smartphone).
[0092] Users can provide pre-recorded media, such as pictures, videos, audio, text, etc., to the shareable video hosting platform, making the media available for use on the platform in a manner associated with the newly created account. Users can also share their content on separate social media platforms (e.g., on platforms such as or or The server can utilize all of the received information and information associated with the account on the other platform and can create an account for the user. In some embodiments, the user can create an account for the user by providing only a separate social media platform (e.g. ) identifier and password to create a new account, and the shareable video hosting platform can obtain all the information required for account setup from the separate social media platform. The newly created account can be associated with the new user's family members and friends, and other users can be allowed to view information associated with the account. In some embodiments, users can also post and upload additional media (e.g., pictures, videos, audio, text, check-ins, etc.).
[0093] In some embodiments, different subscription levels can be used to purchase from the platform. For example, creating an account under a free subscription can be free, and the free subscription can provide access to some basic features of the platform. Additional levels of paid subscriptions can be used for purchase (e.g., with a one-time payment or regular payments), and each paid subscription level can provide a greater number (or greater quality) of features. For example, a free subscription can allow a user to create a video of a specific theme, but cannot provide access to automatic video editing, while a first paid subscription level can provide access to basic automatic video editing (e.g., shortening silences and pauses, and combining uploaded B rolls with recorded video responses), and a second paid subscription level can provide access to advanced video editing (e.g., emotional analysis and music addition based on determined emotions). A user can select a subscription level when creating an account with the platform for the first time, and can upgrade or downgrade the subscription level at a time after the initial account creation.
[0094] In block 504, the user may select (via the user device) a theme or template for the story they wish to create. For example, the platform may list multiple themes, and the user may select from the list. As another example, the user may speak or type the name of a theme, and the server may select the most appropriate theme and ask the user to confirm that the selected theme is correct. For example, the user may say "I have a baby," and the platform may determine that the user has selected a theme such as pregnancy and identify the theme as the selected theme. The theme may be associated with a specific life event (e.g., engagement, pregnancy, messages to previous or next generations, recovery, etc.), or may be a general theme (e.g., autobiography or general story). In some embodiments, the user may generate a story without selecting a specific theme. Each theme may include associated materials, such as a list of questions or prompts related to the theme. In some embodiments, the platform may add certain features to the video based on the selected theme (e.g., the style of music, the color of text, generic B-roll materials such as royalty-free images, etc.). The user is able to review the prompts associated with each theme before selecting a theme. The user is also able to search for themes by keyword (e.g., the user may search for "pregnancy" to find pregnancy themes or childbirth themes). Users can also search for topics by searching for a specific prompt; for example, a user can type a question (e.g., "What do you think of your children") and the server can provide a list of all topics that include that prompt or similar prompts.
[0095] In some embodiments, the user may also select the overall emotion or atmosphere of the story narrative. For example, if the story narrative is centered on the death of a family member, the atmosphere may be a sad atmosphere, while a story centered on the birth of a child may have a happy atmosphere. If the user selects the atmosphere of the story narrative, the server may include this selection when automatically editing the story narrative. For example, for a sad atmosphere, the server may use dark characters for the transcribed speech and may darken the video, while for a happy atmosphere, the server may add random happy characters (e.g., balloons or birthday cakes) to the screen as B-roll material.
[0096] After identifying the topic of the story, in block 506, the server may generate or retrieve a list of questions or prompts associated with the topic. The server may send the list of questions to the user device for output on the user device. For example, the server may be programmed (e.g., by a moderator or administrator account, or when software for the platform is developed) to associate specific questions with specific topics. For example, questions or prompts associated with the topic of pregnancy may include "Why do you want to have children?", "What are the most important things you want to teach your children?", "What should your children know about you?", etc.
[0097] In some embodiments, the user can consult the list of questions or prompts on the user device, and can edit the list of questions or prompts. For example, the user can type additional prompts related to the theme and can select certain prompts for removal. In addition, the user can reorder the prompt list in a meaningful way for the story that the user wants to tell. In some embodiments, the server can understand which additional prompts are popular for a specific theme (for example, by using an artificial intelligence algorithm), and these popular prompts can be added to the prompt list for a specific theme (for example, if 10 users add similar questions, the server can add similar versions of prompts to the prompt list for theme advancement). After generating the list of questions, the server can allow the user to choose which questions to answer, can allow the user to sort prompts in a preferred sequence, add questions, remove questions, etc. In some embodiments, the server can suggest additional new prompts to the user based on the prompt selected by the user.
[0098] After the user generates and revise the prompt list, the server may compile the prompts into a specific order unless the user has provided a desired order for the prompts. In some embodiments, the user may revise the list of prompts after the prompts have been compiled into a specific order by the server. If the user fails to provide a desired sequence of questions, the server may utilize functionality to sort the questions in a logical sequence (e.g., by chronological order, or by asking related questions together) or in a sequence that is otherwise programmed into the server (e.g., by an administrator). In some embodiments, the server may include an artificial intelligence or neural network to facilitate continuous learning of the server, thereby allowing the server to improve after multiple iterations. That is, if a large number of users sort the prompts in a specific order, the server may use artificial intelligence to learn the specific order, and may proceed to sort the prompts in that specific order.
[0099] In some embodiments, the user may select a particular recording mode to record the user's answers to prompts. For example, the recording modes may include an access mode and a self-access mode. In the access mode, the user device may activate a camera on the back of the mobile device (e.g., the side of the mobile phone opposite the touch screen). In the self-access mode, the user device may activate a camera on the front of the mobile device (e.g., the same side of the mobile phone as the touch screen). In some embodiments, the user may select a spoken question mode, in which a voice generated by the platform or recorded for such use speaks the question aloud before the user responds to the prompt. In this regard, the user device acts as a host or interviewer by speaking the question aloud before the user responds to the question.
[0100] After the user has compiled and modified the list of questions in the desired recording mode, the user may indicate that he or she is ready to initiate the recording in block 508. For example, the user may begin the recording process using an input device of the user device (e.g., by saying "start now," by clicking a "record" button, etc.).
[0101] In box 510, the server may then instruct the user device to begin outputting questions in a determined order, or the user device may begin outputting questions in a determined order without server input. The questions may be displayed on a visual output device (e.g., a touch screen) or output one by one via a speaker of the user device, and may be used as a guide prompt, allowing the user to record their video by responding to one question at a time. In some embodiments, the prompts may be output once, and the video responses to the prompts may be recorded before the user device outputs the next prompt. In this way, the user can record a specific response to each prompt so that each specific response can be combined together into a story narrative.
[0102] In block 512, the user device may record a video response to the prompt using a camera of the user device (or coupled to the user device). The video response may be stored on local storage of the user device, or may be sent to and stored remotely by the server (e.g., in Figure 1 In some embodiments, the video responses may be sent to the server as they are recorded, and in some embodiments, the video responses may be packaged and uploaded after each recording is completed. If the user is not satisfied with the answer he or she provided, he or she may request to redo the answer. In this case, the stored video answer may be deleted, and the user device may begin recording a new response to the question.
[0103] The operation of the camera and related equipment of the user device can change based on the selected recording mode. For example, if the self-access mode is selected, the user device (if it is a mobile phone) can cause the camera oriented in the same direction as the display to record video. If the access mode is selected, the user device (if it is a mobile phone) can cause the camera oriented in the opposite direction from the display to record video.
[0104] In some embodiments, user software (e.g., software of a shareable video hosting platform running on a user device) can detect picture quality, lighting, or other effects of the recording environment based on sensor data of the user device (e.g., camera data, inertial measurement unit (IMU) data, etc.). The software can then adjust various features of the mobile device to improve the quality of the recorded video. For example, if it is dark and thus difficult to observe the user, the user software can turn on the light feature of the mobile device's lighting to operate the area in front of the camera. As another example, if the image of the user is blurred, the software can adjust the focus of the operating camera to obtain a higher quality recording. As yet another example, if the user shakes unintentionally while holding the user device, the software can adjust the orientation of the camera and remove the outer edges of the video to keep the user in the center of the recording.
[0105] In some embodiments, in block 514, the user may add additional media as part of the answer to the prompt. The additional media may include any previously or currently recorded media, such as images, videos, text, audio, etc., and any media that is not a direct response of the user to the prompt may be considered "B-roll" material. For example, a user may upload a photo or video stored on a mobile device as B-roll material, and may indicate which prompt the photo or video is to be associated with. As another example, a user may point to media stored on a social media account (e.g., a video that the user has posted in the past), and may indicate which prompt the media is to be associated with. As yet another example, a user may provide text or audio as B-roll material, and may likewise indicate which prompt the text or audio is associated with. The server (or user device) may store the additional media as part of the answer to the specific prompt associated with the media. The user may add additional media as he responds to each prompt, or may add additional media at any time (before, during, or after answering the prompt). In some embodiments, the user may upload all B-roll materials at once, and the software of the user device may require the user to indicate which prompt each B-roll material is associated with. In some embodiments, after recording responses to each prompt, the platform may ask the user to upload any B-roll materials, such as video, images, audio, music, text, etc.
[0106] In some embodiments, the server may provide suggestions for potential B-roll material. For example, the server may cause the user device to output an indication of a theme that is popular B-roll material for a particular prompt or theme. As another example, the server may learn characteristics about the user (e.g., hobbies), and may suggest B-roll material based on the learned characteristics (e.g., if foosball is the user's hobby, the server may suggest that the user record a video of him playing foosball).
[0107] After answering each prompt, the user can indicate that they are ready to proceed to the next question. The user can review the recorded answers to the prompts. In some embodiments, the user may determine that the recorded answers are inadequate. In these cases, the user may notify the platform that he wishes to re-record the answer to the prompt, and the server may delete the previous record and allow the user to create a new response to the prompt.
[0108] The user can provide answers to each subsequent question as described above, and can also add additional media associated with each question at any point before, during, or after the recording process. The server (or user device) can store the recording and other media in a memory or associated database.
[0109] In some embodiments, the user can add additional media (i.e., B-roll material) after all questions have been answered. In this regard, the user can provide media via a user device (or a link to the media if hosted online), and can indicate which question or questions the media is to be associated with. In some embodiments, the shareable video hosting platform can prompt the user (e.g., by causing the user device to output a prompt) to add any additional media to the answer. As described above, the additional media can include photos, videos, or audio from the memory of the user device, media from the shareable video hosting platform or a separate social media platform, new media recorded by the user device, media stored on another user device, or stock media (e.g., photos, videos, audio) provided by the platform. The user can use each prompt to indicate which media it belongs to. The server (or user device) can store the additional media in a local or remote memory or database.
[0110] After the answers have been provided and any additional media has been provided, in box 516, the user may request that the media be compiled into a story narrative. For example, the story narrative may include a single video that includes the recorded answers to all prompts and the included B-roll material. The server may compile the story narrative in the order of the prompts identified by the user. In some embodiments, the server may use artificial intelligence to determine a logical sequence of the media. The logical sequence may be based on the order in which events typically occur, the order of the prompts, etc. In some embodiments, the user may not provide prompts associated with at least a portion of the B-roll material. In this regard, the server may analyze the B-roll material and identify locations in the main media (recorded answers to the prompts) that make sense for the B-roll material. The server may insert each B-roll material at a location where the content of the B-roll material makes sense (e.g., a location where the subject of the B-roll is similar to a subject discussed in the main video).
[0111] In block 518, the server may compile all of the master media and B-roll material into a story narrative as described above. In some embodiments, the server is capable of automatically compiling (may automatically compile) the story narrative. Figure 4 A list of automatic editing features is discussed. In this regard, the server may perform a reference Figure 4 Any automatic editing functions discussed. For example, the server can remove any delays between media segments (e.g., delays between responses to sequential prompts can be removed), can stitch each segment together, can add selected or otherwise complimentary music to the narrative, etc. In some embodiments, the server is able to time changes between segments to align with changes in the music so that the dramatic imagery aligns with crescendos in the music. The server can also display or output dramatic B-roll material during emotional peaks. The server can also lower the volume of the music when speech is present on the video, and can increase the volume of the music when speech is not present. The resulting story narrative can include or be presented as a video clip that includes all of the media (video, pictures, audio, text, etc.) stitched together in the order of the prompts.
[0112] As described above, the server is able to perform sentiment analysis on various segments of the story narrative. In some embodiments, the server can access a library of royalty-free music (i.e., music that can be used without royalty payments), and can select music that matches the identified sentiment. That is, the server can identify the sentiment of a particular portion of the story narrative, and can select royalty-free music that matches the identified sentiment, and can combine the royalty-free songs with the recorded video. In some embodiments, the user can pay an additional fee to access music that is subject to royalty payments. In these embodiments, the server can select music that requires payment of associated copyright fees; in this way, the user pays extra money to pay royalties, and in turn is provided with access to a larger library of music. In some embodiments, the user can upload music of his preferred style, and the server can add music from the user's uploaded music to the story narrative. In these embodiments, the server can analyze whether a particular piece of music can be used in this manner without paying royalties before adding the music to the story narrative; if royalties are due, the server can notify the user and select similar royalty-free music. In some embodiments, the user can provide the server with an identification of a desired music genre or favorite band, and the server will select royalty-free music that best fits the user's preferred genre or favorite band, while still matching the identified sentiment.
[0113] As described above, the server can utilize algorithms such as artificial intelligence algorithms to compile and edit the story narrative. For example, as part of sentiment analysis, the server can determine the location of peak emotions in the story narrative, and can align the music to gradually increase with the emotional peaks of the video. As another example, as part of sentiment analysis, the server can learn when the narrative switches from a first theme or topic (e.g., a gender reveal party) to a second theme or topic (e.g., a birth), and can change background colors, music, etc. based on the change in theme or topic. In this way, the server can be said to add an artistic element to the story narrative, thereby generating a more professional narrative than could otherwise be generated.
[0114] In some embodiments, a user may request that specific speech also be output as text (in a manner similar to closed captioning). In this regard, the server may perform a speech-to-text algorithm on the speech in the media to generate text corresponding to the speech, and the text may be added to the video at the time corresponding to the speech. This feature allows viewers of the story to read along with the narrative story, which reduces the likelihood of misunderstanding and increases comprehensibility for the hearing impaired.
[0115] As mentioned above Figure 4 As described above, the server may provide additional automatic editing features. The server may take any one or more of these actions when editing a video (where the actions correspond to Figure 4 In some embodiments, a user may request that a particular function not be performed during automatic editing. For example, a user may wish to select his own music to the story narration and may request that the server not add music during automatic editing.
[0116] After reviewing the automatically edited story narrative, at block 520, the user may determine that a different atmosphere would be better suited to the story. For example, the user may have selected a serious atmosphere at the beginning of story creation, but may determine that a more relaxed or joking atmosphere is more appropriate. In this regard, the user may select different atmospheres for the story (using the user device). In some embodiments, the user may select a level of each type of atmosphere to better match the story narrative; for example, the user may select a value between 1 and 10 for a happy atmosphere, another value between 1 and 10 for a serious atmosphere, and so on. The server may then recompile the story using the new atmosphere selected by the user, and may provide the updated story to the user for his or her approval (e.g., by streaming a video to the user device). The characteristics of each atmosphere may include anything that changes the feel of the story, such as one or more background colors, background music, lighting (e.g., brighter or darker lighting), sound effects (e.g., a serious atmosphere may include dramatic sound effects, while a joking atmosphere may include funny sounds), and the like.
[0117] After reviewing the story narrative and in block 522, the user may wish to add additional media to the story narrative. In this regard, the user may request that new media be added to the story narrative and may indicate the type of the new media. For example, the user may request that a new prompt be added and may provide a position in the prompt sequence for adding the new prompt. The user may then use the user device to record answers to the new prompt. As another example, the user may upload new B-roll material and may notify the server which prompt(s) the new B-roll material corresponds to. The user may begin recording answers to additional prompts and may provide any additional B-roll media corresponding to the additional prompts.
[0118] In block 524, the server may store the newly recorded or uploaded media in local or remote storage. In block 526, the server may recompile and re-edit the story narrative to include the new answers and new media at specific locations in the story. In some embodiments, the new material may be edited into the story narrative, and in some embodiments, the entire story narrative may be re-edited.
[0119] In some embodiments, the sharable video hosting platform may include features for manual video editing (i.e., video editing performed by the user) that users of the platform can utilize. In block 528, the user may further edit the story narrative using the platform's manual editing tools. The tools provided by the platform may be relatively easy to use, so that the user does not need prior video editing experience to perform additional editing. In this regard, the platform may provide features such as dragging and dropping pictures and videos, selecting specific time periods in the narrative for editing or deletion, and the like. For example, if a user wishes to overlay a picture on a specific video clip, the user may drag the picture to a location in the video and specify a time period during which the picture will be displayed. Similarly, the user may select new music for a specific portion of the video and instruct the server about the timing at which the new audio should be output. The user may further time the audio so that a specific portion of the audio is reached at a specific time in the video to align the video with the music. The user may also be able to further edit the video using external video editing software. For example, the user may download the narrative to his or her user device, manipulate the video using editing software on the user device, and re-upload the edited version to the server. As another example, the user may access the video on the server using the user device, and may edit a saved version of the narrative on the server.
[0120] The specific manual video editing tools provided by the platform can be provided by the server in a software as a service model so that the user can utilize the tools from the user device, can be installed on the user device as part of the platform software, or any combination thereof. The specific manual video editing tools may include the ability to adjust the atmosphere or emotion of a specific portion of the story narrative. For example, the server can divide the narrative into separate parts (e.g., each part corresponds to a separate prompt), and the user can adjust the atmosphere or emotion of each part. For example, the user can use a slider, a dial, select from a list of available options, etc. to adjust the emotion of the video portion. Adjusting the emotion or atmosphere of the video portion can change the music selection or editing style of the edited video according to the options selected by the user.
[0121] Another manual editing tool available to the user is to adjust the length of the story narrative. In this regard, the user can select a target length for the story to cause the server to include more or less recorded video responses and include more or less added B-roll media. In some embodiments, adjusting the length of the story can cause the server to lengthen or shorten the pauses between video portions.
[0122] Another manual editing tool may include allowing a user to select edit portions of a video for removal. For example, a user may select a particular prompt from a list of prompts associated with a story narrative, which may cause the server to remove all associated recorded answers and B-roll material. As another example, a user may select edit one or more portions of a video for removal, and may cause a particular segment(s) to be removed.
[0123] Another manual editing tool available to the user is the ability to edit the video captions. That is, the user can make additions or deletions to at least one of the texts created as closed captions by the automatic video editing. For example, if the speech was incorrectly transcribed, the user can correct the transcription. As another example, the user can delete text that the user does not wish to be visually displayed.
[0124] Another kind of manual editing tool available to the user is to trigger the server to use an automatic video editing tool to re-edit the video. In certain embodiments, after using manual video editing to make any changes to the video, the server can use the automatic editing tool to re-edit the video.
[0125] Another manual editing tool available to the user is the ability to accept or approve the automatically edited video. The user can indicate whether the edited video is approved after viewing the edited video. This acceptance or approval ends the video adjustment process and allows the method to proceed to the sharing part of the process.
[0126] After the storytelling is approved, method 500 may proceed to steps associated with sharing of the video. These steps may include, in block 530, a user requesting the creation of a link or quick response (QR) code associated with the video. For example, the response may be made by approving the edited video.
[0127] In response to the request, and in box 532, the platform can generate a link on which the video and a quick response (QR) code associated with the link can be viewed. For example, a server can host a website that can be used at least in part as a social media platform, and each user can have his or her own page with various posts. Each post on a user's page can correspond to a story narrative created by a user using a tool provided by the platform, and each post / video can be assigned a separate link. The platform can also generate a QR code associated with a link so that scanning of the QR code provides an option to go directly to the video at the link. That is, user 1 can create a story narrative, and request to generate a link / QR code and associate it with a story. User 1 can share the QR code with its family members, and family members can use their respective user devices to scan the QR code to view the compiled and edited videos of user 1.
[0128] As described above, the QR code may be associated with a link where the story narrative can be viewed, so that a QR code reader can decrypt the link and take the viewer to the video stored at the link. That is, the QR code may be a specific QR code linked to a unique video created by the user. In this regard, the user can share the QR code with others. For example, the QR code may be placed on a tombstone, added to a photo collection, included on a flyer for a ceremony (e.g., a wedding, baptism, funeral, etc.), sent by email, etc. Anyone who accesses the QR code may scan the QR code using an imaging device (e.g., a camera on a smartphone), which may then direct the user's browser to the video. For example, scanning the QR code by a user device may open an Internet location where the video is stored, so the story narrative may be output by the user device.
[0129] After creating a video, the user may also be prompted to share the video on a shareable video hosting platform, and the video may be retained on the user's page as a post. For example, a user may include multiple narratives and descriptions of each narrative on his or her user page (e.g., the birth of the first child, a wedding, etc.). Another user of the platform may access the user page and select one or more videos to view based on the description. In some embodiments, a user may set a specific video to be accessible only to certain individuals (e.g., only shared with verified family members, only shared with children, etc.). In this regard, only identified and verified individuals may access and view a specific video.
[0130] The user may also download a copy of the video (e.g., to store on a user device), add the video to another location on the Internet (e.g., the user's homepage or another social media website), share the video on a decentralized network, share the video in a virtual reality application, etc. Another user device that has access to the video (e.g., via a social media connection with the user, using a QR code, etc.) may wish to view the video, and the server may facilitate streaming the video on the other user's user device, or may facilitate downloading a copy of the video on the other user's user device. In some embodiments, individuals who do not have an account on the shareable video hosting platform may view videos for which they have a link or QR code, such that non-users may view the video as long as they are provided with a specific link or QR code associated with the video.
[0131] In block 534, the user may browse a list of options related to video sharing and may select values and options related to video sharing. For example, the user may limit a particular video to be publicly viewable (e.g., viewable by any user with a link or QR code to the video) or privately viewable (e.g., viewable only by the user's family members). Some options related to sharing may only be available to users of a particular membership or subscription level, while other options may be available to any user, regardless of membership or subscription level. In some embodiments, the user may sign up for various membership or subscription levels that may affect who may view the story narrative (e.g., a traditional membership may allow the user to indicate the user's family and friends and limit viewing of the video to certain family or friends).
[0132] One potentially available sharing option includes the ability to customize the link address (e.g., by selecting a custom uniform resource locator or URL). When using this option, the user may be allowed to select any URL that has not been used by the user or another user of the system. For example, the platform may assign the following URL to a particular user video: http: / / www.platform / user1 / video1 . The user can then modify the URL to: http: / / www.platform / user1 / babybirth In some embodiments, the platform may reserve or restrict certain URLs or paths for platform functionality and for content moderation. For example, the platform may restrict URLs containing words such as share, manage, host, <platform name>, etc.
[0133] Another potentially available sharing option is the ability of the platform to generate a QR code for each specific video or story narrative. In this regard, users who have this feature available can request to generate a unique QR code for each story narrative generated using the platform. Then, the platform will generate a unique QR code for each specific story narrative. The user can then view, download, print the QR code, etc., and can share the QR code with others. The recipient of the QR code can use an image capture device (e.g., a smartphone camera) to detect the QR code, which will then be linked to a specific URL available for the video. In this way, users can share their videos by only sharing the specific QR code associated with the video. Note that the platform can be designed to maintain the association between the generated QR code and the associated URL link during the entire operation of the platform. That is, once a QR code is generated for a specific story narrative, the QR code can point to a URL during the operation of the platform.
[0134] Another potentially available sharing option for a user is the ability to customize the content of the page on which the story narrative is shared. For example, a user's homepage may contain links to all of the user's story narratives. The user can adjust the page by, for example, adding a text description of each video, adding music or images to the page, adjusting the color or lighting of the page, etc. In some embodiments, the user can also adjust the features of each page on which the video is stored. For example, the user can add an additional personalized message that viewers of the video can view while watching the story narrative. This customization can include any type of customization, such as reordering of objects on the page, adding or removing text or images, adding or removing music, adjusting the color or lighting, etc.
[0135] In some embodiments, each story narrative can operate as a shared post in a social media context. In this regard, users who are allowed to view the story narrative can add comments to each story narrative. Users at a particular subscription level can enable or disable comments on each particular shared video. For example, a user may wish to allow comments on a narrative associated with the birth of a child, but disable comments on a narrative associated with a disliked member of the family.
[0136] Another option available to some users is the ability to share story narratives to external social media platforms. For example, a user may have a third-party social media platform (e.g. ) account. Users can utilize the features of the Platform to share story narratives on their walls on third-party social media platforms. In a similar manner, a user is able to disable any of the sharing of his videos on the Platform or on third-party social media platforms.
[0137] In some embodiments, users can share their videos via a sharing feature located on a user device. For example, a user can share a video with other users using a sharing sheet on a smartphone user device.
[0138] In some cases, users are able to specify with whom they want to share the storytelling. For example, a user may choose to allow the entire public to view their video. In this regard, any individual who can access the link or QR code of a particular video will be allowed to view the video, and others will be able to view the video by going to a page associated with the user on the shareable video hosting platform. Users may also choose to limit viewing to individuals who only have a password assigned to the video; in this case, people may only view the video if they can access the link or QR code and also have the password to be provided. Users may be discerning when choosing who to share the password with to limit the amount of viewing of the video. Users may also limit access to the video to individuals who have received a specific invitation from the user. Users may send invitations through the platform, and only the recipients of the invitation will be allowed to view the video.
[0139] Users can also limit sharing to individuals who are "friends" of the user on the shareable video hosting platform, so that if the user does not approve the connection with the individual on the platform, no individual can view the video. A user who wishes to invite viewers who are not members of the platform can send an invitation to a non-member viewer, which allows the non-member to create an account (possibly free) and view the video after the account has been created. Similarly, users can limit sharing to individuals who are family members of the user. The platform can allow users to add information about their family members (e.g., siblings, parents, grandparents, aunts, uncles, children, grandchildren, etc.) and create connections with their family members on the platform. In some cases, the platform can determine at least one of a family relationship or potential family tree with the user based on information provided to the platform, information shared with other platforms (e.g., social media networks), information retrieved from a pedigree platform (e.g., pedigree data imported from the platform), etc. In these embodiments, the user can have the option of reviewing and confirming or rejecting each member of the family tree. In some embodiments, only administrative users can add members to the family tree; in these embodiments, users can provide instructions for their family members, but the administrator must approve the family link before any individual is added to the family tree. In some cases, the user can determine that the video is only shared with family members, and only authorized members of the family tree can view the video. In some embodiments, the user can set the type of relatives who are allowed access (e.g., only immediate family members including parents, grandparents, children, siblings, and grandchildren can view, while aunts and uncles cannot view).
[0140] In block 536, individuals connected to the user on the shareable video hosting platform (e.g., "friends" on the platform) may receive a notification that the user has a new video available for viewing. For example, the platform may output a notification to all of the user's "friends" or family members notifying them that the video is available for viewing. As another example, the user may email, text, or otherwise message the link or a QR code associated with the link to the individual. As yet another example, the user may post information about his new video on a social media network, and the individual may notice the social media posting and go to the user's account on the shareable video hosting platform to view the video.
[0141] In block 538, other individuals (i.e., users on the shareable video hosting platform who are not linked to the sharing user as friends, family, etc.) may be notified that the user has posted a new video. For example, these individuals may receive a link or a QR code associated with the link from the sharing user. As another example, these users may be notified of a share on another social media network by the user notifying others that a new video is available for viewing.
[0142] In block 540, the server may facilitate the user device to output the video for individuals who are aware of the new video and have permission to view the video. For example, a friend or family member of the user sharing the video may connect with the user on the shareable video hosting platform and may select a link on their user device, which was sent by the sharing user. In these cases, the server of the shareable video hosting platform may facilitate the streaming of the video using a modern web browser on the user device. As another example, an unrelated individual may receive a QR code associated with a link to the video from the user. The unrelated individual may scan the QR code using the user device to bring up a website from which the server of the shareable video hosting platform may stream the video.
[0143] In the case where the permission is limited (by password or relationship), the server may require additional information from the viewer before facilitating the streaming of the video. For example, if the permission is password-restricted, the server may facilitate streaming only when the correct password is entered. If the permission is limited to permission for a specific connection to the user (e.g., family), the server may verify the relationship (e.g., by the viewer logging into the shareable video hosting platform) before facilitating the streaming of the video. If the permission is limited to individuals who receive a specific invitation, the server will only allow the video to be streamed to the individual who received the invitation (e.g., the server may maintain a list of allowed individuals and may only stream the video to these individuals). If the invited individual does not already have an account on the shareable video hosting platform, the individual may create a profile or account on the shareable video hosting platform using a link provided by the sharing user; once the account is created, the server may facilitate streaming to the individual.
[0144] Users of a shareable video hosting platform may have the ability to comment on a shared video if comments are turned on for a particular video. In this regard, during or after viewing a video, a viewing user may type a comment to leave on the video. Comments may include any topic, and the sharing user may receive notifications of comments and the ability to view the comments. Comments may include text, video, pictures, audio, or any other type of data.
[0145] Certain topics may not be allowed by the policies of the shareable video hosting platform (e.g., nudity, threats of harm, etc.). Any viewer of a video may have the ability to report the content of the video or comments that violate the platform policies. As part of the report, the reporting user may select a reason for reporting the content (e.g., from a list including nudity, vulgarity, threats, etc.). When a video has been reported for content, the moderator may receive notification of the report and the reason(s) provided by the reporting user. The moderator then has the ability to determine whether the content violates any rules and, if so, remove the content from the platform. In addition to or in lieu of removing content, the moderator may take other actions, such as canceling the user's membership, submitting a warning to the user, and the like.
[0146] In some embodiments, an individual may wish to create a video for a relative or individual who has lost their ability or passed away. In this regard, in box 542, a user may provide media and other information related to the individual to a server of a shareable video hosting platform. The information may include media associated with the individual (e.g., including videos or pictures of the individual), links to the individual's social media accounts (e.g., links to the individual's Facebook page), user's recorded stories about the individual, etc. In some embodiments, the user may select the theme of the story narrative about the individual that they want the platform to generate. The server may receive and store all received media. The server may also access the individual's (one or more) third-party social media accounts (box 544), and download and store information from the social media accounts (e.g., any information such as nicknames, likes and dislikes, personal friends, media posted on the individual's page, etc.).
[0147] Based on the received and accessed information and the selected topic, in box 546, the server can generate a story narrative. For example, the server can compile all received and accessed media into a story narrative in a manner similar to that described above. For example, if the user selects a topic, the server can use a tool (e.g., an artificial intelligence tool) to identify media that is suitable for the selected topic of the video. For example, if the topic is an individual immigrating to a new country, the server can use an algorithm (which may include artificial intelligence) to select only media associated with immigration. For example, the server can select media associated with flights to a new country, posts about immigration, posts associated with individuals who have obtained citizenship, etc. The server can also use similar tools to determine the order in which the media will be presented in the generated story narrative based on the selected topic. In some embodiments, the server can identify the topic that is most suitable for the media provided to the server, and can direct the story narrative around the identified topic. For example, if most of the videos of an individual involve married individuals, the server can select a wedding or marriage theme.
[0148] In addition, the server can perform automatic editing of the story narrative as described above. Manual editing tools can also be used for users to manually edit the story narrative. After the user edits and approves, the server can then generate a revised or edited narrative and associate it with the individual's name. The server can also automatically share the narrative with the individual's friends and family.
[0149] In block 548, the server may create a link to the stored video and a QR code pointing to the link. The server may allow the user (or additional or alternative users) to share the link and / or QR code. As described above, the server may also facilitate streaming or viewing of the video based on set permissions. For example, the user providing the media may only want family members to be able to view the story narrative; in this case, the server will only allow verified family members to view the story narrative.
[0150] In summary, the shareable video hosting platform disclosed herein allows users to create personalized long-form video clips that compile videos, pictures, and other media from their camera rolls, social media sites, and / or stock footage in real time. Videos are shareable, can be created in a timeline format, and are timeless. Each individual video is linked to a customizable QR code that can be used for business cards, advertisements, tombstones, etc.
[0151] The shareable video hosting platform described herein is a long-form video option centered on truly important life events with guided prompts and API integration. Users can include anyone with a camera-equipped smartphone who takes photos and videos to capture memories and does not know how to create edited videos. Examples of users include pregnant women who want to capture the timeline narrative of their pregnancy and include the life of their children growing up. Another user can be a grandfather who wants to leave a video for his unborn granddaughter. A highly anticipated user group will be businesses that want an easier and more affordable way to create videos so that they can sell their products and services. Through API integration, the shareable video hosting platform will be able to link to the social media profiles of the deceased, capture videos and pictures stored on the account, and automatically generate a rich narrative of their life, which can be shared as a video clip, linked to a traditional family tree, and as a QR code that can be installed on its tombstone.
[0152] Whether individuals expect their autobiographical videos to capture special timelines, sell their businesses and more during their entire pregnancy, software disclosed herein allows users to easily create high-end videos by utilizing an automatic editing video package with built-in guide prompts. The software creates intentional videos that capture the true essence of people's lives. It can create content-rich videos for a particular moment or for the entire timeline of a special moment in real time, without having to know how to edit a video. Videos can be shared on a shareable video hosting platform and uploaded to other social media websites. Each video is assigned a unique QR code that specifically links to the video.
[0153] Every day someone passes away with their life story, and family and friends often regret not asking their loved ones about their life. After a generation or two, that person’s memory fades, and future generations are left wondering what their family’s ancestors were like. Relatives may be able to pore over family albums, or look through random content on their social media profiles when they have access, but this doesn’t provide a complete narrative of the individual.
[0154] Another advantage of the software described herein over the prior art is that conventional platforms do not allow users to specify relationships, such as mother, grandmother, etc. The platform described herein allows users to specify and link entire family trees, allowing individuals to leave stories and testaments to specific people so that future generations can explore the entire story of their ancestors' lives, not just fragments. The platform can also integrate with third-party genealogy platforms to automatically identify family members and their specific relationships.
[0155] There are also many social media accounts of the deceased. By linking the account to an API associated with the platform, the platform can capture the videos and pictures stored on the account and automatically generate a rich narrative of the individual's life. This narrative can be shared as a video clip, linked to a traditional family tree, and linked to a QR code that can be installed on their tombstone.
[0156] Throughout the specification and claims, "at least one of A or B" includes "A" only, "B" only, or "A and B". Exemplary embodiments of the method / system have been disclosed in an illustrative manner. Therefore, the terms used throughout should be read in a non-restrictive manner. Although minor modifications of the teachings herein may be made by those skilled in the art, it should be understood that it is intended to be limited to the scope of the patent granted herewith, which reasonably fall within the scope of the improvements in the art contributed thereby, and the scope should not be limited except in accordance with the attached claims and their equivalents.
Claims
1. A method for providing a sharable media hosting platform, the method comprising: recording, by the user device, a plurality of video clips corresponding to the user's narrative; storing the plurality of video clips in a memory; as well as The plurality of video clips are combined, by a processor and in response to a request from the user device, into a single video stream narrating the narrative of the user.
2. The method according to claim 1, further comprising: The single video stream is stored by a server; Associating, by the server, the single video stream with a specific hyperlink; as well as A quick response (QR) code is generated by the processor containing information corresponding to the particular hyperlink associated with the single video stream.
3. The method according to claim 2, further comprising: detecting image data corresponding to the QR code from the user device or from another user device; decrypting the specific hyperlink from the QR code by the user device or the other user device; an internet location of accessing the specific hyperlink by the user device or the other user device; as well as The single video stream is displayed by the user device or the other user device in response to accessing the Internet location using the particular hyperlink. 4 . The method of claim 1 , further comprising automatically editing, by the processor, the single video stream to improve the quality of the single video stream.
5. The method according to claim 4, wherein: Automatically editing the single video stream includes at least one of the following: reducing a delay between at least two of the plurality of video clips; adjusting at least one of contrast, brightness, or color of at least one of the plurality of video clips; adjusting at least one of volume, compression, or equalization of audio of at least one of the plurality of video clips; transcribing spoken words from at least one of the video clips into text and creating time-synchronized video captions based on the text; adjusting a volume of at least one of speech or music of at least one of the plurality of video clips; or At least one of a map view or a street view of a location mentioned in at least one of the plurality of video clips is added.
6. The method according to claim 4, wherein: Automatically editing the single video stream includes: identifying an emotion corresponding to at least one of the plurality of video clips; and Music is selected based on the identified emotion and inserted into the single video stream.
7. The method according to claim 1, wherein: The processor is at least one of a processor of the user device or a processor of a server in communication with the user device.
8. The method according to claim 1, further comprising: storing, by a server, a profile corresponding to a user of the user device; linking, by the server based on a request from the user device or from another user device associated with another profile of another user, the profile with the other profile; as well as Viewing of the single video stream by the other user device is facilitated by the server based on the link between the profile and the other profile.
9. The method according to claim 8, further comprising: determining that the user is related to the other user based on information received from at least one of the user device or the other user device; determining, based on information received from the user device, that the single video stream is approved for viewing only by family members; as well as In response to determining that the user is related to the other user, the server allows the other user device to view the single video stream.
10. The method according to claim 1, further comprising: determining, by the processor and in response to user input, a subject of the narrative of the user; accessing, by the processor, a list of prompts associated with the determined topic; as well as The prompts associated with the determined topics are output by the user device such that each of the plurality of video clips is recorded in response to one of the prompts.
11. The method according to claim 1, further comprising: receiving, by the processor, additional media associated with the narrative of the user; as well as The additional media is combined, by the processor, with the plurality of video segments such that the single video stream includes the plurality of video segments and the additional media.
12. The method according to claim 1, further comprising: outputting, by the user device, a list of manual video editing functions that can be used for manual editing of the single video stream; receiving, by the user device, information corresponding to a manual edit to the single video stream; as well as The single video stream is edited, by the processor, based on information corresponding to a manual edit of the single video stream.
13. A system for providing a sharable media hosting platform, the system comprising: a user device having a camera configured to capture image data, the user device configured to record a plurality of video clips, each video clip corresponding to a narrative of a user; a memory configured to store the plurality of video clips; as well as A processor is configured to combine the plurality of video clips into a single video stream narrating the narrative of the user in response to a request from the user device.
14. The system of claim 13, further comprising a server configured to store the single video stream and associate the single video stream with a specific hyperlink, wherein The processor is further configured to generate a QR code containing information corresponding to the particular hyperlink associated with the single video stream.
15. The system of claim 13, wherein: The processor is also configured to automatically edit the single video stream to improve the quality of the single video stream.
16. The system of claim 15, wherein: Automatically editing the single video stream includes at least one of the following: reducing a delay between at least two of the plurality of video clips; adjusting at least one of contrast, brightness, or color of at least one of the plurality of video clips; adjusting at least one of volume, compression, or equalization of audio of at least one of the plurality of video clips; transcribing spoken words from at least one of the video clips into text and creating time-synchronized video captions based on the text; adjusting a volume of at least one of speech or music of at least one of the plurality of video clips; or At least one of a map view or a street view of a location mentioned in at least one of the plurality of video clips is added.
17. The method according to claim 15, wherein: Automatically editing the single video stream includes: identifying an emotion corresponding to at least one of the plurality of video clips; and Music is selected based on the identified emotion and inserted into the single video stream.
18. The method according to claim 13, wherein: The processor is also configured to determine a theme of the narrative of the user based on user input received by the user device and access a list of prompts associated with the determined theme, and the user device is further configured to output the prompts associated with the determined theme so that each of the multiple video clips is recorded in response to one of the prompts.
19. A method for providing a sharable media hosting platform, the method comprising: outputting, by a user device, a plurality of prompts, each prompt being associated with a selected topic; recording, by the user device, a plurality of video clips corresponding to a user's narrative, each of the plurality of video clips being provided in response to one of the plurality of prompts; storing the plurality of video clips in a memory; combining, by a processor and in response to a request from the user device, the plurality of video clips into a single video stream narrating the narrative of the user; as well as The processor automatically edits the single video stream to improve the quality of the single video stream, wherein the automatic editing includes at least one of the following: reducing a delay between at least two of the plurality of video clips; adjusting at least one of contrast, brightness, or color of at least one of the plurality of video clips; adjusting at least one of volume, compression, or equalization of audio of at least one of the plurality of video clips; transcribing spoken words from at least one of the video clips into text and creating time-synchronized video captions based on the text; adjusting a volume of at least one of speech or music of at least one of the plurality of video clips; or At least one of a map view or a street view of a location mentioned in at least one of the plurality of video clips is added.
20. The method according to claim 19, further comprising: outputting, by the user device, a list of manual video editing functions that can be used for manual editing of the single video stream; receiving, by the user device, information corresponding to a manual edit to the single video stream; as well as The single video stream is edited, by the processor, based on information corresponding to a manual edit of the single video stream.