मैंने यह वेबएम के लिए निम्न प्रकार के रूप में उबंटू पर चल रहे ffmpeg/ffserver के साथ किया था (एमपी 4 और ओग थोड़ा आसान है, और उसी सर्वर से इसी तरह से काम करना चाहिए, लेकिन आपको ब्राउज़रों में संगतता के लिए सभी 3 प्रारूपों का उपयोग करना चाहिए)।
सबसे पहले, libvpx ड्राइवरों को शामिल करने के लिए स्रोत से ffmpeg बनाएं (भले ही आप किसी संस्करण का उपयोग कर रहे हों, आपको वेबम स्ट्रीम करने के लिए नवीनतम (इस महीने के रूप में) की आवश्यकता है क्योंकि उन्होंने वैश्विक रूप से शामिल करने के लिए कार्यक्षमता को जोड़ा है हेडर)। मैंने इसे उबंटू सर्वर और डेस्कटॉप पर किया, और this guide ने मुझे दिखाया - कैसे अन्य ओएस can be found here के लिए निर्देश।
एक बार जब आप ffmpeg/ffserver का उपयुक्त संस्करण प्राप्त कर लेते हैं तो आप उन्हें स्ट्रीमिंग के लिए सेट अप कर सकते हैं, मेरे मामले में यह निम्नानुसार किया गया था।
वीडियो कैप्चर डिवाइस पर:
ffmpeg -f video4linux2 -standard ntsc -i /dev/video0 http://<server_ip>:8090/0.ffm
- कि "-f video4linux2 -मानक NTSC मैं/dev/video0" भाग अपने इनपुट स्रोत के आधार पर बदल सकती है (मेरा एक वीडियो के लिए है कार्ड ग्रहण करें)।
प्रासंगिक ffserver.conf अंश:
Port 8090
#BindAddress <server_ip>
MaxHTTPConnections 2000
MAXClients 100
MaxBandwidth 1000000
CustomLog /var/log/ffserver
NoDaemon
<Feed 0.ffm>
File /tmp/0.ffm
FileMaxSize 5M
ACL allow <feeder_ip>
</Feed>
<Feed 0_webm.ffm>
File /tmp/0_webm.ffm
FileMaxSize 5M
ACL allow localhost
</Feed>
<Stream 0.mpg>
Feed 0.ffm
Format mpeg1video
NoAudio
VideoFrameRate 25
VideoBitRate 256
VideoSize cif
VideoBufferSize 40
VideoGopSize 12
</Stream>
<Stream 0.webm>
Feed 0_webm.ffm
Format webm
NoAudio
VideoCodec libvpx
VideoSize 320x240
VideoFrameRate 24
AVOptionVideo flags +global_header
AVOptionVideo cpu-used 0
AVOptionVideo qmin 1
AVOptionVideo qmax 31
AVOptionVideo quality good
PreRoll 0
StartSendOnKey
VideoBitRate 500K
</Stream>
<Stream index.html>
Format status
ACL allow <client_low_ip> <client_high_ip>
</Stream>
- इस नोट feeder_ip ऊपर उल्लिखित ffmpeg आदेश पर अमल करने पर एक सर्वर के लिए कॉन्फ़िगर किया गया है, और client_high_ip जबकि के माध्यम से client_low_ip करने के लिए सर्वर तो server_ip पर सर्वर के लिए server_ip पर वेबएम वार्तालाप में एमपीईजी को संभालना (नीचे जारी)।
यह ffmpeg आदेश मशीन पर निष्पादित किया जाता है पहले से server_ip रूप में जाना जाता है (यह वास्तविक एमपीईजी संभालती है -> webm रूपांतरण और एक अलग फ़ीड पर यह वापस फ़ीड ffserver में):
ffmpeg -i http://<server_ip>:8090/0.mpg -vcodec libvpx http://localhost:8090/0_webm.ffm
एक बार ये सभी शुरू हो गए हैं (पहले ffserver, फिर feeder_ip ffmpeg प्रक्रिया तब सर्वर_आईपी ffmpeg प्रक्रिया) आप http: //: 8090/0.webm पर लाइव स्ट्रीम तक पहुंचने में सक्षम होना चाहिए और http पर स्थिति की जांच करनी चाहिए : //: 80 9 0/
उम्मीद है कि इससे मदद मिलती है।
को हटाएं यह अवास्तविक के विज्ञापन की तरह पढ़ता है। "वहां कई कार्यान्वयन हैं" अभी तक एकमात्र सुझाव अवास्तविक से एक समाधान है जिसके लिए लाइसेंस की आवश्यकता है। चूंकि यह 4 साल पहले की तुलना में पिछले सबसे अच्छे उत्तर की तुलना में एक बहुत अधिक वर्तमान उत्तर है, इसलिए कई कार्यान्वयन में से एक यह देखना अच्छा लगेगा कि अन्य लोग निर्माण कर सकते हैं। – JohnMetta