Преобразование в ogg через avconv - Неизвестный кодер 'libtheora' (ubuntu 16.04)

В Ubuntu 16.04 я пытаюсь преобразовать видео, используя

"input.avi" -c:v libtheora -qscale:v 6 -c:a libvorbis -qscale:a 5 "out.ogv"

, но я получаю эту ошибку:

Unknown encoder 'libtheora'

В Ubuntu 14.04 ошибок не было. Что я могу сделать?

1
задан 13 September 2016 в 03:30

1 ответ

Ubuntu 16.04 Xenial Xerus LTS действительно имеет пакет с именем libav-tools:

andrew@athens:~$ apt-cache policy libav-tools
libav-tools:
  Installed: 7:2.8.6-1ubuntu2
  Candidate: 7:2.8.6-1ubuntu2
  Version table:
 *** 7:2.8.6-1ubuntu2 500
        500 http://archive.ubuntu.com/ubuntu xenial/universe amd64 Packages
        500 http://archive.ubuntu.com/ubuntu xenial/universe i386 Packages
        100 /var/lib/dpkg/status

и, тем не менее, имеет avconv. Однако все исполняемые файлы в пакете libav-tools являются указателями на связанные исполняемые файлы FFmpeg:

andrew@athens:~$ ls -l /usr/bin/{avconv,avplay,avprobe}
lrwxrwxrwx 1 root root 6 Mar 15 06:32 /usr/bin/avconv -> ffmpeg
lrwxrwxrwx 1 root root 6 Mar 15 06:32 /usr/bin/avplay -> ffplay
lrwxrwxrwx 1 root root 7 Mar 15 06:32 /usr/bin/avprobe -> ffprobe
andrew@athens:~$ 

Теперь FFmpeg можно протестировать для кодировки libtheora следующим образом: тест, который я выполнил на моей Xenial-установке: [ ! d3]

andrew@athens:~$ ffmpeg -encoders 2>/dev/null | grep theora
 V..... libtheora            libtheora Theora (codec theora)

Итак, акция, немодифицированная установка FFmpeg (или фиктивного пакета libav-tools) указывает на связанные исполняемые файлы FFmpeg .

Мой лучший совет для вы должны полностью удалить все копии FFmpeg или libav-tools в своей системе, а также полностью удалить PPF FFmpeg для более старых версий Ubuntu, а затем просто запустить:

sudo apt-get install ffmpeg libavcodec-extra

И все будет хорошо :

)
1
ответ дан 23 May 2018 в 06:13
  • 1
    Насколько я знаю, ffmpeg строит с кодеками и не использует системные кодеки. В любом случае, эти пакеты были установлены в моей системе – Crantisz 15 September 2016 в 09:26
  • 2
    @Crantisz FFmpeg использует свои собственные кодеки, но любая вещь, отмеченная «lib», обозначает внешнюю библиотеку, одна из них - libtheora. Ваша копия FFmpeg из PPA от mc3man - это более старая версия, предназначенная для Trusty, в Xenial Repositories есть более эффективная версия. – andrew.46 20 September 2016 в 03:47

Другие вопросы по тегам:

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