2011-12-17 16 views
10

छवियों के रूप में फ्रेम की एक श्रृंखला आउटपुट करने के लिए ffmpeg का उपयोग करते समय the only format I can find documentation forframe_%d.jpg है। %d पहचानकर्ता अनुक्रमिक फ्रेम गणना द्वारा प्रतिस्थापित किया गया है।ffmpeg फ़ाइल नाम आउटपुट प्रारूप

क्या अन्य पैरामीटर मैं आउटपुट फ़ाइल प्रारूप में उपयोग कर सकते हैं? विशेष रूप से, मुझे विशिष्ट फ्रेम के टाइमस्टैम्प को जोड़ने की क्षमता की आवश्यकता है।

+0

इसे ffmpeg-dev - http://ffmpeg.org/pipermail/ffmpeg-devel/2011- दिसम्बर/117790.html –

उत्तर

5

इस व्यवहार को अभी तक लागू नहीं किया गया था।

मैंने एफएफएमपीईजी (https://github.com/yuvadm/FFmpeg) के अपने कांटा पर %t समर्थन का प्रारंभिक संस्करण लागू किया, और वर्तमान में पैच को साफ करने पर काम कर रहा हूं ताकि इसे अपस्ट्रीम में विलय किया जा सके।

+2

के साथ भी ले जाया गया क्या आपने कभी इसे कोर प्रोजेक्ट में सबमिट किया था? एक [खुला 3yr पुराना अनुरोध] है (https://trac.ffmpeg.org/ticket/1452) (जो मुझे स्वयं करने की कोशिश करते समय मिला)। –

+0

@YuvalAdam [GitHub पर अपने ffmpeg रेपो] को एक बार देख ले (https://github.com/yuvadm/FFmpeg/commit/e1524dda42c9056f393a0ec0eb494d5dc31e2b1e#commitcomment-19635439) कृपया। :) – Florida

3

The strftime option आप की तारीख और समय की जानकारी के साथ फ़ाइल नाम विस्तार करने के लिए अनुमति देता है। वाक्यविन्यास के लिए the documentation of the strftime() function देखें।

उदाहरण strftime से चित्र फ़ाइलें उत्पन्न करने के लिए के लिए() %Y-%m-%d_%H-%M-%S पैटर्न, निम्नलिखित ffmpeg कमांड इस्तेमाल किया जा सकता:

ffmpeg -f v4l2 -r 1 -i /dev/video0 -f image2 -strftime 1 "%Y-%m-%d_%H-%M-%S.jpg" 
+2

जहां तक ​​मैं समझता हूं, यह वास्तविक समय और तारीख को आउटपुट करेगा, जबकि मेरी आवश्यकता वीडियो के चल रहे समय के लिए होगी। –

+0

दुर्भाग्य से केवल "दूसरा" ग्रैन्युलरिटी (दीवार घड़ी का समय देता है) लेकिन यह काम करता है ... – rogerdpack

+0

उबंटू 14 पर हममें से उन लोगों के लिए जिन्हें एवनोनव का उपयोग करने के लिए मजबूर किया गया है, स्ट्रैटेम विकल्प विभाजन के लिए उपलब्ध नहीं है। मुझे कोई काम नहीं मिला, लेकिन 'सूडो एड-एपीटी-रिपोजिटरी पीपीए: एमसी 3man/ट्रस्टी-मीडिया' 'सूडो एपीटी-अपडेट अपडेट' 'सूडो एपीटी-डिस्ट डिस्प्ले' द्वारा यूबंटू 14 पर एफएफएमपीईजी स्थापित करने में सक्षम था। -अपग्रेड' 'sudo apt-get ffmpeg' – Tycon

1

मुझे लगता है कि फिल्म में समय के आधार पर फ़ाइल नाम बनाता है एक bash स्क्रिप्ट हैक की गई। यह फ़ाइल नाम में एक प्रारूप का उपयोग करता है: "hh_mm_ss"। आप इसे देख सकते हैं:

https://github.com/pozar/makemoviethumbs

+0

स्थापित करें" निरंतर "फ्रेम दर की आवश्यकता होती है, दुर्भाग्य से मेरे पास नहीं है: | – rogerdpack

0

एक अन्य विकल्प आप चाहते हैं ffprobe उस पर -show_packets चलाने के लिए, और करने के लिए उस डेटा का उपयोग करने के लिए होगा "यह निष्कर्ष निकाल" प्रत्येक उत्पन्न jpg फ़ाइल का टाइमस्टैम्प (यह मानते हुए आप उत्पन्न एक आने वाली वीडियो फ्रेम प्रति)। ओह!

0

फ्रेम की संख्या के लिए विशेष डिबग मोड के साथ रिपोर्ट का उपयोग कर सकते हैं:

FFREPORT=file=\'file.log\':level=48 && ffmpeg ... -vf select=eq(pict_type\,PICT_TYPE_I) -vsync vfr -f image2 OUTPUT 

तो आप preg_match_all साथ नाम से मेल कर सकते हैं:

preg_match_all("/] n:(\\d+)\\.[^>]+pict_type:I/Us",$log,$m,PREG_PATTERN_ORDER,5000); 
$frames=$m[1]; 

कृपया का आनंद लें!

+1

आपको कोड के रूप में अपना कोड प्रारूपित करना चाहिए। –

संबंधित मुद्दे