के साथ लाइव स्ट्रीमिंग में देरी को कम करने के लिए मुझे कोई समस्या है। मैं अपने वेबकैम से ffmpeg के साथ एक लाइव स्ट्रीमिंग करना चाहता हूं।ffmpeg
- मैं ffserver लॉन्च करता हूं और यह काम करता है।
एक और टर्मिनल से मैं इस आदेश साथ स्ट्रीम करने के लिए ffmpeg लांच और यह काम करता है:
<Stream test.webm> Feed feed1.ffm Format webm NoAudio VideoCodec libvpx VideoSize 720x576 VideoFrameRate 25 # Video settings VideoCodec libvpx VideoSize 720x576 # Video resolution VideoFrameRate 25 # Video FPS AVOptionVideo flags +global_header # Parameters passed to encoder # (same as ffmpeg command-line parameters) AVOptionVideo cpu-used 0 AVOptionVideo qmin 10 AVOptionVideo qmax 42 #AVOptionVideo quality good PreRoll 5 StartSendOnKey VideoBitRate 400 # Video bitrate </Stream>
मैं के साथ धारा का शुभारंभ:
sudo ffmpeg -re -f video4linux2 -i /dev/video0 -fflags nobuffer -an http://localhost:8090/feed1.ffm
मेरी विन्यास फाइल में मैं इस धारा है
एफएफप्ले http: // 1 9 2.168.1.2: 80 9 0/test.webm यह काम करता है लेकिन मुझे 4 सेकंड की देरी है और मैं इस देरी को कम करना चाहता हूं क्योंकि मेरे आवेदन के लिए आवश्यक है। धन्यवाद
आप probesize का मूल्य कम करने की कोशिश कर सकते हैं:: 'ffplay -probesize 500000 http: //192.168.1.2: 8090/test.webm' एसडीएल बाहर का उपयोग करते हुए भी न्यूनतम विलंबता के साथ फ्रेम देखने के लिए कहा है (500 Kb के लिए, इस मान के साथ प्रयोग, अगर मैं गलत नहीं हूं तो डिफ़ॉल्ट मान 5 एमबी है।) – pogorskiy
ठीक है धन्यवाद। अब मुझे एक मोबाइल ब्राउज़र में स्ट्रीम देखना है और इसलिए मैं ffplay का उपयोग नहीं कर सकता। मुझे कॉन्फ़िगरेशन फ़ाइल को अनुकूलित करने के लिए कुछ सुझाव चाहिए। –
पढ़ना http://ffmpeg.org/sample.html मैं कल्पना कर सकता हूं कि आप VideoBufferSize के साथ प्रयास कर सकते हैं या GOP को कम कर सकते हैं (यह बैंडविड्थ उपयोग को बढ़ाता है)। –