staging.inyokaproject.org

KSV Adobe HDS Downloader

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Wiki/Icons/terminal.png Mithilfe des in PHP geschriebenen Skriptes AdobeHDS.php von K-S-Vs GitHub-Seite 🇬🇧 können Multimedia-Streams im Format HDS (Adobe HTTP Dynamic Streaming) entweder aufgenommen oder – via Pipe-Operator – an einen Mediaplayer weitergeleitet werden. Damit kann also das CPU-belastende Flash-Webbrowser-Plugin umgangen werden.

Dabei werden zunächst die einzelnen Fragment-Dateien heruntergeladen, in eine flv-Containerdatei kopiert (also ohne sie zu re-encodieren) und dabei nahtlos zusammengefügt. Anschließend werden die heruntergeladenen Fragmente gelöscht.

Von dem Skript werden sowohl On-Demand-Streams als auch Live-Streams verarbeitet.

Eine Alternative für AdobeHDS wäre z.B. das Programm Archiv/Livestreamer.

Im Weitern wird das Skript als "KSV Adobe HDS Downloader" bezeichnet.

Installation

Voraussetzungen

PHP sowie das cURL-Modul dazu muss auf dem System installiert sein

  • php5-cli

  • php5-curl

Befehl zum Installieren der Pakete:

sudo apt-get install php5-cli php5-curl 

Oder mit apturl installieren, Link: apt://php5-cli,php5-curl

Ab Ubuntu 16.04 heißen die benötigten Pakete php-cli und php-curl.

Skriptinstallation

KSV Adobe HDS Downloader ist nicht in den offiziellen Paketquellen enthalten. Zur Installation wird im Homeverzeichnis eine leere Datei namens AdobeHDS.php (z.B. in einem Ordner AdobeHDS-Skript) erstellt und sich dorthinein von K-S-V's GitHub-Seite 🇬🇧 das Skript AdobeHDS.php 🇬🇧 kopiert.

Hinweis!

Fremdsoftware kann das System gefährden.

Aktualisierung

Zum Aktualisieren des Skriptes eignet sich der Befehl [2]

php AdobeHDS.php --update 

Benutzung

Die Benutzung des Skriptes erfolgt über die Kommandozeile. Die Befehle werden Verzeichnis des Skriptes AdobeHDS.php ausgeführt. Die allgemeine Syntax im Terminal [2] lautet:

php AdobeHDS.php [OPTION(EN)] "MANIFEST-URL" (--outdir PFAD/ZUM/ZIELORDNER --outfile ZIELDATEI) 

Anstelle des Platzhalters "MANIFEST-URL" gibt man die Internet-Adresse (URL) an, von der gelesen werden soll und optional den Dateinamen bzw. Pfad des Orts, in den der KSV Adobe HDS Downloader speichern soll. Es werden nur Adressen unterstützt, die die Zeichenkette manifest.f4m beinhalten. Gibt man statt des Pfads (z.B. ~/Videos/) nur einen Dateinamen oder nichts an, dann wird das Video standardmäßig im Skript-Verzeichnis gespeichert.

Optionen

Nachfolgend eine Übersicht der wichtigsten Optionen. Für eine vollständige Übersicht siehe php AdobeHDS.php --help [2]. Weitere Hilfe findet man in der offiziellen Anleitung zum Skript AdobeHDS.php 🇬🇧.

Optionen
Option Bedeutung
--help Hilfe anzeigen
--debug die Debug-Ausgabe anzeigen
--delete die heruntergeladenen Fragmente nach dem Zusammengefügen der Containerdatei löschen (lediglich zum Download von On-Demand-Streams wirksam)
--play den heruntergeladenen Stream via Pipe-Operator zu einem Mediaplayer streamen
--update das Skript auf die aktuelle Git-Version aktualisieren
--duration SEKUNDEN das Herunterladen bzw. Streamen nach der anzugebenen Anzahl an Sekunden beenden
--manifest "MANIFEST-URL" über die MANIFEST-URL die Datei zum Herunterladen der Fragmente angeben
--outdir PFAD/ZUM/ZIELORDNER den Pfad zum Zielordner der Zieldatei angeben, optional
--outfile ZIELDATEI den Namen der Zieldatei angeben, optional
--quality QUALITÄTSGRAD den Qualitätsgrad angeben: (low|medium|high) oder die exakte Bitrate, optional

