Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support `or` operator in FORMAT SELECTION filter #23549

Closed
NewUserHa opened this issue Dec 28, 2019 · 4 comments
Closed

support `or` operator in FORMAT SELECTION filter #23549

NewUserHa opened this issue Dec 28, 2019 · 4 comments
Labels

Comments

@NewUserHa
Copy link

@NewUserHa NewUserHa commented Dec 28, 2019

Checklist

  • I'm reporting a feature request
  • I've verified that I'm running youtube-dl version 2019.12.25
  • I've searched the bugtracker for similar feature requests including closed ones

Description

-f "bestvideo[vcodec!=av01]+bestaudio/bestvideo[vcodec!=av1]+bestaudio/best"
to
-f "bestvideo[vcodec!=av01 or av1]+bestaudio/best" for convenient.

thanks!

@NewUserHa NewUserHa added the request label Dec 28, 2019
@NewUserHa
Copy link
Author

@NewUserHa NewUserHa commented Dec 28, 2019

and
-f "bestvideo[vcodec=avc1]+bestaudio/bestvideo[vcodec=vp9]+bestaudio/best"
to
-f "bestvideo[vcodec=avc1 or vp9]+bestaudio/best"

@dstftw
Copy link
Collaborator

@dstftw dstftw commented Dec 28, 2019

This is already available with /.

@dstftw dstftw closed this Dec 28, 2019
@NewUserHa
Copy link
Author

@NewUserHa NewUserHa commented Dec 28, 2019

Traceback (most recent call last):
  File "c:\program files\python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\program files\python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Program Files\Python37\Scripts\youtube-dl.exe\__main__.py", line 9, in <module>
  File "c:\program files\python37\lib\site-packages\youtube_dl\__init__.py", line 474, in main
    _real_main(argv)
  File "c:\program files\python37\lib\site-packages\youtube_dl\__init__.py", line 464, in _real_main
    retcode = ydl.download(all_urls)
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 2018, in download
    url, force_generic_extractor=self.params.get('force_generic_extractor', False))
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 807, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1007, in process_ie_result
    extra_info=extra)
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 869, in process_ie_result
    extra_info=extra_info)
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 807, in extract_info
    return self.process_ie_result(ie_result, download, extra_info)
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 862, in process_ie_result
    return self.process_video_result(ie_result, download=download)
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1604, in process_video_result
    format_selector = self.build_format_selector(req_format)
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1386, in build_format_selector
    return _build_selector_function(parsed_selector)
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1233, in _build_selector_function
    fs = [_build_selector_function(s) for s in selector]
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1233, in <listcomp>
    fs = [_build_selector_function(s) for s in selector]
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1243, in _build_selector_function
    fs = [_build_selector_function(s) for s in selector.selector]
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1243, in <listcomp>
    fs = [_build_selector_function(s) for s in selector.selector]
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1343, in _build_selector_function
    video_selector, audio_selector = map(_build_selector_function, selector.selector)
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1350, in _build_selector_function
    filters = [self._build_format_filter(f) for f in selector.filters]
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1350, in <listcomp>
    filters = [self._build_format_filter(f) for f in selector.filters]
  File "c:\program files\python37\lib\site-packages\youtube_dl\YoutubeDL.py", line 1090, in _build_format_filter
    raise ValueError('Invalid filter specification %r' % filter_spec)
ValueError: Invalid filter specification 'vcodec=avc1/vp9'
@dstftw
Copy link
Collaborator

@dstftw dstftw commented Dec 28, 2019

Not inside brackets. You must specify complete expression separated by /. Read FAQ.

@ytdl-org ytdl-org locked and limited conversation to collaborators Dec 28, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
2 participants
You can’t perform that action at this time.