Reino17 / xivid

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

RTL geen geluid? #17

Closed vespino closed 3 years ago

vespino commented 3 years ago

Misschien dat RTL iets heeft aangepast, maar het lijkt erop dat alle streams zonder geluid zijn. SBS heeft wel gewoon geluid.

Reino17 commented 3 years ago

Ik weet het niet zeker, maar volgens mij is dit "normaal" bij deze huidige API. Voor het afspelen/downloaden zul je de aparte audio- en videostream dus zelf moeten combineren.

Er valt echter niet veel aan te doen, ben ik bang. De HLS manifest is vergelijkbaar met die van https://www.npostart.nl/nos-journaal/28-02-2017/POW_03375558 bijvoorbeeld, maar waar de NPO videostreams in dit geval wél audio hebben hebben de RTL videostreams dat niet. En uiteraard kom je daar pas achter bij het openen van de stream met ffmpeg of een mediaspeler.

Ik heb nog steeds het plan om een wiki aan te maken met o.a. ook voorbeelden hier van, maar ja... weinig tijd.

vespino commented 3 years ago

Vorige week zat de audio er anders nog gewoon bij 🥴

Reino17 commented 3 years ago

Heb je een programma- of video-url?

vespino commented 3 years ago

Deze bijv https://www.uitzendinggemist.net/aflevering/546553/Rooijakkers_Over_De_Vloer.html

Reino17 commented 3 years ago

Weet je dat zeker? hls-7, de 720p variant van deze video heeft géén audio.

vespino commented 3 years ago

Ok, zal eerlijk toegeven, vorige week daar ben ik niet zeker van, maar destijds kon ik (bijv) Lego Masters gewoon binnen halen met geluid. Ik weet niet vanaf wanneer de streams geen geluid meer hebben, misschien is het alweer even geleden dat ik RTL heb gedownload, maar 100% zeker dat het voorheen altijd als 1 pakketje binnen te halen viel.

All you need is love kerstspecial ben ik zeker van dat dit mét geluid was.

Reino17 commented 3 years ago

Dan is https://github.com/Reino17/xivid/commit/3af7f279d6285625c9d978cdac9ef10ea59634c6 van 24 januari daar de reden voor. De "All you need is love kerstspecial" heb je dan nog binnen gehaald met de oude API.

Het probleem ligt in eerste instantie bij RTL. Het HLS-manifest suggereert dat de videostreams audio hebben, terwijl dat dus in werkelijkheid niet zo is. Wil je een video downloaden, dan zul je dus de video- en audiostream moeten "muxen"/combineren.

vespino commented 3 years ago

Ik heb nog niet gekeken, maar de audiostream is te herleiden a.d.h.v. de url? Vervolgens kan ffmpeg het vast “muxen” schat ik?

vespino commented 3 years ago

Gevonden, ik kan gewoon " -f hls-2 " meegeven, maar best vreemd dat de " hls-7 " het volgende aangeeft "hls-7 m3u8[h264+aac]", dan zou ik toch verwachten dat er geluid (aac?) bij zit?

vespino commented 3 years ago

Zo, mijn script aangepast zodat deze automatisch ook de audio stream download als die er is en meteen merged. En doooorrrr!

Reino17 commented 3 years ago

ik kan gewoon " -f hls-2 " meegeven

Ik zie dat de audiostream dubbel wordt gedetecteerd (hls-1 en hls-2). Ik zal kijken of dat te fixen is.

maar best vreemd dat de " hls-7 " het volgende aangeeft "hls-7 m3u8[h264+aac]", dan zou ik toch verwachten dat er geluid (aac?) bij zit?

Dat is 't 'm dus juist. Het HLS-manifest suggereert van wel (waar ik de informatie uit haal), maar is in werkelijkheid dus niet zo.

Voor de videostream met de hoogste resolutie én de audiostream kun je -f hls-#+hls-1 opgeven. Vervolgens met ffmpeg:

ffmpeg -i "<videostream-url>" -i "<audiostream-url>" -c copy "output.{mp4/mkv}"

Je kunt ook het HLS-manifest (hls-0) pakken en de desbetreffende "Program" pakken:

ffmpeg -i "<manifest-url>" -map 0:p:4 -c copy "output.{mp4/mkv}"
vespino commented 3 years ago

Oh cool, het kan ook met één commando. Zal eens kijken of ik dat kan verwerken in m’n download script.

Reino17 commented 3 years ago

Ik zie dat de audiostream dubbel wordt gedetecteerd (hls-1 en hls-2). Ik zal kijken of dat te fixen is.

Fixed.