Achtung!

Der KSV Adobe HDS Downloader überschreibt ohne Rückfrage bereits bestehende gleichnamige Dateien. Im Zweifel also eine solche vor erneuten Downloads entweder umbenennen, in ein anderes Verzeichnis verschieben oder aber die --outdir- bzw. --outfile-Option verwenden, v.a. bei Live-Streams.

Beispiele

Das Programm wählt standardmäßig automatisch die höchstmögliche Qualitätsstufe. Man stoppt den KSV Adobe HDS Downloader entweder, indem man das jeweilige Player-Fenster schließt oder im Terminal-Fenster mit der Tastenkombination Strg + C .

Herunterladen

On-Demand-Streams

Ein Download kann z.B. mithilfe dieser aus der ZDFmediathek 🇩🇪 stammenden, mittels Netzwerkanalyse ermittelten manifest.f4m-URL eingeleitet werden: [2]

Netzwerkanalyse_(Informatik)

php AdobeHDS.php --manifest "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/16/08/160801_h19.smil/manifest.f4m" --delete  

Ausgabe etwa:

                            KSV Adobe HDS Downloader

Processing manifest info....                                                   
Quality Selection:                                                             
 Available: 3267 2264 1460 607 436 188
 Selected : 3267                                                               
Fragments Total: 198, First: 1, Start: 1, Parallel: 8                          
Downloading 198/198 fragments                                                  
Found 198 fragments                                                            
Finished                    

Es befindet sich jetzt die Datei namens 1520d5f6d9679f9941ff2485d81f5824_3256000_c4d0e7ada8b13bad_Seg1-Frag.flv im Skript-Verzeichnis. Die heruntergeladenen einzelnen Fragment-Dateien sind mithilfe des --delete-Schalters gelöscht worden.

Den --delete-Schalter kann man auch anders platzieren und erreicht dasselbe Ergebnis:

php AdobeHDS.php --delete --manifest "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/zdf/smil/f4m/300/16/08/160801_h19.smil/manifest.f4m"  

Live-Streams

Als Live-Stream kann z.B. dieser von 3sat 🇩🇪 mittels via Netzwerkanalyse ermittelten manifest.f4m-URL heruntergeladen werden: [2]

php AdobeHDS.php --manifest "http://zdf0910-lh.akamaihd.net/z/dach10_v1@392872/manifest.f4m?g=YHQVDNPFDXNU&hdcore=3.8.0&plugin=aasp-3.8.0.52.27" 

Ausgabe:

                            KSV Adobe HDS Downloader

Processing manifest info....                                                   
Quality Selection:                                                             
 Available: 1456 1056 710 436 242 189 124
 Selected : 1456                                                               
Fragments Total: 5914692, First: 5881319, Start: 5914691, Parallel: 8          
^Cdating bootstrap info, Retries: 2 

Man stoppt den KSV Adobe HDS Downloader mit der Tastenkombination Strg + C .

Es befindet sich jetzt die Datei namens 80a8936523e9f452b76fb9512548eedb_1456_651d2d2e2d19cc11-p_Seg1-Frag.flv im Ziel-Verzeichnis. Der Download kann durch Verwenden der --outdir- bzw. --outfile-Optionen in ein anderes Verzeichnis gelenkt und/oder mit einen eigenen Dateinamen gespeichert werden:

php AdobeHDS.php --manifest "http://zdf0910-lh.akamaihd.net/z/dach10_v1@392872/manifest.f4m?g=YHQVDNPFDXNU&hdcore=3.8.0&plugin=aasp-3.8.0.52.27" --outdir /home/bert/Downloads --outfile Streaming-Datei.flv 

