Как я могу изменить свое видео?
Я пытаюсь использовать транскод:
transcode -J stabilize --mplayer_probe -i "input.MTS"
Но это вызывает ошибку segfault.
Попытка использовать фильтры ffmpeg:
ffmpeg -i "input.MTS" -vf vidstabdetect=shakiness=5:show=1 out.avi
ffmpeg -i "input.MTS" -vf deshake out.avi
Но всегда появляется ошибка «Нет такого фильтра».
Я хочу создать для этого простой скрипт наутилуса.
В настоящее время ffmpeg
из репозитория поддерживает только более простой фильтр deshake , но не поддерживает лучшие фильтры vidstab .
У вас есть несколько вариантов получения поддержки vidstab: скомпилируйте или используйте PPA.
Это лучший вариант, если вы также хотите настроить ffmpeg
или использовать последнюю версию.
Сначала вам нужно будет скомпилировать libvidstab или использовать пакет libvidstab-dev . В настоящее время этот пакет предоставляется только 19.04 Disco Dingo и новее. Кроме того, 16.04 пользователи Xenial Xerus могут использовать пакет libvidstab-dev из mc3man PPA ).
Чтобы скомпилировать libvidstab:
$ sudo apt-get install build-essential cmake
$ mkdir ~/ffmpeg_sources ~/ffmpeg_build
$ cd ~/ffmpeg_sources
$ wget -O https://github.com/georgmartius/vid.stab/archive/master.zip
$ unzip master.zip
$ cd vid.stab-master
$ cmake -DCMAKE_INSTALL_PREFIX:PATH=~/ffmpeg_build .
$ make
$ make install
Теперь следуйте Как скомпилировать FFmpeg в Ubuntu . Когда вы перейдете к шагу, на котором настроено ffmpeg
, добавьте --enable-libvidstab
в список параметров конфигурации.
FFmpeg текущий выпуск плюс git PPA для 16.04 Xenial Xerus:
sudo add-apt-repository ppa:mc3man/ffmpeg-test
sudo apt-get update
sudo apt-get install ffmpeg-static
Теперь запустите ffmpeg2
(примечание "2").
См. инструкции по использованию vid.stab .
Как уже упоминалось выше, PPA Дуга не поддерживает Zesty (17.04) - по состоянию на 19.08.2017. Поскольку 17.10 выйдет в октябре, 16.04 решения будут все более и более устаревшими. Два возможных решения для пользователей Zesty:
vid.stab
из github ( https://github.com/georgmartius/vid.stab прочитайте инструкции по компиляции, очень просто), а затем скомпилируйте ffmpeg
https: // trac .ffmpeg.org / wiki / CompilationGuide / Ubuntu Поскольку у меня не так много времени, мне нравится первое решение, работавшее безупречно.
Первый проход vidstab работает только на 1 ядре, но, поскольку мои кадры GoPro состоят из множества блоков, я мог бы обрабатывать 4 видео одновременно, если бы я хотел 100% загрузки системы. Второй проход использует все 4 ядра.
Мой ноутбук i7-6820HK, но оба пропускают только прогресс со скоростью примерно 0,12x. Так что это довольно медленно, но мне все равно, будет ли хороший результат.
Обновление: мои кадры крепления шлема кажутся настолько шаткими, что шаткости 10 недостаточно. Я не знаю, что делать, это максимум ...
Я предполагаю, что многие люди (меня включенный) нашли этот вопрос, пытаясь только использовать ffmpeg с фильтром.
Те ответы о компиляции являются большими, но это является трудоемким и может быть трудным для некоторых людей.
В наше время существует простая опция использовать изображение Докера, которое уже создается со многими фильтрами, кодеками и т.д.
Лично, я использовал это изображение https://, Демонстрационное использование github.com/jrottenberg/ffmpeg
очень просто для фильтра deshake:
docker run -v $PWD:/temp/ \
jrottenberg/ffmpeg \
-i /temp/input.MTS \
-vf deshake \
/temp/out.avi
Также для фильтра vidstab:
# create vectors from input file
docker run -v $PWD:/temp/ jrottenberg/ffmpeg \
-i /temp/input.MTS \
-vf vidstabdetect=stepsize=6:shakiness=8:accuracy=9:result=/temp/transform_vectors.trf -f null -
# process file using vectors from step 1
docker run -v $PWD:/temp/ jrottenberg/ffmpeg \
-i /temp/input.MTS \
-vf vidstabtransform=input=/temp/transform_vectors.trf:zoom=1:smoothing=30,unsharp=5:5:0.8:3:3:0.4 \
/temp/out.avi
Просто ум, который создал файл "out.avi", будет иметь root
владелец, и это должно быть изменено.