मैं चाहता हूं कि मेरी वेबसाइट FLV फ़ाइलों में कुछ वेबकैम रिकॉर्डिंग में शामिल हो (जैसे यह एक)। यह उपयोगकर्ता इनपुट के बिना लिनक्स पर किया जाना चाहिए। मैं यह कैसे करु? सादगी के लिए, मैं एक ही फ्लॉव का उपयोग एक फ्लॉव प्राप्त करने की आशा में दोनों इनपुट के रूप में करूंगा जो एक ही पंक्ति में दो बार खेलता है।वेबकैम में शामिल होने के लिए कैसे करें FLVs
यह इतना आसान होना चाहिए, है ना? ffmpeg FAQ में एक पूर्ण कोड उदाहरण भी है।
ठीक है, पाइप मुझे समस्याएं दे रहे हैं (दोनों मेरे मैक चल रहे तेंदुए और उबंटू 8.04 पर) तो चलिए इसे सरल रखें और सामान्य फ़ाइलों का उपयोग करें। इसके अलावा, अगर मैं 15 एफपीएस की दर निर्दिष्ट नहीं करता हूं, तो दृश्य भाग extremely fast चलाता है। उदाहरण स्क्रिप्ट इस प्रकार बन जाती है:
ffmpeg -i input.flv -vn -f u16le -acodec pcm_s16le -ac 2 -ar 44100 \
- > temp.a < /dev/null
ffmpeg -i input.flv -an -f yuv4mpegpipe - > temp.v < /dev/null
cat temp.v temp.v > all.v
cat temp.a temp.a > all.a
ffmpeg -f u16le -acodec pcm_s16le -ac 2 -ar 44100 -i all.a \
-f yuv4mpegpipe -i all.v -sameq -y output.flv
ठीक है, इसका उपयोग ऑडियो के लिए काम करेगा, लेकिन मुझे केवल पहली बार वीडियो मिल जाएगा। यह इनपुट 5flv के रूप में फेंकने वाले किसी भी FLV के मामले में होता है, जिसमें मूवी टीज़र शामिल हैं जो लाल 5 के साथ आते हैं।
ए) उदाहरण स्क्रिप्ट विज्ञापन के रूप में क्यों काम नहीं करती है, विशेष रूप से मुझे उन सभी वीडियो क्यों नहीं मिलते हैं जिन्हें मैं उम्मीद कर रहा हूं?
बी) मुझे फ़्रेमेट निर्दिष्ट क्यों करना है जबकि Wimpy प्लेयर सही गति पर FLV चला सकता है?
दो flvs में शामिल होने का एकमात्र तरीका मेनकोडर का उपयोग करना था। समस्या यह है, mencoder flvs शामिल होने के लिए प्रतीत नहीं होता:
mencoder input.flv input.flv -o output.flv -of lavf -oac copy \
-ovc lavc -lavcopts vcodec=flv
मैं एक चल बिन्दु अपवाद मिलता है ...
MEncoder 1.0rc2-4.0.1 (C) 2000-2007 MPlayer Team
CPU: Intel(R) Xeon(R) CPU 5150 @ 2.66GHz (Family: 6, Model: 15, Stepping: 6)
CPUflags: Type: 6 MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2
success: format: 0 data: 0x0 - 0x45b2f
libavformat file format detected.
[flv @ 0x697160]Unsupported audio codec (6)
[flv @ 0x697160]Could not find codec parameters (Audio: 0x0006, 22050 Hz, mono)
[lavf] Video stream found, -vid 0
[lavf] Audio stream found, -aid 1
VIDEO: [FLV1] 240x180 0bpp 1000.000 fps 0.0 kbps (0.0 kbyte/s)
[V] filefmt:44 fourcc:0x31564C46 size:240x180 fps:1000.00 ftime:=0.0010
** MUXER_LAVF *****************************************************************
REMEMBER: MEncoder's libavformat muxing is presently broken and can generate
INCORRECT files in the presence of B frames. Moreover, due to bugs MPlayer
will play these INCORRECT files as if nothing were wrong!
*******************************************************************************
OK, exit
Opening video filter: [expand osd=1]
Expand: -1 x -1, -1 ; -1, osd: 1, aspect: 0.000000, round: 1
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffflv] vfm: ffmpeg (FFmpeg Flash video)
==========================================================================
audiocodec: framecopy (format=6 chans=1 rate=22050 bits=16 B/s=0 sample-0)
VDec: vo config request - 240 x 180 (preferred colorspace: Planar YV12)
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
videocodec: libavcodec (240x180 fourcc=31564c46 [FLV1])
VIDEO CODEC ID: 22
AUDIO CODEC ID: 10007, TAG: 0
Writing header...
[NULL @ 0x67d110]codec not compatible with flv
Floating point exception
ग) वहाँ mencoder एनकोड flvs को डिकोड और सही ढंग से करने के लिए एक तरीका है? वहाँ
ffmpeg -i input.flv -vcodec rawvideo -acodec pcm_s16le -r 15 file.avi
mencoder -o output.avi -oac copy -ovc copy -noskip file.avi file.avi
ffmpeg -i output.avi output.flv
घ):
तो एक ही रास्ता मैं अब तक flvs शामिल होने के लिए मिल गया है, flv और avi बीच आगे और पीछे जाने के लिए ffmpeg उपयोग करने के लिए, और mencoder का उपयोग एविस शामिल होने के लिए है इसे प्राप्त करने के लिए एक बेहतर तरीका होना चाहिए ... कौन सा?
ई) फ़्रेमेट की समस्या के कारण, हालांकि, निरंतर फ्रेमरेट के साथ केवल flvs (जैसे मैंने facebook के माध्यम से रिकॉर्ड किया है) को एविस में सही ढंग से परिवर्तित कर दिया जाएगा, लेकिन यह उन flvs के लिए काम नहीं करेगा जो मुझे लगता है रिकॉर्डिंग (जैसे this one या this one)। क्या इन flvs के लिए भी ऐसा करने का कोई तरीका है?
किसी भी मदद की बहुत सराहना की जाएगी।
यह है कि मेनकोडर में शून्य से विभाजित है? – rogerdpack