Ausgabe in diesem Fall:

                            KSV Adobe HDS Downloader

Processing manifest info....                                                   
Quality Selection:                                                             
 Available: 1456 1056 710 436 242 189 124
 Selected : 1456                                                               
Fragments Total: 5915252, First: 5881319, Start: 5915251, Parallel: 8          
^Cdating bootstrap info, Retries: 1  

Nach Abschluss befindet sich eine Datei Streaming-Datei.flv im Verzeichnis /home/bert/Downloads.

Streamen

On-Demand-Streams

Als On-Demand-Stream kann z.B. dieser von 3sat 🇩🇪 mittels via Netzwerkanalyse ermittelten manifest.f4m-URL zum mpv gestreamt werden: [2]

php AdobeHDS.php --manifest "http://zdf_hdflash_none-f.akamaihd.net/z/meta-files/3sat/smil/f4m/300/16/09/160914_salz_nano.smil/manifest.f4m?g=ZESMVNGCQAJA&hdcore=3.8.0&plugin=aasp-3.8.0.52.27" --play | mpv --cache=2048 - 

Dabei wird die Datei 2048 kBytes (2 MBytes) groß lokal gepuffert.

Beispielausgabe:

Playing: -
[file] Reading from stdin...
[ffmpeg/demuxer] flv: video stream discovered after head already parsed
[ffmpeg/demuxer] flv: audio stream discovered after head already parsed
 (+) Video --vid=1 (h264)
 (+) Audio --aid=1 (aac)
AO: [pulse] 44100Hz stereo 2ch float
VO: [opengl] 1280x720 yuv420p
AV: 00:00:26 / 00:02:02 (21%) A-V: -0.002 Dropped: 2 Cache: 10s+33MB

Exiting... (Quit)

Live-Streams

Als Live-Stream kann z.B. dieser von 3sat 🇩🇪 mittels via Netzwerkanalyse ermittelten manifest.f4m-URL zum VLC gestreamt werden: [2]

php AdobeHDS.php --manifest "http://zdf0910-lh.akamaihd.net/z/dach10_v1@392872/manifest.f4m?g=YHQVDNPFDXNU&hdcore=3.8.0&plugin=aasp-3.8.0.52.27" --play | vlc --file-caching=10000 - 

Dabei wird die Datei für 10 Sekunden (10.000 Millisekunden) lokal gepuffert.

Ausgabe:

VLC media player 2.1.6 Rincewind (revision 2.1.6-0-gea01d28)
[0x1e37118] main libvlc: VLC wird mit dem Standard-Interface ausgeführt. Benutzen Sie 'cvlc', um VLC ohne Interface zu verwenden.
[flv @ 0x7f22d4c1e200] max_analyze_duration reached
[flv @ 0x7f22d4c1e200] Estimating duration from bitrate, this may be inaccurate
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
Fontconfig warning: FcPattern object size does not accept value "0"
[0x7f22b4001248] main vout display error: Failed to resize display
[0x7f22b4001248] main vout display error: Failed to resize display        

Die angezeigten Fehlermeldungen des VLC kann man ignorieren.

Aufnahme des Stream mit dem MPlayer:

php AdobeHDS.php --manifest "http://zdf0910-lh.akamaihd.net/z/dach10_v1@392872/manifest.f4m?g=YHQVDNPFDXNU&hdcore=3.8.0&plugin=aasp-3.8.0.52.27" --play | mplayer -cache 2048 - 

Dabei wird die Datei 2048 kBytes (2 MBytes) groß lokal gepuffert.

Ausgabe:

MPlayer2 2.0-701-gd4c5b7f-2ubuntu2 (C) 2000-2012 MPlayer Team
Cannot open file '/home/oom/.mplayer/input.conf': No such file or directory
Failed to open /home/oom/.mplayer/input.conf.
Cannot open file '/etc/mplayer/input.conf': No such file or directory
Failed to open /etc/mplayer/input.conf.

