वीडियो से थंबनेल बनाएं


11

मैं एक वीडियो से एक सरल कैप्चर कैसे कर सकता हूं। अधिमानतः कमांड लाइन से?

आइडिया: 9 के लिए 9 स्नैपशॉट भी रखे (समयावधि पर) बार, और उन्हें जेपीजी के रूप में सहेजें

उदाहरण:

Movie length = 10 min
T1= snapshot of 1 min
T2= snapshot of 2 min
......
T9= snapshot of 9 min
   |   |
 T1| T2| T3
---+---+---
 T4| T5| T6
---+---+---
 T7| T8| T9
   |   |

ऐसा करने के लिए सबसे अच्छा कार्यक्रम क्या है? क्या कोई ओपनसोर्स प्रोग्राम हैं?

जवाबों:


5

ffmpeg फ्रेमों को निकालने सहित वीडियो में हेरफेर करने के लिए एक उत्कृष्ट ओपन सोर्स टूल है।

विशिष्ट टाइमस्टैम्प से सिंगल फ्रेम निकालने के लिए आप कमांड का उपयोग कर सकते हैं

ffmpeg -i video.avi -r 1  -t 00:01:00 -f image2 image%05d.png

-आर फ्रामर्ट है। आप कमांड का उपयोग भी कर सकते हैं

ffmpeg -i video.avi -r 1/1440 -f image2 image%05d.png

हर एक मिनट (24FPS वीडियो मानकर) एक फ्रेम पाने के लिए। % 05d का अर्थ है कि प्रत्येक थंबनेल छवि की क्रमिक संख्या को 5 अंकों का उपयोग करके स्वरूपित किया जाना चाहिए।

यदि आप इमेज को मोंटाज (अपने ग्रिड) के रूप में संयोजित करना चाहते हैं, तो आप ffmpeg का उपयोग करके फ्रेम निकालने के बाद इमेजमैगिक का उपयोग कर सकते हैं।


2

यह एक कमांड लाइन कार्यक्रम नहीं है, लेकिन आप qframecatcher का उपयोग भी कर सकते हैं ।

Ubuntu / debian के लिए आवश्यकताएं हैं: sudo apt-get install libqt4-dev libxine-dev build-Essential

wget http://download.berlios.de/qframecatcher/qframecatcher-0.4.1.tar.gz
tar xzf qframecatcher-0.4.1.tar.gz
cd qframecatcher/src
qmake
make
./qframecatcher

स्रोत: http://blog.radevic.com/2008/06/how-to-create-movie-or-video-find.html


1

vcsi पायथन में लिखा गया एक कमांड-लाइन टूल है जिसका उपयोग निम्नलिखित कमांड वाले स्नैपशॉट के 3 बाय 3 ग्रिड बनाने के लिए किया जा सकता है:

vcsi -g 3x3 video.mkv -o output.jpg

0

मेरा उपयोग-मामला वीडियो से सिर्फ एक थंबनेल है, <video>टैग पोस्टर के रूप में उपयोग करने के लिए केवल एक फ़ाइल है । तो, इसे बनाने का एक तेज़ तरीका क्या होगा?

इसके साथ ffmpeg, आप यह कर सकते हैं:

ffmpeg -ss 123 -y -i video.mp4 -r 1 -updatefirst 1 -frames 1 poster.jpg

जो आपको सेव किए गए सेकंड 123के पास फ्रेम देगा ।video.mp4poster.jpg

समस्या, जैसा कि आप देख सकते हैं, यह है कि हमें यह जानना होगा कि कौन सा दूसरा सही है।

अपनी निर्भरता कम रखने के लिए, हम इसके लिए ffmpeg का उपयोग करेंगे:

# Get the time as h:m:s (non-padded)
l=$(ffmpeg -i video.mp4 2>&1 | grep Duration: | sed -r 's/\..*//;s/.*: //;s/0([0-9])/\1/g')
# Convert that into seconds
s=$((($(cut -f1 -d: <<< $l) * 60 + $(cut -f2 -d: <<< $l)) * 60 + $(cut -f3 -d: <<< $l)))
# Get frame at 25% as the thumbnail
ffmpeg -ss $((s / 4)) -y -i video.mp4 -r 1 -updatefirst 1 -frames 1 poster.jpg

वीडियो का 25% एक आम पसंद की तरह लगता है, लेकिन आप इसे 33% या 50% भी बना सकते हैं।

यहाँ एक स्क्रिप्ट है जो ऐसा करती है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.