RTP का उपयोग करके ffmpeg में स्ट्रीमिंग


5

परिदृश्य

मैं RTP का उपयोग करके 2 होस्ट के बीच एक वीडियो स्ट्रीम करने का प्रयास कर रहा हूं। मैंने पहले निम्न 2 कमांड का उपयोग करके वीएलसी का उपयोग करके इस समस्या को हल किया है

सर्वर साइड

cvlc video_file.mp4 --sout "#transcode{vcodec=h264, acodec=mpga, ab=128, channels=2, samplerate=44100}: duplicate{dst=rtp{dst=10.X.X.X, port=5004, mux=ts}}" --run-time 40 vlc://quit

ग्राहक की ओर

cvlc rtp://@:5004 --sout "#transcode{vcodec=h264, acodec=mpga, ab=128, channels=2, samplerate=44100}: std{access=file, mux=mp4, dst=downloaded.mp4}" --run-time 40 vlc://quit

आवश्यकता

अब मैं वही हासिल करना चाहता हूं लेकिन एफएफएमपीईजी के साथ। समतुल्य आदेश क्या होगा?

अब तक किया गया काम

सर्वर साइड

ffmpeg -re -i video_file.mp4 -vcodec libx264 -an -f rtp rtp://10.X.X.X:5004 -vn -acodec libtwolame -f rtp rtp://10.X.X.X:5005

ग्राहक की ओर

ffmpeg -i rtp://10.X.X.X:5004 -vcodec libx264 -an -i rtp://10.5.19.244:5005 -acodec libtwolame -vn -t 00:00:35 downloaded.mp4

हालाँकि, मैं प्राप्त स्ट्रीम को इस तरह रिकॉर्ड नहीं कर सकता।

जवाबों:


5

मान लें कि क्लाइंट का आईपी 10.0.0.2 है

सर्वर पर चलने के लिए कोड

ffmpeg -re -thread_queue_size 4 -i source_video_file.mp4 -strict -2 -vcodec copy -an -f rtp rtp://10.0.0.2:6005 -acodec copy -vn -sdp_file saved_sdp_file -f rtp rtp://10.0.0.2:7005

इस कोड को चलाने के बाद, एक एसडीपी फ़ाइल का नाम उत्पन्न किया जाना चाहिए saved_sdp_file। इसे किसी तरह ग्राहक को स्थानांतरित किया जाना चाहिए, जिसे स्ट्रीम प्राप्त करने के लिए इसकी आवश्यकता है

ग्राहक पक्ष पर चलाने के लिए कोड

ffmpeg -protocol_whitelist "file,rtp,udp" -i saved_sdp_file -strict -2 saved_video_file.mp4


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