स्क्रिप्ट का उपयोग करके वीडियो का वर्णन करना


12

मैं अपने वीडियो को कैसे नष्ट कर सकता हूं?

मैं ट्रांसकोड का उपयोग करने की कोशिश करता हूं:

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

लेकिन हमेशा एक त्रुटि "ऐसा कोई फ़िल्टर नहीं" होता है।

मैं इसके लिए एक सरल नॉटिलस स्क्रिप्ट बनाना चाहता हूं।


ट्रांसकोड को सेगफॉल्ट नहीं करना चाहिए, विकल्पों के साथ खेलना चाहिए। ट्यूटोरियल के लिंक के साथ Seeubuntu.com/questions/228841/… का जवाब देखें ।
तकक

जवाबों:


20

वर्तमान में, ffmpegभंडार से केवल सरल का समर्थन करता है deshake फिल्टर, लेकिन बेहतर समर्थन नहीं करता vidstab फिल्टर।

Vidstab समर्थन पाने के लिए आपके पास कुछ विकल्प हैं: PPA का संकलन या उपयोग करें।


संकलन

यह सबसे अच्छा विकल्प है यदि आप अपने ffmpegनवीनतम संस्करण को कस्टमाइज़ या उपयोग करना चाहते हैं ।

सबसे पहले आपको libvidstab को संकलित करना होगा या libvidstab-dev पैकेज का उपयोग करना होगा । वर्तमान में केवल 19.04 डिस्को डिंगो और नया यह पैकेज प्रदान करता है। वैकल्पिक रूप से, 16.04 Xenial Xerus उपयोगकर्ता mv3man PPA से libvidstab-dev पैकेज का उपयोग कर सकते हैं )।

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 को कंपाइल करने का पालन करें । जब आप उस चरण पर पहुंच जाते हैं जहां ffmpegकॉन्फ़िगर किया गया है तो --enable-libvidstabकॉन्फ़िगर विकल्पों की सूची में जोड़ें ।


mc3man पीपीए

FFmpeg के वर्तमान रिलीज के साथ साथ 16.04 क्निअल ज़ेरुस के लिए GPA पीपीए:

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

अब चलाएं ffmpeg2 ("2" पर ध्यान दें)।


प्रयोग

Vid.stab उपयोग निर्देश देखें ।


और देखें


configFfmpeg के निर्माण का चरण मेरे लिए विफल रहता है ERROR: vidstab not found using pkg-config। मैं क्या खो रहा हूँ ?
विशेषज्ञ

इसके अलावा डौग के PPA में libvidstab-dev नहीं है
विशेषज्ञ

1
@guettli यह नहीं होना चाहिए। वह एक टाइपो था। इस पर ध्यान दिलाने के लिए धन्यवाद। मैंने उत्तर संपादित किया।
ललगन

सभी के लिए (मेरी तरह), जो बहुत तेजी से पढ़ते हैं: आपको ffmpeg 2
guettli

ubuntu 17.04
wotanii

3

जैसा कि अन्य लोग ऊपर उल्लेख करते हैं कि डौग का पीपीए ज़ीनेटी (17.04) - 08/19/2017 तक समर्थन नहीं करता है । 17.10 अक्टूबर 16.04 में बाहर आ जाएगा और समाधान अधिक से अधिक अप्रचलित हो जाएगा। Zesty उपयोगकर्ताओं के लिए दो संभव समाधान:

  1. सरल: बस एक स्थिर बिल्ड का उपयोग करें https://www.johnvansickle.com/ffmpeg/
  2. अधिक काम: vid.stabजीथब से स्थापित करें ( 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अपने हेलमेट में गोप्रो साइकिल के पायदान चढ़ने की कोशिश की , लेकिन ऐसा लग रहा था कि लगभग कुछ भी नहीं किया। Deshake, के आधिकारिक उबंटू संस्करण का हिस्सा है ffmpeg, हो सकता है कि इसमें कुछ पैरामीटर संयोजन हो जो बेहतर काम करेगा, लेकिन नेट ध्वनियों पर पढ़ना vid.stabबेहतर होगा।
सेसाबा तोथ

हां, vidstab बेहतर है, लेकिन अधिक जटिल है।
ललगन

1

मुझे लगता है कि बहुत से लोग (मुझे शामिल किया गया) इस सवाल को मिला, फिल्टर के साथ सिर्फ ffmpeg का उपयोग करने की कोशिश कर रहा था।

संकलन के बारे में वे जवाब बहुत अच्छे हैं, लेकिन यह समय लेने वाला है और कुछ लोगों के लिए मुश्किल हो सकता है।

आजकल डॉकर छवि का उपयोग करने के लिए एक सरल विकल्प है जो पहले से ही कई फिल्टर, कोडेक और बहुत कुछ के साथ बनाया गया है।

व्यक्तिगत रूप से, मैंने इस छवि का उपयोग किया 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 Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.