Playing -.
Reading from stdin...
Cache size set to 2048 KiB
Cache fill:  0.00% (0 bytes)   

Detected file format: FLV (Flash Video) (libavformat)
[flv @ 0x7fc96d5d5600]max_analyze_duration reached
[flv @ 0x7fc96d5d5600]Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (aac), -aid 0
Load subtitles in .
Cache not responding!
Selected video codec: H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [libavcodec]
Selected audio codec: AAC (Advanced Audio Coding) [libavcodec]
AUDIO: 48000 Hz, 2 ch, floatle, 0.0 kbit/0.00% (ratio: 0->384000)
AO: [pulse] 48000Hz 2ch floatle (4 bytes per sample)
Starting playback...
VIDEO:  852x480  25.000 fps    0.0 kbps ( 0.0 kB/s)
VO: [vdpau] 852x480 => 852x480 Planar YV12 
[vdpau] Got display refresh rate 75.025 Hz.
[vdpau] If that value looks wrong give the -vo vdpau:fps=X suboption manually.
A:   5.8 V:   5.8 A-V:  0.000 ct:  0.000   0/  0  2%  4%  1.0% 0 0 50% 

Exiting... (Quit)

Beispiel für mpv:

php AdobeHDS.php --manifest "http://zdf0910-lh.akamaihd.net/z/dach10_v1@392872/manifest.f4m?g=YHQVDNPFDXNU&hdcore=3.8.0&plugin=aasp-3.8.0.52.27" --play | mpv --cache=2048 - 

Dabei wird die Datei ebenfalls 2048 kBytes (2 MBytes) groß lokal gepuffert.

Ausgabe:

Playing: -
[file] Reading from stdin...
[ffmpeg/demuxer] flv: video stream discovered after head already parsed
[ffmpeg/demuxer] flv: audio stream discovered after head already parsed
[ffmpeg/audio] aac: element type mismatch 1 != 0
 (+) Video --vid=1 (h264)
 (+) Audio --aid=1 (aac)
[ffmpeg/audio] aac: element type mismatch 1 != 0
AO: [pulse] 48000Hz stereo 2ch float
[ffmpeg/audio] aac: element type mismatch 1 != 0
[ffmpeg/audio] aac: element type mismatch 1 != 0
VO: [opengl] 852x480 => 853x480 yuv420p
AV: 00:00:26 A-V:  0.000 Cache:  8s+31KB

Exiting... (Quit)

Um eine Anzeige der verfügbaren Qualitätsstufe zu erhalten, verwendet man die --debug-Option: Als Live-Stream kann z.B. dieser von ARTE Live 🇩🇪 mittels via Netzwerkanalyse ermittelten manifest.f4m-URL zum mpv gestreamt werden: [2]

oom@oom-ms-7204:~/Programme/AdobeHDS-Skript$ php AdobeHDS.php --manifest "http://artelive-lh.akamaihd.net/z/artelive_de@393591/manifest.f4m?hdcore" --debug --play --duration 1 | mpv --cache=2048 - 

Dabei wird die Datei ebenfalls 2048 kBytes (2 MBytes) groß lokal gepuffert sowie durch die --duration-Option nach ca einer Sekunde automatisch beendet.

Im Folgenden kommt die gekürzte Ausgabe von KSV Adobe HDS Downloader und mpv gemischt:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
Manifest Entries:

 Bitrate URL
 2960    1_5d3c9e592ebde685-p_
 1628    2_5d3c9e592ebde685-p_
 928     3_5d3c9e592ebde685-p_
 578     4_5d3c9e592ebde685-p_
 296     5_5d3c9e592ebde685-p_

Updating bootstrap info, Available fragments: 0
Playing: -
Segment Tables:

Table 1:
 Number  Fragments 
 1       9951      

Fragment Tables:

