Portál AbcLinuxu, 3. května 2025 08:47
Česká televize v současné době (6/2017) používá pro přehrávání obsahu archivu na webu mpeg dash stream, což znesnadňuje sledování a archivaci pro vlastní účely. https://en.wikipedia.org/wiki/Dynamic_Adaptive_Streaming_over_HTTP
Nejvhodnější je začít v Chrome, spustit video, vybrat prozkoumání videa (Ctrl+Shift+I), vybrat záložku Network, reload, a na časové ose vybrat oblast zájmu.
V seznamu je možné najít soubor typu mpd
, což je jednoduchý xml soubor o videu a audiu. Lokálně uložený mpd
je možné otevřít ve VLC verze 3.0.+ (6/2017 nightly builds), což spustí online stream, se kterým lze nakládat podle libosti.
Složitější alternativou je poskládání původního videa z audio a video segmentů. ČT označuje init segment jako IS.mp4
, vlastní segmenty jako 000000.m4s
, 000001.m4s
,... až do konce záznamu. Je potřeba postahovat init segmenty pro video a audio zvlášť do složek a následně sekvenci segmentů pro audio i video spojit.
Veškerá URL pro audio i video se mění s každým přehráním. URL pro audio a video se liší v nejvyšším adresáři (např. http://80.188.78.188/.../1001-1504/000000.m4s
a .../1002-1504/000000.m4s
). Lze použít wget a nebo cURL nabízený přímo v Chrome.
K init segmentu je možné připojit i segmenty začínající třeba od 115.
Audio segmenty jsou ~ 33kB a video segmenty ~1 MB velké soubory.
cat IS.mp4 $(ls -vx *.m4s) > video.mp4
cat IS.mp4 $(ls -vx *.m4s) > audio.mp4
ffmpeg -i video.mp4 -i audio.mp4 -c copy movie.mkv
Případně zmenšit (H.265):
ffmpeg -i movie.mkv -c:v libx265 -preset medium -crf 28 -c:a aac -b:a 128k output.mp4
(30 MB na minutu > 8 MB na minutu videa)
Tiskni
Sdílej:
[tydyt@localhost youtube-dl_180617]$ ./youtube-dl -v http://prima.iprima.cz/zpravodajstvi/17-6-2017-krimi-tragicke-dopravni-nehody [debug] System config: [] [debug] User config: [] [debug] Custom config: [] [debug] Command-line args: [u'-v', u'http://prima.iprima.cz/zpravodajstvi/17-6-2017-krimi-tragicke-dopravni-nehody'] [debug] Encodings: locale ISO-8859-2, fs ISO-8859-2, out ISO-8859-2, pref ISO-8859-2 [debug] youtube-dl version 2017.06.18 [debug] Python version 2.7.9 - Linux-4.4.68-desktop-1.mga5-x86_64-with-mandrake-5-Official [debug] exe versions: ffmpeg 2.4.13, ffprobe 2.4.13, rtmpdump 2.4 [debug] Proxy map: {} [generic] 17-6-2017-krimi-tragicke-dopravni-nehody: Requesting header WARNING: Falling back on generic information extractor. [generic] 17-6-2017-krimi-tragicke-dopravni-nehody: Downloading webpage [generic] 17-6-2017-krimi-tragicke-dopravni-nehody: Extracting information ERROR: Unsupported URL: http://prima.iprima.cz/zpravodajstvi/17-6-2017-krimi-tragicke-dopravni-nehody Traceback (most recent call last): File "./youtube-dl/youtube_dl/extractor/generic.py", line 1971, in _real_extract doc = compat_etree_fromstring(webpage.encode('utf-8')) File "./youtube-dl/youtube_dl/compat.py", line 2539, in compat_etree_fromstring doc = _XML(text, parser=etree.XMLParser(target=_TreeBuilder(element_factory=_element_factory))) File "./youtube-dl/youtube_dl/compat.py", line 2528, in _XML parser.feed(text) File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1642, in feed self._raiseerror(v) File "/usr/lib64/python2.7/xml/etree/ElementTree.py", line 1506, in _raiseerror raise err ParseError: not well-formed (invalid token): line 90, column 22 Traceback (most recent call last): File "./youtube-dl/youtube_dl/YoutubeDL.py", line 762, in extract_info ie_result = ie.extract(url) File "./youtube-dl/youtube_dl/extractor/common.py", line 433, in extract ie_result = self._real_extract(url) File "./youtube-dl/youtube_dl/extractor/generic.py", line 2796, in _real_extract raise UnsupportedError(url) UnsupportedError: Unsupported URL: http://prima.iprima.cz/zpravodajstvi/17-6-2017-krimi-tragicke-dopravni-nehody [tydyt@localhost youtube-dl_180617]$
rtvs-dl.sh link_do_archívua všetko prevedie sám. Nieje to žiadna krása, ale snažil som sa ho napísať dosť zrozumiteľne aby si ho každý mohol sám ľahko upraviť.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.