версия avconv и youtube-dl


21

У меня версия youtube-dl 2015.07.04. При загрузке видео я вижу это сообщение:

Ваша копия avconv устарела и не может должным образом смешивать отдельные видео и аудио файлы, youtube-dl загрузит один файл мультимедиа. Обновите avconv до версии 10-0 или новее, чтобы исправить это.

Очевидно, недостаток устаревшего avconv заключается в том, что youtube-dl не сможет загружать bestvideoи bestaudioотдельно, и объединять их в один файл, обеспечивая наилучшее общее доступное качество.

Как я могу найти номер версии моего установленного в настоящий момент avconv? Как я могу получить более новую версию, чем предоставленная libav-tools 6:9.18-0ubuntu0.14.04.1?

Есть ли ppa для 14.04 с avconv версии 10.0 или выше?


ты уверен, что это действительно происходит? Я видел ту же ошибку, и все же она по-прежнему объединяет два отдельных файла и даже спрашивает, хочу ли я сохранить их раздельными.
mchid

Извините, но я не могу ответить на это. Единственное сообщение, которое я вижу, - то, что я отправил, и затем видео продолжается, чтобы загрузить. Я никогда не видел предложение разделить аудио и видео. Пока я подавляю сообщение с помощью -f best.
Правосудие для Моники

Вы пытались использовать -Fсначала, чтобы увидеть, что «лучший», а затем использовать, -fчтобы явно выбрать лучшее качество?
mchid

1
нет, сначала используйте, youtube-dl -Fа затем URL. Это должно перечислить все доступные кодеки и доступные версии качества и формата. Один из них будет указан как «наилучшее» использование, -fза которым следует номер одного из перечисленных как лучший, как вы обычно используете, -f bestнапример, так ... youtube-dl -fза которым следует номер и затем URL. Например: сначала запустите youtube-dl -F http://example.comи скажите, что 13 указан как «лучший», затем запустите: youtube-dl -f 13 http://example.com
mchid

1
также, когда вы строите из исходного кода (по крайней мере, при использовании make), вы обычно можете ограничить количество потоков, которые процесс будет использовать во время компиляции, используя make j1(например, ограничить одним потоком), чтобы он не занимал ресурсы и только занимают одно ядро ​​процессора. Вероятно, сборка займет больше времени, но вы можете позволить ему работать в фоновом режиме (на случай, если вы когда-нибудь создадите что-нибудь из исходного кода в будущем), это было какое-то время, и я не помню, насколько он тяжел, потому что 15.04 имеет реальную ffmpeg теперь так или иначе.
Мчид

Ответы:


13

PPA можно найти здесь

sudo add-apt-repository ppa:mc3man/trusty-media
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install ffmpeg

Следующая команда добавит псевдоним в ваш файл bashrc, чтобы ваш пользователь мог выполнить его, youtube-dlи bash будет выполнен youtube-dl --prefer-ffmpegавтоматически, чтобы исключить ненужную печать в будущем:

echo "alias youtube-dl='youtube-dl --prefer-ffmpeg'" | tee -a ~/.bashrc; . ~/.bashrc

Вы также можете добавить дополнительные флаги в команду, отредактировав файл ~ / .bashrc в своем любимом текстовом редакторе, таком как gedit, vim или nano; просто имейте в виду, что вам не нужно и не следует использовать sudo для редактирования этого файла, так как он должен находиться в вашем текущем профиле пользователя и должен поддерживать ваши права пользователя, а не sudo или root. Просто добавьте дополнительные флаги в цитируемой команде для youtube-dl. Кроме того, после редактирования ~ / .bashrc вам нужно будет получить исходный файл или открыть новый терминал, чтобы использовать новый псевдоним. Найдите файл, выполнив следующую команду:

. ~/.bashrc

Чтобы просмотреть текущую версию libav-tools, выполните следующую команду:

dpkg -l | grep libav

Также, чтобы посмотреть, что доступно из apt-get, выполните следующую команду:

apt-cache show libav-tools | grep Version:

Все доступные версии будут перечислены. Самая новая версия будет установлена ​​по умолчанию при запуске sudo apt-get upgradeили ', dist-upgradeили вы можете просто sudo apt-get installее установить, и она установит самую новую доступную версию, если не указано иное.

Чтобы выполнить поиск связанных пакетов, используйте apt-cache searchтак:

apt-cache search libav

Чтобы сузить поиск, вы можете использовать grep только для печати результатов, содержащих ключевое слово, например:

apt-cache search libav | grep libav

По крайней мере, в Debian Testing в это время (с ffmpeg 2.8) youtube-dl --prefer-ffmpeg …достаточно было просто запустить . Я предлагаю попробовать это, прежде чем копаться в нестабильных / бета-репозиториях.
Адам Кац

@AdamKatz да, я уверен, что в тестировании Debian есть настоящий ffmpeg, однако Ubuntu Trusty (14.04) поставляется с avconv, и когда вы запускаете команду ffmpeg по умолчанию, она вызывает avconv вроде псевдонима, потому что ffmpeg был удален, а ffmpeg не был доступен снова до 15.04 (Ubuntu Vivid). Таким образом, используя Ubuntu 15.04 или более новые и последние версии Debian (я также верю, Джесси), вам не нужно будет добавлять ppa, поскольку доступен настоящий ffmpeg.
mchid

Я использую стороннее репозиторий deb-multimedia , хотя Debian Testing («Stretch», стабильный выпуск, который последует за Джесси) имеет ffmpeg 2.7.2. Из системы отслеживания пакетов Debian похоже, что ffmpeg был удален в Debian 7 (Wheezy), но вернется в Debian 9 (Stretch) . Я не посмотрел, вернет ли следующая Ubuntu истинный ffmpeg.
Адам Кац

8

Avconv-11 все еще доступен для Ubuntu Trusty в heyarje ppa:

sudo add-apt-repository ppa:heyarje/libav-11 && sudo apt-get update
sudo apt-get upgrade
sudo apt-get install libav-tools

Это работало хорошо для меня и было проще, чем ffmpegустановка 14.04.
gene_wood


3
  1. Установить FFMpeg

    sudo apt-get install ffmpeg
    
  2. Использовать этот

    youtube-dl -x --audio-format mp3 --prefer-ffmpeg <video URL>
    

Работа в youtube-dl2015.11.19


когда я попытался установить ffmpeg с помощью вашей команды, я получил: E: Пакет 'ffmpeg' не имеет кандидата на установку
Menachem
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.