Reino17 / xivid

Xivid, een Windows en Linux video-url extractie commandoregel-script.
GNU General Public License v3.0
7 stars 2 forks source link

Reddit support #22

Closed Invictaz closed 2 years ago

Invictaz commented 2 years ago

Voorbeeld:

https://www.reddit.com/r/therewasanattempt/comments/v61h9j/to_push_past_armed_courtroom_guards/

video: https://v.redd.it/rz0au4l9mz391/DASH_720.mp4

Het zou kunnen dat het e.e.a. met Widevine beveiligd is maar dat denk ik niet

Voorbeelden:

https://github.com/Solirs/gettit https://github.com/cp6/Reddit-video-downloader https://github.com/Cyan903/vreddit-download https://github.com/hamolicious/Reddit-Video-Downloader/blob/master/reddit_video_downloader.py

Reino17 commented 2 years ago

Hallo Invictaz,

Ik had onverwacht een vrije dag vandaag en had daardoor tijd om hier gelijk naar te kijken.

De (potentiële) Reddit extractor was eigenlijk zo gepiept, maar het heeft me er wel op gewezen dat xivid:m3u8-to-json() en xivid:mpd-to-json() dringend een update nodig hebben. Duurt dus nog ietsje langer.

video: _https://v.redd.it/rz0au4l9mz391/DASH_720.mp4_

Heel eigenaardig is dat dit gewoon een progressieve video is (door xivid normaal aangeduid als pg-*), terwijl deze (en lagere resoluties) vanuit het DASH-manifest komen.

Invictaz commented 2 years ago

Zo zie je maar weer Reino, door requests kom je nog eens wat tegen. Ik zag nergens dat er segmenten ingeladen werden. Het was puur 1 mp4 bestand. Wellicht dat er nog meer te behalen is. Ik zag ook audio only maar zie daar zelf niet het nut van in om dat te downloaden.

Overigens zijn er op diverse Reddit pagina's ook Youtube embed's te vinden. Denk dat het handig is dat je die er dan ook uitfiltert of doorstuurt naar een andere downloadvorm. Ik kon trouwens geen m3u8 vinden.

Reino17 commented 2 years ago

Ik zag ook audio only maar zie daar zelf niet het nut van in om dat te downloaden.

Nou, die zul je in dit geval wel nodig hebben, want ik ben er dus achter gekomen dat voor zowel het DASH- als het HLS-manifest de streams allemaal gescheiden zijn. 'https://v.redd.it/rz0au4l9mz391/DASH_720.mp4' is alleen video, waardoor je dus ook 'https://v.redd.it/rz0au4l9mz391/DASH_audio.mp4' nodig zult hebben.

Ik kon trouwens geen m3u8 vinden.

Alvast de eerste "notities" voor Reddit:

$ url=https://www.reddit.com/r/therewasanattempt/comments/v61h9j/to_push_past_armed_courtroom_guards/

$ xidel -se 'json-doc("'$url'.json")(1)/data/(children)()/data'
{
  [...]
  "subreddit": "therewasanattempt",
  [...]
  "title": "to push past armed courtroom guards",
  [...]
  "secure_media": {
    "reddit_video": {
      "bitrate_kbps": 2400,
      "fallback_url": "https://v.redd.it/rz0au4l9mz391/DASH_720.mp4?source=fallback",
      "height": 720,
      "width": 1280,
      "scrubber_media_url": "https://v.redd.it/rz0au4l9mz391/DASH_96.mp4",
      "dash_url": "https://v.redd.it/rz0au4l9mz391/DASHPlaylist.mpd?[...]&v=1&f=sd",
      "duration": 147,
      "hls_url": "https://v.redd.it/rz0au4l9mz391/HLSPlaylist.m3u8?[...]&v=1&f=sd",
      "is_gif": false,
      "transcoding_status": "completed"
    }
  },
  [...]
  "created": 1654515500,
  [...]
}

"hls_url" dus.

P.s. voor Windows zou dit zijn:

SET url=https://www.reddit.com/r/therewasanattempt/comments/v61h9j/to_push_past_armed_courtroom_guards/

xidel -se "json-doc('%url%.json')(1)/data/(children)()/data"

Overigens zijn er op diverse Reddit pagina's ook Youtube embed's te vinden.

Heb je daar ook een programma-url van?

Invictaz commented 2 years ago

Ik heb nog een ander type video gevonden met een andere player (niet die oranje) zou je daar eens naar kunnen kijken? De Youtube embeds heb ik nog niet

https://www.reddit.com/r/Superstonk/comments/ukqt10/we_need_more_eyes_on_this_wallstreet_corruption/

Invictaz commented 2 years ago

Hier heb je een Youtube Embed

https://www.reddit.com/r/techtalktutorials/comments/tn4gxu/how_to_create_a_responsive_4_column_website/

Reino17 commented 2 years ago

Ik heb net een aantal updates doorgevoerd, incl. een Reddit extractor. Alle programma-urls die je hebt gegeven zouden moeten werken. De 2e werkt op de achtergrond hetzelfde als de 1e, waardoor geen aparte handeling vereist was.