chrippa / livestreamer

Command-line utility that extracts streams from various services and pipes them into a video player of choice. No longer maintained, use streamlink or youtube-dl instead.
http://livestreamer.io/
BSD 2-Clause "Simplified" License
3.88k stars 582 forks source link

ustream: an issue "solved" and a new issue #1489

Open FredThompsonII opened 8 years ago

FredThompsonII commented 8 years ago

The ustream plugin does not properly parse the end of desktop streams and the end of each program is lost. mobile_xxx streams are received as a constant stream. If the end is important AND you want to save the streams you will need to manually cut the retrieved file at the GOP level. The beginning of a retrieved mobile stream is incomplete. I use a PC and convert the retrieved FLV files into MKV then use AVI Trimmer +. There are other GOP-oriented free cutters such as Mkv Cutter.

In the past day or so, some ustream feeds from CreativeLive.com have confused livestreamer. There is a reply from livestreamer with quite a lot of error reports, the stream will start to be read, then livestreamer truncates. There are key and proxy errors. Maybe this is something on their end. Would someone with knowledge of ustream please examine this?

Here is a typical error reply from livestreamer:

[cli][info] Found matching plugin ustreamtv for URL https://www.ustream.tv/embed/20713000 [plugin.ustreamtv][error] Unable to fetch desktop streams: Unable to validate result: Unable to validate key 'stream': Unable to validate result: Unable to validate key 'streams': Unable to validate result: Type of ScriptDataReference(reference=7) should be 'dict' but is 'ScriptDataReference' or Type of ScriptDataReference(reference=7) should be 'list' but is 'ScriptDataReference' or Key 'varnishUrl' not found in ScriptDataObject([(u'name', u'uhs_tcdn'), (u'url', u'https://uhs-live-default.ustream.tv/sjc-uhs-omega03/streams/httpflv/ustreamVideo/20713000/'), (u'streams', ScriptDataReference(reference=7)), (u'streamType', u'flv/segmented')]) or [ScriptDataObject([(u'name', u'uhs_akamai'), (u'streamType', u'flv/segmented'), (u'varnishUrl', u'https://uhsakamai-a.akamaihd.net/sjc/sjc-uhs-omega03/streams/httpflv/ustreamVideo/20713000/'), (u'url', u'https://uhsakamai-a.akamaihd.net/sjc/sjc-uhs-omega03/streams/httpflv/ustreamVideo/20713000/'), (u'streams', [ScriptDataObject([(u'chunkTime', 5000.0), (u'offsetInMs', 4587.0), (u'chunkRange', ScriptDataObject([(u'1474371108', u'1915398714'), (u'1474371098', u'1028983877')])), (u'offset', 239169.0), (u'isTranscoded', False), (u'width', 1280.0), (u'bitrate', 1389.0), (u'chunkId', 1474371105.0), (u'streamName', u'streams/live1%_%.flv'), (u'height', 720.0), (u'videoCodec', u'H264')]), ScriptDataObject([(u'offsetInMs', 4587.0), (u'chunkRange', ScriptDataObject([(u'1474371108', u'1915398714'), (u'1474371098', u'1028983877')])), (u'offset', 168185.0), (u'description', u'480p'), (u'bitrate', 975.0), (u'preset', u'viewer_480p'), (u'chunkId', 1474371105.0), (u'streamName', u'streams/live10%_%.flv'), (u'chunkTime', 5000.0), (u'resolutionFromPreset', u'480p'), (u'isTranscoded', True), (u'width', 854.0), (u'height', 480.0), (u'videoCodec', u'H264')]), ScriptDataObject([(u'offsetInMs', 4587.0), (u'chunkRange', ScriptDataObject([(u'1474371108', u'1915398714'), (u'1474371098', u'1028983877')])), (u'offset', 120427.0), (u'description', u'360p'), (u'bitrate', 714.0), (u'preset', u'viewer_360p'), (u'chunkId', 1474371105.0), (u'streamName', u'streams/live9%_%.flv'), (u'chunkTime', 5000.0), (u'resolutionFromPreset', u'360p'), (u'isTranscoded', True), (u'width', 640.0), (u'height', 360.0), (u'videoCodec', u'H264')]), ScriptDataObject([(u'offsetInMs', 4587.0), (u'chunkRange', ScriptDataObject([(u'1474371108', u'1915398714'), (u'1474371098', u'1028983877')])), (u'offset', 88400.0), (u'description', u'240p'), (u'bitrate', 509.0), (u'preset', u'viewer_240p'), (u'chunkId', 1474371105.0), (u'streamName', u'streams/live8%_%.flv'), (u'chunkTime', 5000.0), (u'resolutionFromPreset', u'240p'), (u'isTranscoded', True), (u'width', 426.0), (u'height', 240.0), (u'videoCodec', u'H264')])])]), ScriptDataObject([(u'name', u'uhs_tcdn'), (u'url', u'https://uhs-live-default.ustream.tv/sjc-uhs-omega03/streams/httpflv/ustreamVideo/20713000/'), (u'streams', ScriptDataReference(reference=7)), (u'streamType', u'flv/segmented')])] does not equal 'offline' [cli][info] Available streams: mobile_240p (worst), mobile_360p, mobile_480p, mobile_720p (best) [cli][info] Opening stream: mobile_720p (hls) [stream.hls][warning] Failed to reload playlist: Unable to open URL: http://sjc-uhls-proxy115.ustream.tv/watch/playlist.m3u8?appType=103&appVersion=3&conn=wifi&cid=20713000&stream=viewer_720p&connectionId=oldurl-7736117ef627438ebb0f5a932ac18e3a3c297b5b&group=iphone (404 Client Error: Not Found)