firsttris / plugin.video.sendtokodi

:tv: plays various stream sites on kodi using youtube-dl
MIT License
126 stars 28 forks source link

best video and audio with jsonrpc #53

Closed sumanex closed 2 years ago

sumanex commented 2 years ago

Hello, this cmd below is not working

curl -v -H "Content-Type: application/json" http://kodi:kodi@192.168.0.193:8080/jsonrpc -s --data-binary '{"jsonrpc": "2.0", "method": "Player.Open", "params": { "item": { "file": "plugin://plugin.video.sendtokodi/?https://www.youtube.com/watch?v=hph0FEzIMeE {\"ydlOpts\":{\"format\":\"bv\"+\"ba\"}}" }}, "id": 1 }' neither is bv,ba . However using single flag only bv or either ba is working.

nullket commented 2 years ago

Nowadays streaming websites (like youtube) usually separate their audio and video in two streams. Nonetheless they also keep one version where both audio and video is in one stream (for youtube this is the 720p version).

The options bv mean the best video ONLY, as well as ba means the best audio ONLY. Using either you would end up with audio OR video. Using both would still somehow mean that you would download two files. Usually when using yt-dlp outside kodi it just downloads two separate files and then automatically merges them into one file.

Of course this is not possible for kodi (as you want to stream and not download in advance). Since a while kodi supports "DASH/inputstream adaptive" which would allow sending two separated (audio+video) streams to kodi. Unfortunately the implementation is a bit complex and has not been done in this plugin here yet https://github.com/firsttris/plugin.video.sendtokodi/issues/34.

Long story short: The plugin uses best automatically (no need to specify any options) as best will always be the best available option that contain audio and video in one stream. Thus youtube any many other pages are limited to 720p with this plugin. Higher resolutions would require to enable DASH which would require a good piece of work.

Closing as this is not an issue of the plugin but an intended way how youtube dlp works (see the formats). Enabling higher qualities is already tracked in https://github.com/firsttris/plugin.video.sendtokodi/issues/34