Encodingless Transmuxing
US-2018034880-A1 · Feb 1, 2018 · US
US10277929B1 · US · B1
| Field | Value |
|---|---|
| Publication number | US-10277929-B1 |
| Application number | US-201615190039-A |
| Country | US |
| Kind code | B1 |
| Filing date | Jun 22, 2016 |
| Priority date | Jun 22, 2016 |
| Publication date | Apr 30, 2019 |
| Grant date | Apr 30, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are described for live streaming media content using on-demand manifests. A manifest file providing playback options for a portion of the duration of the playback of a live stream can be provided to viewer devices. The viewer devices can also be provided location identifiers for the live stream. Based on the location identifier used by the viewer devices to request fragments of the live stream of the media content, the requests from the viewer devices using the manifest file can be analyzed to determine a fragment to be provided for playback in relation to the time period of the live stream.
Opening claim text (preview).
What is claimed is: 1. A computer implemented method comprising: receiving, by a media server, a first request from a first viewer device for playback of a live stream of media content; providing, by the media server, a manifest file to the first viewer device, the manifest file indicating fragments of the live stream of the media content available for playback, the fragments detailed as providing playback within a manifest time period that represents a time duration of playback of the fragments detailed in the manifest file, the manifest file having an initial fragment with a time code representing zero, the initial fragment of the manifest file corresponding to a live stream fragment with a non-zero time code in a playback timeline of the live stream; providing, by the media server, a first location identifier for the live stream of the media content; providing, by the media server, a first playback offset to the first viewer device, the first playback offset indicating a fragment detailed in the manifest file to start playback of the live stream at a time corresponding to a live playhead representing a current playback time into a playback timeline of the live stream of the media content; receiving, by the media server, a first request from the first viewer device for a fragment corresponding to the first location identifier and based on the first playback offset and the manifest file, the first request indicating a first fragment time corresponding to the fragment indicated in the first request, the first fragment time being within the manifest time period; determine the first request references the first location identifier representing a location for fragments of the live stream; determine a first static time offset based on the first location identifier; converting, by the media server, the first fragment time within the manifest time period to a first live stream fragment time within the playback timeline of the live stream based on the first static time offset and the first fragment time; and providing, by the media server, a first live stream fragment to the first viewer device for playback of the live stream, the first live stream fragment corresponding to the first live stream fragment time. 2. The computer implemented method of claim 1 , further comprising: receiving, by the media server, a second request from a second viewer device for playback of the live stream of the media content; providing, by the media server, the manifest file to the second viewer device; providing, by the media server, a second location identifier for the live stream of the media content, the second location identifier being different than the first location identifier; providing, by the media server, a second playback offset to the first viewer device, the second playback offset indicating a fragment detailed in the manifest file to start playback of the live stream at a time corresponding to the live playhead of the live stream of the media content; receiving, by the media server, a second request from the second viewer device for a fragment corresponding to the second location identifier and based on the second playback offset and the manifest file, the second request indicating a second fragment time corresponding to the fragment indicated in the second request and within the manifest time period; converting, by the media server, the second fragment time within the manifest time period to a second live stream fragment time within the playback timeline of the live stream based on the second location identifier; and providing, by the media server, a second live stream fragment to the first viewer device for playback of the live stream, the second live stream fragment corresponding to the second live stream fragment time. 3. The computer implemented method of claim 2 , wherein converting the second fragment time within the manifest time period to the second live stream fragment time within the playback timeline of the live stream includes adding a second time offset to the second fragment time, the second time offset based on the second location identifier, the first time offset and the second time offset being different. 4. A system comprising: one or more processors and memory configured to: receive a first request from a first viewer device for a fragment of media content detailed in manifest data, the first request indicating a first fragment time corresponding to the fragment indicated in the first request, the first fragment time being within a manifest time period that represents a time duration of playback of the fragments detailed in the manifest data, the manifest data having an initial fragment with a time code representing zero, the initial fragment of the manifest data corresponding to a live stream fragment with a non-zero time code in a playback timeline of the live stream; determine the first request references a first location identifier representing a location for fragments of the live stream; determine a first static time offset based on the first location identifier; determine a first live stream fragment time within a playback timeline of the live stream based on the first static time offset and the first fragment time; and provide a first live stream fragment to the first viewer device, the first live stream fragment corresponding to the first live stream fragment time. 5. The system of claim 4 , the one or more processors and memory configured to: provide the manifest data to the first viewer device; and provide a playback offset to the first viewer device, the playback offset indicating a fragment detailed in the manifest data to start playback of the live stream at a time corresponding to a live playhead representing a current playback time into the playback timeline of the live stream of the media content, and wherein the first fragment time is based on the playback offset. 6. The system of claim 4 , the one or more processors and memory configured to: receive a second request from a second viewer device for a fragment detailed in manifest data and referencing a second location identifier, the second request indicating a second fragment time corresponding to the fragment indicated in the second request and within the manifest time period representing the time duration of playback of the fragments detailed in the manifest data; determine a second live stream fragment time within the playback timeline of the live stream based on the second fragment time within the manifest time period, wherein the determination includes adding a second time offset to the second fragment time, the second time offset based on the second location identifier, the first time offset and the second time offset being different; and provide a second live stream fragment to the second viewer device, the second live stream fragment corresponding to the second live stream fragment time. 7. The system of claim 6 , wherein the first location identifier and the second location identifier are different uniform resource locators (URLs). 8. The system of claim 6 , wherein the first live stream fragment and the second live stream fragment provide playback of a same portion of the live stream. 9. The system of claim 4 , wherein the fragments detailed in the manifest data include fragments available for playback following a time corresponding to a live playhead representing a current playback time into the playback timeline of the live stream of the media content. 10. The system of claim 4 , wherein the manifest time period is less than the playback timeline of the live stream. 11. A computer program product comprising one or more non-transitory computer-readable media having computer program inst
Electricity · mapped topic
Stream processing in response to a playback request from an end-user, e.g. for trick-play · CPC title
based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title
for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks (specific graphical features in visual interfaces H04N21/4312) · CPC title
for requesting content on demand, e.g. video on demand · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.