Удаление видео с использованием сценария

11

Как я могу отказаться от своего видео?

Я пытаюсь использовать транскод:

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

Но всегда есть ошибка «Нет такого фильтра».

Я хочу создать для этого простой скрипт наутилуса.

Crantisz
источник
Транскод не должен segfault, играть с опциями. См. Может ответить на askubuntu.com/questions/228841/… со ссылками на учебники.
Таккат

Ответы:

19

В настоящее время ffmpegиз репозитория поддерживается только более простой фильтр deshake , но не поддерживаются лучшие фильтры vidstab .

У вас есть несколько вариантов получения поддержки vidstab: скомпилируйте или используйте PPA.


составление

Это лучший вариант, если вы также хотите настроить ffmpegили использовать последнюю версию.

Сначала вам нужно скомпилировать libvidstab или использовать пакет libvidstab-dev . В настоящее время этот пакет предоставляется только 19.04 Disco Dingo и новее. Кроме того, 16.04 пользователи Xenial Xerus могут использовать пакет libvidstab-dev из PPA mc3man ).

Чтобы скомпилировать 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 .


Также см

llogan
источник
configшаг сборки ffmpeg для меня не удаётся ERROR: vidstab not found using pkg-config. Что мне не хватает?
эксперт
Также у PPA Дуга нет libvidstab-dev
эксперт
1
@guettli Это не должно. Это была опечатка. Спасибо за указание на это. Я отредактировал ответ.
llogan
Для всех (как я), кто читает слишком быстро: вам нужно использовать ffmpeg 2
guettli
похоже, не работает с Ubuntu 17.04
wotanii
3

Как уже упоминалось выше, PPA Дуга не поддерживает 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будет лучше.
Чаба Тот
Да, видстаб лучше, но сложнее.
Llogan
1

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

Эти ответы о компиляции великолепны, но они отнимают много времени и могут быть трудными для некоторых людей.

В настоящее время существует простой способ использовать образ Docker, который уже собран со многими фильтрами, кодеками и многим другим.

Лично я использовал это изображение 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владельца, и это следует изменить.

Атай
источник