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.