mirror of
https://github.com/yt-dlp/yt-dlp.git
synced 2024-11-26 02:55:17 +00:00
Add compat-option no-attach-infojson
This commit is contained in:
parent
eaeca38fc4
commit
4171221823
4 changed files with 5 additions and 3 deletions
|
@ -122,6 +122,7 @@ ### Differences in default behavior
|
||||||
1. Unlike youtube-dlc, yt-dlp does not allow merging multiple audio/video streams into one file by default (since this conflicts with the use of `-f bv*+ba`). If needed, this feature must be enabled using `--audio-multistreams` and `--video-multistreams`. You can also use `--compat-options multistreams` to enable both
|
1. Unlike youtube-dlc, yt-dlp does not allow merging multiple audio/video streams into one file by default (since this conflicts with the use of `-f bv*+ba`). If needed, this feature must be enabled using `--audio-multistreams` and `--video-multistreams`. You can also use `--compat-options multistreams` to enable both
|
||||||
1. `--ignore-errors` is enabled by default. Use `--abort-on-error` or `--compat-options abort-on-error` to abort on errors instead
|
1. `--ignore-errors` is enabled by default. Use `--abort-on-error` or `--compat-options abort-on-error` to abort on errors instead
|
||||||
1. When writing metadata files such as thumbnails, description or infojson, the same information (if available) is also written for playlists. Use `--no-write-playlist-metafiles` or `--compat-options no-playlist-metafiles` to not write these files
|
1. When writing metadata files such as thumbnails, description or infojson, the same information (if available) is also written for playlists. Use `--no-write-playlist-metafiles` or `--compat-options no-playlist-metafiles` to not write these files
|
||||||
|
1. `--add-metadata` attaches the `infojson` to `mkv` files in addition to writing the metadata when used with `--write-infojson`. Use `--compat-options no-attach-info-json` to revert this
|
||||||
1. `playlist_index` behaves differently when used with options like `--playlist-reverse` and `--playlist-items`. See [#302](https://github.com/yt-dlp/yt-dlp/issues/302) for details. You can use `--compat-options playlist-index` if you want to keep the earlier behavior
|
1. `playlist_index` behaves differently when used with options like `--playlist-reverse` and `--playlist-items`. See [#302](https://github.com/yt-dlp/yt-dlp/issues/302) for details. You can use `--compat-options playlist-index` if you want to keep the earlier behavior
|
||||||
1. The output of `-F` is listed in a new format. Use `--compat-options list-formats` to revert this
|
1. The output of `-F` is listed in a new format. Use `--compat-options list-formats` to revert this
|
||||||
1. Youtube live chat (if available) is considered as a subtitle. Use `--sub-langs all,-live_chat` to download all subtitles except live chat. You can also use `--compat-options no-live-chat` to prevent live chat from downloading
|
1. Youtube live chat (if available) is considered as a subtitle. Use `--sub-langs all,-live_chat` to download all subtitles except live chat. You can also use `--compat-options no-live-chat` to prevent live chat from downloading
|
||||||
|
|
|
@ -386,7 +386,7 @@ class YoutubeDL(object):
|
||||||
if True, otherwise use ffmpeg/avconv if False, otherwise
|
if True, otherwise use ffmpeg/avconv if False, otherwise
|
||||||
use downloader suggested by extractor if None.
|
use downloader suggested by extractor if None.
|
||||||
compat_opts: Compatibility options. See "Differences in default behavior".
|
compat_opts: Compatibility options. See "Differences in default behavior".
|
||||||
Note that only format-sort, format-spec, no-live-chat,
|
Note that only format-sort, format-spec, no-live-chat, no-attach-infojson
|
||||||
playlist-index, list-formats, no-youtube-channel-redirect
|
playlist-index, list-formats, no-youtube-channel-redirect
|
||||||
and no-youtube-unavailable-videos works when used via the API
|
and no-youtube-unavailable-videos works when used via the API
|
||||||
|
|
||||||
|
|
|
@ -260,7 +260,7 @@ def parse_compat_opts():
|
||||||
all_compat_opts = [
|
all_compat_opts = [
|
||||||
'filename', 'format-sort', 'abort-on-error', 'format-spec', 'multistreams',
|
'filename', 'format-sort', 'abort-on-error', 'format-spec', 'multistreams',
|
||||||
'no-playlist-metafiles', 'no-live-chat', 'playlist-index', 'list-formats',
|
'no-playlist-metafiles', 'no-live-chat', 'playlist-index', 'list-formats',
|
||||||
'no-youtube-channel-redirect', 'no-youtube-unavailable-videos',
|
'no-youtube-channel-redirect', 'no-youtube-unavailable-videos', 'no-attach-info-json',
|
||||||
]
|
]
|
||||||
compat_opts = parse_compat_opts()
|
compat_opts = parse_compat_opts()
|
||||||
|
|
||||||
|
|
|
@ -605,7 +605,8 @@ def ffmpeg_escape(text):
|
||||||
in_filenames.append(metadata_filename)
|
in_filenames.append(metadata_filename)
|
||||||
options.extend(['-map_metadata', '1'])
|
options.extend(['-map_metadata', '1'])
|
||||||
|
|
||||||
if '__infojson_filename' in info and info['ext'] in ('mkv', 'mka'):
|
if ('no-attach-info-json' not in self.get_param('compat_opts', [])
|
||||||
|
and '__infojson_filename' in info and info['ext'] in ('mkv', 'mka')):
|
||||||
old_stream, new_stream = self.get_stream_number(
|
old_stream, new_stream = self.get_stream_number(
|
||||||
filename, ('tags', 'mimetype'), 'application/json')
|
filename, ('tags', 'mimetype'), 'application/json')
|
||||||
if old_stream is not None:
|
if old_stream is not None:
|
||||||
|
|
Loading…
Reference in a new issue