Охолодження відео за допомогою сценарію


12

Як я можу скасувати своє відео?

Я намагаюся використовувати перекодування:

transcode  -J stabilize --mplayer_probe -i "input.MTS"

Але це викликає сегментацію.

Спроба використовувати фільтри ffmpeg:

ffmpeg -i "input.MTS" -vf vidstabdetect=shakiness=5:show=1 out.avi
ffmpeg -i "input.MTS" -vf deshake out.avi

Але завжди є помилка "Немає такого фільтра".

Я хочу створити для цього простий скрипт nautilus.


Перекодування не повинно бути за замовчуванням, грати з параметрами. Див., Можливо, відповідь на askubuntu.com/questions/228841/… із посиланнями на підручники.
Таккат

Відповіді:


20

В даний час ffmpegз репозиторію підтримується лише простіший фільтр усунення , але не підтримується кращі фільтри 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до списку параметрів налаштування.


mc3man PPA

Поточний реліз 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 .


Також див


configкрок побудови ffmpeg мені не вдається ERROR: vidstab not found using pkg-config. Що я пропускаю?
експерт

Також у PPA Дуга немає libvidstab-dev
експерт

1
@guettli Це не повинно. Це був друкарський помилок. Дякуємо, що вказали на це. Я відредагував відповідь.
логіан

Для всіх (як я), які читають занадто швидко: вам потрібно використовувати ffmpeg 2
guettli

не працює з ubuntu 17.04
wotanii

3

Як згадують інші вище, ДПГ Дуга не підтримує Zesty (17.04) - станом на 19.08.2017. Оскільки 17.10 вийде у жовтні 16.04 рішення будуть старішими та застарілими. Два можливих рішення для користувачів Zesty:

  1. Простіше: просто використовуйте статичну збірку https://www.johnvansickle.com/ffmpeg/
  2. Більше роботи: встановіть 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 недостатньо. Я не знаю, що робити, це макс ...


1
Я спробував на deshakeмоєму шоломі мотоцикли GoPro, але, схоже, майже нічого не зробив. Deshake є частиною офіційної версії Ubuntu ffmpeg, можливо, є якась комбінація параметрів, яка б працювала краще, але читання в мережі виглядає як vid.stabкраще.
Csaba Toth

Так, vidstab краще, але складніше.
llogan

1

Я думаю, що багато людей (включаючи мене) знайшли це питання, намагаючись просто використовувати ffmpeg з фільтром.

Відповіді щодо компіляції є чудовими, але це трудомістко і може бути важким для деяких людей.

На сьогоднішній день існує простий варіант використання зображення Docker, який вже побудований з багатьма фільтрами, кодеками та іншим.

Особисто я використав це зображення https://github.com/jrottenberg/ffmpeg

Використання зразка дуже просто для фільтра знешкодження:

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власника, і це потрібно змінити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.