Что не так с этим автоматическим скриптом youtube-dl?

Как указано в документации:

Значения ниже 0.0 интерпретируются как 0.0, а значения выше 1.0 интерпретируются как 1.0

Это означает, что ваш значения (100, 100, 100) будут преобразованы в (1.0,1.0,1.0), что является белым. Вам нужно преобразовать каждое значение канала, используя следующее уравнение:

100: 255 = x: 1.0 => x = 100/255

где x - это значение, которое вы будет использоваться для метода

-(NSColor*)colorWithDeviceRed:CGFloat red green:CGFloat green blue:CGFloat blue alpha:CGFloat alpha];

В вашем коде должно быть что-то подобное

[NSColor colorWithDeviceRed:100.0/255.0 green:100.0/255.0 blue:100.0/255.0 alpha:1.0];
2
задан Tanktalus 28 February 2019 в 19:34
поделиться

2 ответа

Удалите одиночную кавычку из параметра -f, он будет работать.

Например,

video="youtube-dl -f bestvideo[height<=360]+worstaudio/worst[height<=360]"
0
ответ дан error404 28 February 2019 в 19:34
поделиться

Здесь подробно объясняется: Я пытаюсь поместить команду в переменную, но сложные случаи всегда терпят неудачу!

Сначала всегда double -цитировать ваши переменные, если вы не знаете точно , что произойдет, если вы не знаете.

Вам не нужно export эту переменную: вы не вызываете никакую другую программу, которая нуждается в ее использовании.

Если вы хотите повторно использовать команду, подумайте о том, чтобы поместить ее в функцию:

#!/bin/bash
function video {
    youtube-dl -f 'bestvideo[height<=360]+worstaudio/worst[height<=360]' "$1"
}
read -p "url: " url
video "$url"

На самом деле, я бы сделал это:

  1. добавьте эту функцию к Ваш ~ / .bashrc,
  2. исходный файл: source ~/.bashrc
  3. , затем вы можете использовать его из командной строки:

    video 'https://www.youtube.com/watch?v=dQw4w9WgXcQ'
    
0
ответ дан glenn jackman 28 February 2019 в 19:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: