PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Youtube downloader programmieren


alice.dj
2016-05-31, 21:55:37
Hallo,

ich habe Lust mal einen Youtube Downloader in Python oder Java zu programmieren und suche eine Starthilfe. Coden kann ich, nur wie ich aus dem Quelltext einer Youtubeseite zur downloadbaren URL komme ist mir nicht klar. Es gibt ja etliche (Online) Dienste und Firefoxplugins, also sollte es machbar sein. eine Google Recherche hat mir nicht weitergeholfen :(

Am Beispiel dieses geilen Liedes : Klick (https://www.youtube.com/watch?v=8Bd-kXFsNrI)

vermute ich die ganzen Infor hier im Ausschnitt:

<video src="mediasource:https://www.youtube.com/fd3c2c4b-7a68-4954-8626-36ec57ea07fa" class="video-stream html5-main-video" tabindex="-1" style="width: 480px; height: 360px; left: 80px; top: 0px; transform: none; opacity: 1;"></video>

Gast
2016-05-31, 22:31:30
Es gibt da verschiedene Verfahren. Richtig offiziell dokumentiert wird davon keins sein.
im youtube-dl sourcecode wirst du natürlich alles fiinden, aber warum dann noch selber schreiben... Ein stickwort heißt DASH, aber das wird komplizierter, als dir wahrscheinlich lieb ist.

Ectoplasma
2016-06-01, 07:06:44
@alice.dj, was ist jetzt genau dein Problem?

Einmal googeln und du findest genug Hinweise und Code. Beispiel: https://github.com/ytsdk/ytsdk. Ist sogar in Java.

Ganon
2016-06-01, 09:20:29
Das Hauptproblem für Qualität > 720p@30fps ist, dass Audio und Video in 2 separaten Dateien / Streams abgelegt werden, die dann hinterher (bzw. live) gemuxt werden müssen.

Als Beispiel (youtube-dl -F):

format code extension resolution note
249 webm audio only DASH audio 58k , opus @ 50k (48000Hz), 11.31MiB
250 webm audio only DASH audio 82k , opus @ 70k (48000Hz), 15.60MiB
140 m4a audio only DASH audio 129k , m4a_dash container, mp4a.40.2@128k (44100Hz), 26.62MiB
171 webm audio only DASH audio 135k , vorbis@128k (44100Hz), 23.67MiB
251 webm audio only DASH audio 161k , opus @160k (48000Hz), 29.71MiB
278 webm 256x144 DASH video 104k , webm container, vp9, 30fps, video only, 13.50MiB
160 mp4 256x144 DASH video 126k , avc1.4d400c, 30fps, video only, 21.99MiB
242 webm 426x240 DASH video 233k , vp9, 30fps, video only, 23.57MiB
133 mp4 426x240 DASH video 336k , avc1.4d4015, 30fps, video only, 47.27MiB
243 webm 640x360 DASH video 424k , vp9, 30fps, video only, 42.52MiB
134 mp4 640x360 DASH video 649k , avc1.4d401e, 30fps, video only, 46.05MiB
244 webm 854x480 DASH video 764k , vp9, 30fps, video only, 70.13MiB
135 mp4 854x480 DASH video 1170k , avc1.4d401f, 30fps, video only, 92.29MiB
247 webm 1280x720 720p 1446k , vp9, 30fps, video only, 125.29MiB
136 mp4 1280x720 720p 2067k , avc1.4d401f, 30fps, video only, 149.72MiB
302 webm 1280x720 DASH video 2296k , vp9, 60fps, video only, 169.98MiB
137 mp4 1920x1080 1080p 2363k , avc1.640028, 30fps, video only, 221.33MiB
248 webm 1920x1080 1080p 2463k , vp9, 30fps, video only, 192.14MiB
298 mp4 1280x720 DASH video 3485k , avc1.4d4020, 60fps, video only, 252.98MiB
303 webm 1920x1080 DASH video 4075k , vp9, 60fps, video only, 256.96MiB
299 mp4 1920x1080 DASH video 4592k , avc1.64002a, 60fps, video only, 366.71MiB
264 mp4 2560x1440 DASH video 6398k , avc1.640032, 30fps, video only, 540.33MiB
271 webm 2560x1440 1440p 7372k , vp9, 30fps, video only, 535.09MiB
308 webm 2560x1440 DASH video 11462k , vp9, 60fps, video only, 805.41MiB
17 3gp 176x144 small , mp4v.20.3, mp4a.40.2@ 24k
36 3gp 320x180 small , mp4v.20.3, mp4a.40.2
5 flv 426x240 small , h263, mp3 @ 64k
43 webm 640x360 medium , vp8.0, vorbis@128k
18 mp4 640x360 medium , avc1.42001E, mp4a.40.2@ 96k
22 mp4 1280x720 hd720 , avc1.64001F, mp4a.40.2@192k (best)

HarryHirsch
2016-06-10, 15:17:49
jdownloader kann das und muxt die sogar. ist auch in java, aber keine ahnung ob open source

Mosher
2016-06-12, 16:22:46
jdownloader kann das und muxt die sogar. ist auch in java, aber keine ahnung ob open source


http://jdownloader.org/knowledge/wiki/development/get-started

Viel Spaß :)

svn://svn.appwork.org/utils
svn://svn.jdownloader.org/jdownloader/browser
svn://svn.jdownloader.org/jdownloader/trunk
svn://svn.jdownloader.org/jdownloader/MyJDownloaderClient