| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Suggested in IRC by sfan5.
|
|
|
|
|
|
|
| |
Fixes `--ytdl-format="dash-fastly_skyfire-video-363357330+dash-fastly_skyfire_sep-audio-363357330" https://vimeo.com/108650530`
This happened because the video track also had audio available and after
adding it expecting an audio-only track, there were no more tracks with video.
|
| |
|
|
|
|
|
|
|
|
| |
Only youtube playlists return ID-only urls. Other extractors may
return "<extractor>:<ID>" so those still need the ytdl:// prefix.
Reproduced with
http://www.cbc.ca/burdenoftruth/videos/trailers-promos/burden-of-truth-returns
|
|
|
|
|
|
|
|
|
|
|
| |
Disable by default.
This feature was added in 7eb342757, which allowed stream selection
in runtime. Problem with this atm is that FFmpeg will try to demux
every first packet of every track leading to noticeable delay opening
the URL.
This option can be changed to enabled by default or removed when
HLS/DASH demuxers are improved upstream.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Still needs `--ytdl-raw-option=yes-playlist=` because this only
works for youtube.
This was requested in a few issues:
https://github.com/mpv-player/mpv/issues/1400
https://github.com/mpv-player/mpv/issues/2592
https://github.com/mpv-player/mpv/issues/3024
For #1400 to be completely implemented would need ytdl_hook to
re-request the same playlist with the last video's ID for the mix to
continue indefinitely which would probably too hackish to work reliably.
|
| |
|
|
|
|
|
|
|
|
| |
Remove obsolete comment about FFmpeg ignoring non-http proxies
which was repeated in ytdl_hook before the feature was added.
Remove unnecessary conditions for not nil. Lua tables will always
return nil for non-existent keys.
|
|
|
|
|
| |
This was overlooked when doing the whitelisting for video and audio to
fix #5456.
|
|
|
|
|
|
|
| |
This is important if backporting by grabbing the latest version of
the script without backporting the commit that added the property:
828bd2963cd10a851e0a977809687aed4d377dc3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
FFmpeg only suppports http proxies and ignores it if
the resulting url is https. Also, no SOCKS.
Use it like `--ytdl-raw-options=proxy=[http://127.0.0.1:3128]` so
it doesn't confuse mpv because of the colons.
You need to pass it as an option because youtube-dl doesn't give
us the proxy.
Or just set `http_proxy` environment variable as recommended before.
Added example using -append, which doesn't need escaping.
|
| |
|
|
|
|
| |
Close #5453
|
|
|
|
|
|
|
| |
This makes all the video/audio variants available for selection.
Might break with non-hls/dash, or even with dash if FFmpeg wasn't
compiled with the demuxer.
|
| |
|
|
|
|
| |
lua isn't javascript.
|
|
|
|
|
|
| |
Not very clean since there's a lot of potential unsafe urls that youtube-dl
can give us, depending on whether it's a single url, split tracks,
playlists, segmented dash, etc.
|
|
|
|
|
|
| |
Uses track tbr instead of track disposition id for dash selection
Works just as expected because youtube-dl also takes tbr from the manifests.
|
|
|
|
|
|
|
|
| |
package.config is available in 5.1, 5.2, 5.3 and luajit, so should be fine.
The first character is the path separator, so it's '\' on windows and '/'
on *nix.
This should also prevent cases where users download the wrong binary.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Should only make a difference if most of the URLs you open need
youtube-dl parsing.
|
| |
|
|
|
|
|
|
|
| |
If this breaks another site again, remove this whole if and just leave them as
separate playlist items.
Close #5364
|
| |
|
| |
|
|
|
|
| |
Close #5313
|
|
|
|
| |
Faster and more efficient than string concat with large playlists.
|
|
|
|
| |
Close #5003
|
|
|
|
|
|
| |
Apparently, this breaks youtube live and possibly other things.
This reverts commit 06519aae5837312437b07e8bfef10c025ec2f688.
|
|
|
|
|
| |
Using youtube-dl's metadata ends up with stupid things like missing
variant streams, or missing audio streams entirely.
|
|
|
|
|
| |
FFmpeg/mpv don't do it automatically.
See #4827
|
|
|
|
|
|
|
| |
Unbreaks segmented DASH with the change in
https://github.com/rg3/youtube-dl/commit/1141e9104 which made each
segment URL only use relative path from fragment_base_url with a
different key.
|
|
|
|
|
|
| |
youtube-dl supports bypassing some geographic restrictions by
setting X-Forwarded-For header when used with geo-bypass and
geo-bypass-country.
|
|
|
|
|
| |
Also, comma-separated list doesn't actually work, even quote-surrounded.
Switch to using | instead.
|
|
|
|
|
|
|
|
|
| |
This is more of a niche usecase than --ytdl-format and --ytdl-raw-options,
so a simple script option should be enough.
Either create lua-settings/ytdl_hook.conf with
'exclude=example.com,sub.example.com' option or
"--script-opts=ytdl_hook-exclude=example.com,sub.example.com"
|
|
|
|
| |
Not really important, but still interesting to know.
|
|
|
|
| |
Available since 2017.05.07 but only on certain extractors.
|
|
|
|
| |
This affects resuming playback from a watch_later directory so that you can resume playback even for URLs that have a start parameter.
|
| |
|
|
|
|
| |
Seems much more resource efficient than concatenating a string.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Seen with a VOD of a recently ended livestream on Youtube.
They seem to use segmented DASH but unlike normal Youtube
segmented DASH, the segments don't seem to need the initialization
segment.
The video actually fails to start to play if the init segment is
prepended with a lot of 'Found duplicated MOOV Atom. Skipped it' errors
popping up.
|
|
|
|
| |
They're unsupported only in MP4 DASH mode.
|
|
|
|
|
| |
All entries must be separated by ";" or "\n". The parser just doesn't
enforce it if an entry uses quoting.
|
| |
|
|
|
|
|
|
|
|
|
| |
We use the metadata provided by youtube-dl to sort-of implement
fragmented DASH streaming.
This is all a bit hacky, but hopefully a makeshift solution until
libavformat has proper mechanisms. (Although in danger of being one
of those temporary hacks that become permanent.)
|
| |
|
|
|
|
|
|
| |
Only used once for now.
Also, support switched format strings, like bestaudio+bestvideo.
|
| |
|
|
|
|
|
| |
Worked with librtmp, but ffrtmp needs to set rtmp_swfurl in addition
to rtmp_swfverify, even if they're the same value.
|
|
|
|
|
|
|
| |
Only FFmpeg supports them and they need to be in the format data://
like other protocols or prefixed with ffmpeg:// or lavf://.
Closes #4058
|
|
|
|
|
| |
mpv doesn't work well with unordered chapters.
ex: https://youtu.be/DIKPUL6b4N8
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
EDL doesn't work with subtitles with unknown length.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes missing subtitle tracks if the first entry didn't have any.
Previously it just checked for the first entry in the playlist for
requested languages and if that entry happened to not have subtitles
they also wouldn't show up for the other entries.
It will skip languages if the first entry with subs has less or
different languages than the others.
Unrelated to http_dash_segments.
|
|
|
|
| |
Unsupported for now.
|
| |
|
|
|
|
| |
While at it, pass durations of segments from ytdl if available.
|
|
|
|
| |
Partial fix to #3090
|
|
|
|
|
| |
some extractors don't return a format_note for their audio stream which
resulted in commandv complaining "argument 4 is not a string" (got nil).
|
|
|
|
|
| |
Some videos require correct Referer header for downloading, or 403
Forbidden is thrown.
|
|
|
|
|
|
| |
Defaults stay the same (--all-subs is used if sub-lang wasn't used.)
Don't forget to also add "write-sub=" if using sub-lang or else it won't
work.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Thanks to rcombs, ffmpeg now properly supports DASH and we can
remove our hacks for it and use it by default whenever
available. If you don't like this for whatever reason, you
can get the "normal" streams back with --ytdl-format=best .
Closes #579
Closes #1321
Closes #2359
|
|
|
|
| |
Closes #2370
|
| |
|
|
|
|
|
|
|
| |
Some extractors may claim to have extracted subtitles, but then
set the relevant fields to null. Try to catch those cases.
Fixes #2254
|
| |
|
| |
|
| |
|
|
|
|
|