Table 1:
 Number      Timestamp       Duration        Discontinuity   
 3068873     18413232000     6000                            
 3069014     18414078000     5231                            
 3069015     18414083231     0               3               
 3069020     18414114000     6000                            
 3078823     18472932000     6000                            

Update complete, Available fragments: 3078823
Base Fragment Url:
http://artelive-lh.akamaihd.net/z/artelive_de@393591/1_5d3c9e592ebde685-p_

Downloading Fragments:

Adding fragment 3078822 to download queue
[file] Reading from stdin...
Fragment 3d19fff00de90bc39ee514277d777087_1_5d3c9e592ebde685-p__Seg1-Frag3078822 successfully downloaded
Writing fragment 3078822 to flv file

Fragment 3078822:
 Type    CurrentTS       PreviousTS      Size    Position        
Writing AVC sequence header
 VIDEO   0               -1              56      
Writing AAC sequence header
 AUDIO   0               -1              4       
 VIDEO   0               0               79512   
 AUDIO   20              0               504     
 VIDEO   40              0               8192    
 AUDIO   41              20              537     
 AUDIO   63              41              470     
 VIDEO   80              40              13722   
 AUDIO   84              63              512     
 AUDIO   105             84              489     
 VIDEO   120             80              14824   
 AUDIO   127             105             352     
 AUDIO   148             127             361     
 VIDEO   160             120             11940   
 AUDIO   169             148             370     
 AUDIO   191             169             382     
 VIDEO   200             160             11539   
 AUDIO   212             191             386     
 AUDIO   233             212             388     
 VIDEO   240             200             14558   
 AUDIO   255             233             430     
 AUDIO   276             255             476     
 VIDEO   280             240             15564   
 AUDIO   297             276             495     
 AUDIO   319             297             496     
 VIDEO   320             280             11237   
 AUDIO   340             319             418     
 VIDEO   360             320             12838   
 AUDIO   361             340             355     
 AUDIO   383             361             401     
 VIDEO   400             360             14099   
 AUDIO   404             383             363     
 AUDIO   425             404             371     
 VIDEO   440             400             11233   
 AUDIO   447             425             379     
...
...
...
...
 AUDIO   5588            5567            428     
 VIDEO   5600            5560            14515   
 AUDIO   5609            5588            410     
 AUDIO   5631            5609            396     
 VIDEO   5640            5600            13810   
 AUDIO   5652            5631            398     
 AUDIO   5673            5652            404     
 VIDEO   5680            5640            13012   
 AUDIO   5695            5673            404     
 AUDIO   5716            5695            405     
 VIDEO   5720            5680            12555   
 AUDIO   5737            5716            418     
 AUDIO   5759            5737            418     
 VIDEO   5760            5720            10691   
 AUDIO   5780            5759            422     
 VIDEO   5800            5760            2667    
 AUDIO   5801            5780            422     
 AUDIO   5823            5801            421     
 VIDEO   5840            5800            3921    
 AUDIO   5844            5823            422     
 AUDIO   5865            5844            422     
 VIDEO   5880            5840            4694    
 AUDIO   5887            5865            421     
 AUDIO   5908            5887            471     
 VIDEO   5920            5880            5868    
 AUDIO   5929            5908            406     
 AUDIO   5951            5929            415     
 VIDEO   5960            5920            7952    
 AUDIO   5972            5951            415     
 AUDIO   5993            5972            437     

All fragments downloaded successfully

[ffmpeg/demuxer] flv: video stream discovered after head already parsed
[ffmpeg/demuxer] flv: audio stream discovered after head already parsed
 (+) Video --vid=1 (h264)
 (+) Audio --aid=1 (aac)
AO: [pulse] 48000Hz stereo 2ch float
VO: [opengl] 1280x720 yuv420p
AV: 00:00:05 (99%) A-V:  0.000 Cache:  0s+0KB

Exiting... (End of file)

Was man hier sieht: In Zeile 30 die "Base Fragment Url", für die in Zeile 4 die Bitrate steht.

