Membuat ulang video menggunakan skrip

11

Bagaimana saya bisa mendesain video saya?

Saya mencoba menggunakan transcode:

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

Tapi itu menyebabkan segfault.

Mencoba menggunakan filter ffmpeg:

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

Tetapi selalu memiliki kesalahan "Tidak ada filter seperti itu".

Saya ingin membuat skrip nautilus sederhana untuk ini.

Crantisz
sumber
Transcode tidak boleh segfault, bermain dengan opsi. Lihat dapat menjawab askubuntu.com/questions/228841/… dengan tautan ke tutorial.
Takkat

Jawaban:

19

Saat ini, ffmpegdari repositori hanya mendukung filter deshake yang lebih sederhana , tetapi tidak mendukung filter vidstab yang lebih baik .

Anda memiliki beberapa opsi untuk mendapatkan dukungan vidstab: kompilasi atau gunakan PPA.


Kompilasi

Ini adalah opsi terbaik jika Anda juga ingin menyesuaikan ffmpegatau menggunakan versi terbaru.

Pertama, Anda harus mengkompilasi libvidstab atau menggunakan paket libvidstab-dev . Saat ini hanya 19,04 Disco Dingo dan yang lebih baru menyediakan paket ini. Atau, 16,04 pengguna Xenial Xerus dapat menggunakan paket libvidstab-dev dari mc3man PPA ).

Untuk mengkompilasi 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

Sekarang ikuti Cara Mengkompilasi FFmpeg di Ubuntu . Ketika Anda sampai ke langkah di mana ffmpegdikonfigurasi kemudian tambahkan --enable-libvidstabke daftar opsi konfigurasi.


mc3man PPA

Rilis FFmpeg saat ini ditambah git PPA untuk 16,04 Xenial Xerus:

sudo add-apt-repository ppa:mc3man/ffmpeg-test
sudo apt-get update
sudo apt-get install ffmpeg-static

Sekarang jalankan ffmpeg2 (perhatikan "2").


Pemakaian

Lihat petunjuk penggunaan vid.stab .


Lihat juga

llogan
sumber
configlangkah membangun ffmpeg gagal untuk saya ERROR: vidstab not found using pkg-config. Apa yang saya lewatkan?
ahli
PPA Doug juga tidak memiliki libvidstab-dev
pakar
1
@guettli Seharusnya tidak. Itu salah ketik. Terima kasih telah menunjukkannya. Saya mengedit jawabannya.
llogan
Untuk semua (seperti saya), yang membaca terlalu cepat: Anda harus menggunakan ffmpeg 2
guettli
sepertinya tidak bekerja dengan ubuntu 17.04
wotanii
3

Seperti yang disebutkan di atas bahwa PPA Doug tidak mendukung Zesty (17.04) - pada 19/08/2017. Seperti 17.10 akan keluar pada Oktober 16,04 solusi akan semakin usang. Dua kemungkinan solusi untuk pengguna Zesty:

  1. Simpler: cukup gunakan bangunan statis https://www.johnvansickle.com/ffmpeg/
  2. Lebih banyak pekerjaan: instal vid.stabdari github ( https://github.com/georgmartius/vid.stab baca instruksi kompilasi, sangat sederhana), dan kemudian kompilasi ffmpeg https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

Karena saya tidak punya banyak waktu, saya suka solusi pertama, bekerja dengan sempurna.

Pass vidstab pertama hanya bekerja pada 1 inti saja, tetapi karena rekaman GoPro saya ada dalam banyak potongan, saya dapat memproses 4 video secara bersamaan jika saya ingin memuat sistem 100%. Lulus kedua menggunakan semua 4 core.

Laptop saya i7-6820HK tetapi keduanya melewati hanya kemajuan dengan kecepatan sekitar 0,12x. Jadi ini sangat lambat, tetapi saya tidak akan peduli jika hasilnya bagus.


Pembaruan: rekaman pemasangan helm saya tampaknya sangat goyah sehingga goyangan 10 tidak cukup. Saya tidak tahu harus berbuat apa, itu maks ...

Csaba Toth
sumber
1
Saya mencoba deshakeuntuk helm saya yang terpasang rekaman sepeda GoPro tapi sepertinya hampir tidak melakukan apa-apa. Deshake adalah bagian dari versi resmi Ubuntu ffmpeg, mungkin ada beberapa kombinasi parameter yang berfungsi lebih baik, tetapi membaca di internet sepertinya vid.stabakan lebih baik.
Csaba Toth
Ya, vidstab lebih baik, tetapi lebih rumit.
llogan
1

Saya kira banyak orang (termasuk saya) menemukan pertanyaan ini, mencoba hanya menggunakan ffmpeg dengan filter.

Jawaban tentang kompilasi itu bagus, tetapi memakan waktu dan mungkin sulit bagi sebagian orang.

Saat ini ada pilihan sederhana untuk menggunakan gambar Docker yang sudah dibangun dengan banyak filter, codec, dan banyak lagi.

Secara pribadi, saya menggunakan gambar ini https://github.com/jrottenberg/ffmpeg

Penggunaan sampel sangat sederhana untuk filter deshake:

docker run -v $PWD:/temp/ \
    jrottenberg/ffmpeg \
    -i /temp/input.MTS \
    -vf deshake \
    /temp/out.avi

Juga untuk filter 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

Pikirkan saja bahwa file yang dibuat "out.avi" akan memiliki rootpemilik dan itu harus diubah.

atay
sumber