RTP स्ट्रीम में PPS और SPS के साथ ffmpeg स्ट्रीम h264 कैसे बनाएं


3

मैं RTSP पर एक h264 स्ट्रीम प्राप्त करने के लिए ffmpeg का उपयोग करने की कोशिश कर रहा हूं और उस स्ट्रीम को muliticast rpp स्ट्रीम के रूप में अग्रेषित कर रहा हूं। मैं स्ट्रीम प्राप्त कर सकता हूं, और निम्न कमांड का उपयोग करके इसे मल्टीकास्ट आरटीपी स्ट्रीम के रूप में आउटपुट कर सकता हूं: ffmpeg -i rtsp://10.255.11.203/ProfileToken_1_1 -vcodec copy -an -f rtp rtp://230.255.10.25:50000

आने वाली धारा में एसपीएस पीपीएस और एसईआई पैकेट शामिल हैं। मैं उन लोगों के रूप में अच्छी तरह से उत्पादन करने के लिए ffmpeg नहीं कर सकता।

मैंने -flags global_headerवैश्विक हेडर को सक्षम और अक्षम करने के लिए पैरामीटर के साथ प्रयोग किया है , और मैंने जोड़ने की कोशिश की है -bsf h264_mp4toannexbजो आने वाली धारा एनेक्स-बी पहले से ही काम नहीं करता है।

जवाबों:


0

क्या आने वाली धारा में वे शामिल हैं, या वे सिर्फ जरूरत नहीं थी?

यदि आप RTSP के माध्यम से स्ट्रीम प्राप्त कर रहे हैं, तो आप शायद एक RTP स्ट्रीम प्राप्त कर रहे हैं जिसमें वे पैकेट नहीं हैं। आपके ग्राहक उन धाराओं का वर्णन करने के लिए SDP प्राप्त करने के लिए RTCP के माध्यम से जुड़े होंगे, क्योंकि PPS और SPS आमतौर पर एक बार प्रति-स्ट्रीम होते हैं जब तक कि आप रिज़ॉल्यूशन, फ़्रैमरेट्स, आदि को नहीं बदल रहे हों।

अपने द्वारा चलाए जा रहे कमांड को चलाएं, लेकिन ffmpeg आउटपुट में आपको इस तरह का एक सेक्शन दिखाई देगा:

SDP:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=No Name
c=IN IP4 239.100.200.100
t=0 0
a=tool:libavformat 56.40.101
m=video 10000 RTP/AVP 96
b=AS:3027
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; sprop-parameter-sets=Z2QAM6xyBEB4AiflwEQAAAMABAAAAwDAPGDGEYA=,aOhDssiw; profile-level-id=640033

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

ffplay -i filename.sdp

यदि आप फ़ाइल को सर्वर पर रखते हैं, तो वे पता खोल सकते हैं:

ffplay -i http://yourhost/filename.sdp

आने वाली स्ट्रीम में PPS और SPS पैकेट होते हैं। प्राप्त करने वाला डिकोडर आरटीएसपी को संभालता नहीं है यह केवल एक आने वाली आरटीपी स्ट्रीम को डिकोड करेगा। इसलिए आपका उत्तर वास्तव में लागू नहीं है।
आंद्रे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.