Die im vorigen Beispiel ermittelten möglichen Qualitätsstufe möchte man jetzt vllt. gezielt auswählen. Dies funktioniert, indem man mit der --quality-Option arbeitet: [2]

php AdobeHDS.php --manifest "http://artelive-lh.akamaihd.net/z/artelive_de@393591/manifest.f4m?hdcore" --debug --play --duration 1 --quality 578 | mpv --cache=2048 - 

Im Folgenden kommt wieder die gekürzte Ausgabe von KSV Adobe HDS Downloader und mpv gemischt:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Playing: -
[file] Reading from stdin...
Manifest Entries:

 Bitrate URL
 2960    1_1ff3745b7f18c904-p_
 1628    2_1ff3745b7f18c904-p_
 928     3_1ff3745b7f18c904-p_
 578     4_1ff3745b7f18c904-p_
 296     5_1ff3745b7f18c904-p_

Updating bootstrap info, Available fragments: 0
Segment Tables:

Table 1:
 Number  Fragments 
 1       10338     

Fragment Tables:

Table 1:
 Number      Timestamp       Duration        Discontinuity   
 3068879     18413268000     6000                            
 3069014     18414078000     5149                            
 3069015     18414083149     0               3               
 3069020     18414114000     6000                            
 3079216     18475290000     6000                            

Update complete, Available fragments: 3079216
Base Fragment Url:
http://artelive-lh.akamaihd.net/z/artelive_de@393591/4_1ff3745b7f18c904-p_

Downloading Fragments:

Adding fragment 3079215 to download queue
Fragment 3d19fff00de90bc39ee514277d777087_4_1ff3745b7f18c904-p__Seg1-Frag3079215 successfully downloaded
Writing fragment 3079215 to flv file

Fragment 3079215:
 Type    CurrentTS       PreviousTS      Size    Position        
Writing AVC sequence header
 VIDEO   0               -1              56      
Writing AAC sequence header
 AUDIO   0               -1              4       
 VIDEO   0               0               4376    
 AUDIO   15              0               327     
 AUDIO   36              15              399     
 VIDEO   40              0               1906    
 AUDIO   57              36              385     
 AUDIO   79              57              413     
 VIDEO   80              40              2122    
 AUDIO   100             79              405     
 VIDEO   120             80              2036    
 AUDIO   121             100             318     
 AUDIO   143             121             324     
 VIDEO   160             120             2148    
 AUDIO   164             143             298     
...
...
...
...
 AUDIO   5796            5775            363     
 VIDEO   5800            5760            1189    
 AUDIO   5817            5796            304     
 AUDIO   5839            5817            317     
 VIDEO   5840            5800            501     
 AUDIO   5860            5839            367     
 VIDEO   5880            5840            719     
 AUDIO   5881            5860            368     
 AUDIO   5903            5881            428     
 VIDEO   5920            5880            699     
 AUDIO   5924            5903            294     
 AUDIO   5945            5924            311     
 VIDEO   5960            5920            774     
 AUDIO   5967            5945            311     
 AUDIO   5988            5967            318     

All fragments downloaded successfully

[ffmpeg/demuxer] flv: video stream discovered after head already parsed
[ffmpeg/demuxer] flv: audio stream discovered after head already parsed
 (+) Video --vid=1 (h264)
 (+) Audio --aid=1 (aac)
AO: [pulse] 48000Hz stereo 2ch float
VO: [opengl] 426x240 yuv420p
AV: 00:00:05 (99%) A-V:  0.000 Cache:  0s+0KB

Exiting... (End of file)

Was man hier sieht: In Zeile 31 die "Base Fragment Url", für die in Zeile 9 die Bitrate steht. Der KSV Adobe HDS Downloader wählt die gewünschte Qualitätsstufe 578 kBytes pro Sekunde.

Intern

Extern

Diese Revision wurde am 24. Februar 2021 09:58 von Heinrich_Schwietering erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Multimedia, Streaming, PHP, Netzwerk, Shell, Internet, Streams sichern