В 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 ошибок не было. Что я могу сделать?
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
И все будет хорошо :
)