gpt4 book ai didi

linux - 使用 youtube-dl 和 mplayer 的 YouTube 视频流脚本出现 "Unknown option on the command line: -gf"错误的终端

转载 作者:太空狗 更新时间:2023-10-29 12:17:51 24 4
gpt4 key购买 nike

我制作了一个 bash 脚本,我可以在其中使用 youtube-dl 流式传输 YouTube 视频并使用 mplayer 播放。我基于这个终端命令:

$ mplayer -ontop -cookies -cookies-file ./cookie.txt $(youtube-dl -gf 34 --cookies ./cookie.txt "https://www.youtube.com/watch?v=<VIDEO ID>")

找到 here .

手动输入 youtube-dl 的视频分辨率和 URL 选项工作正常。然而,我想制作一个脚本,使输入更容易,这样我就不必每次播放视频时都记住整个命令。

脚本:

#!/bin/bash
echo "Input YouTube ID (the string that follows 'http://www.youtube.com/watch?v='):"
echo ""
read video_id
echo ""
echo "Input Video Resolution (17=144, 5=240, 18=360, 35=480, 22=720, or 37=1080):"
echo ""
read resolution
first_string='mplayer -ontop -cookies -cookies-file ./cookie.txt $(youtube-dl -gf res --cookies ./cookie.txt "https://www.youtube.com/watch?v=VIDEO-ID")'
second_string="${first_string/VIDEO-ID/$video_id}"
last_string="${second_string/res/$resolution}"
$last_string

我已经获得了 youtube-dl 选项,可以很好地处理我设置的字符串替换。当终端尝试读取与 youtube-dl 相关的选项并给我输出时,就会出现问题:

Unknown option on the command line: -gf
Error parsing option on the command line: -gf
MPlayer svn r34540 (Ubuntu), built with gcc-4.6 (C) 2000-2012 MPlayer Team

删除 -gf 也无济于事,给我输出:

Unknown option on the command line: --cookies
Error parsing option on the command line: --cookies
MPlayer svn r34540 (Ubuntu), built with gcc-4.6 (C) 2000-2012 MPlayer Team

我不确定为什么手动输入/复制粘贴命令可以很好地使用 -gf 和 --cookies,但不能很好地使用 bash 脚本。我正在使用 Elementary OS 0.2 Luna 64 位(基于 Ubuntu 12.04 LTS),Linux 内核 3.2.057-generic 和 Bash 4.2.25。任何见解将不胜感激。

最佳答案

问题出在 first_string 的定义上。单引号防止参数扩展,这将停止在子 shell 中运行的 youtube-dl 命令。

与其构造一个字符串供 shell 执行,不如使用正确的参数运行所需的命令更好。阅读提示后立即:

mplayer -ontop -cookies -cookies-file ./cookie.txt $(youtube-dl -gf "$resolution"    --cookies ./cookie.txt "https://www.youtube.com/watch?v=${video_id}")

关于linux - 使用 youtube-dl 和 mplayer 的 YouTube 视频流脚本出现 "Unknown option on the command line: -gf"错误的终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20467216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com