youtube-dl
Αντώνης Αντωνούλας
aantonis at otenet.gr
Mon Feb 25 13:13:28 UTC 2019
Κωνσταντίνε έφτιαξα το script αλλά όταν το τρέχω βγάζει λάθη π.χ.:
Please type the video URL:
https://youtu.be/ONXfL6evR0Q
[youtube] ONXfL6evR0Q: Downloading webpage
[youtube] ONXfL6evR0Q: Downloading video info webpage
Traceback (most recent call last):
File "/bin/youtube-dl", line 11, in <module>
load_entry_point('youtube-dl==2019.2.18', 'console_scripts',
'youtube-dl')()
File "/usr/lib/python3.7/site-packages/youtube_dl/__init__.py", line
472, in main
_real_main(argv)
File "/usr/lib/python3.7/site-packages/youtube_dl/__init__.py", line
462, in _real_main
retcode = ydl.download(all_urls)
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
2006, in download
url,
force_generic_extractor=self.params.get('force_generic_extractor', False))
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
805, in extract_info
return self.process_ie_result(ie_result, download, extra_info)
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
859, in process_ie_result
return self.process_video_result(ie_result, download=download)
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
1601, in process_video_result
format_selector = self.build_format_selector(req_format)
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
1383, in build_format_selector
return _build_selector_function(parsed_selector)
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
1230, in _build_selector_function
fs = [_build_selector_function(s) for s in selector]
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
1230, in <listcomp>
fs = [_build_selector_function(s) for s in selector]
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
1340, in _build_selector_function
video_selector, audio_selector = map(_build_selector_function,
selector.selector)
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
1230, in _build_selector_function
fs = [_build_selector_function(s) for s in selector]
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
1230, in <listcomp>
fs = [_build_selector_function(s) for s in selector]
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
1347, in _build_selector_function
filters = [self._build_format_filter(f) for f in selector.filters]
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
1347, in <listcomp>
filters = [self._build_format_filter(f) for f in selector.filters]
File "/usr/lib/python3.7/site-packages/youtube_dl/YoutubeDL.py", line
1087, in _build_format_filter
raise ValueError('Invalid filter specification %r' % filter_spec)
ValueError: Invalid filter specification 'm4a
πράγμα που δεν συμβαίνει όταν δίνω την εντολή κανονικά δηλ. χωρίς το script.
Καμιά ιδέα;
Στις 25/2/19 2:39 μ.μ., ο Konstantinos Togias έγραψε:
> Μπορείς πολύ εύκολα να το κάνεις με ένα bash shell script. Δημιουργείς
> ένα αρχείο κειμένου με όνομα π.χ. yt.sh και εισάγεις σε αυτό το
> παρακάτω περιεχόμενο:
>
> #!/bin/bash
> # This is a bash script thus it must be interpreted by bash
>
> # Echo a prompt:
> echo Please type the video URL:
> # Read the string user types into a variable with name url:
> read url
> # Run youtube-dl giving it url string as its last parameter:
> youtube-dl -f bestvideo[ext=mp4]+bestaudio[m4a] $url
>
> Στο τέλος θα χρειαστεί να δώσεις το execution flag στο αρχείο:
> chmod +x yt.sh
>
> Ακόμα, ίσως θες να το βάλεις σε κάποιο σημείο που βρίσκεται στο PATH
> του shell σου, ώστε να μην χρειάζεσαι τη διαδρομή του για να το
> καλέσεις, όπως π.χ. στο ~/.local/bin/ .
>
> ---
> Konstantinos Togias
> M.Sc. in Mathematics of Computers and Decision Making
> Software & Web Applications Developer
>
> tel. (+30)6946977595
> e-mail: info at ktogias.gr <mailto:info at ktogias.gr>
> www: http://ktogias.gr
>
>
> On Mon, Feb 25, 2019 at 2:09 PM Αντώνης Αντωνούλας <aantonis at otenet.gr
> <mailto:aantonis at otenet.gr>> wrote:
>
> Θα ήθελα τη βοήθειά σας σε ένα θέμα που έχει σχέση με το τερματικό.
>
> Χρησιμοποιώ το youtube-dl για να κατεβάσω κάποιο βίντεο από το
> youtube
> κάνοντας χρήση της εντολής:
>
> youtube-dl -f bestvideo[ext=mp4]+bestaudio[m4a]
>
> και ακολούθως επικολλώ το url του βίντεο δίπλα από την εντολή.
>
> Υπάρχει τρόπος να δημιουργήσω κάποιο script με όνομα π.χ. yt και
> μόλις
> το πληκτρολογώ να τρέχει τη συγκεκριμένη εντολή ζητώντας μου το
> url ώστε
> η διαδικασία να γίνεται ευκολότερα;
>
> Ευχαριστώ εκ των προτέρων για την όποια βοήθεια.
>
>
> --
> Ubuntu-gr mailing list
> Ubuntu-gr at lists.ubuntu.com <mailto:Ubuntu-gr at lists.ubuntu.com>
>
> If you do not want to receive any more messages from the ubuntu-gr
> mailing list, please follow this link and choose unsubscribe:
> https://lists.ubuntu.com/mailman/listinfo/ubuntu-gr
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-gr/attachments/20190225/9b0e5a60/attachment.html>
More information about the Ubuntu-gr
mailing list