SRT трансляция деген не? SRT мен RTMP салыстыруы
SRT — сенімсіз желілерге төтеп беруге арналған бейне тасымалдау протоколы. Оның жоғалған пакеттерді қалай қалпына келтіретінін, кідіріс баптауы не істейтінін, RTMP-мен қалай салыстырылатынын және платформалардың көбі неге әлі RTMP сұрайтынын түсіндіреміз.
Осы бетте
SRT (Secure Reliable Transport) — жалпыға ортақ интернет сияқты болжауға келмейтін желілер арқылы тікелей бейне жіберуге арналған ашық бастапқы кодты протокол. Ол UDP үстінде жұмыс істейді, жоғалған пакеттерді қайта сұрайды, сенімділік үшін қанша кідіріс беретініңізді таңдауға мүмкіндік береді және ағынды шифрлай алады. Хабар таратушылар оны жоғары сапалы ағындарды орындар арасында тасымалдау үшін пайдаланады.
Ол барлық жерде RTMP-ның орнын баспайды, бірақ нақты мәселелерді өте жақсы шешеді. Оның қалай жұмыс істейтінін және қашан пайдалануға тұрарлық екенін түсіндіреміз.
Негізгі тұжырымдар
- SRT UDP-ді пайдаланады және жоғалған пакеттерді сіз белгілеген кідіріс аралығында қалпына келтіреді.
- Ол алыс немесе шығыны бар байланыстарға, мысалы қашықтағы алаңдар мен contribution ағындарына сай келеді.
- Автор платформаларының көбі әлі де RTMP немесе RTMPS қабылдауын құжаттайды.
- Ортақ құпия фразасы бар AES шифрлау SRT ағындарын тасымалдау кезінде қорғайды.
SRT қайдан шыққан және қандай мәселені шешеді
SRT-ны Haivision бейне компаниясы әзірлеп, 2017 жылы ашық бастапқы код ретінде шығарды. Қазір оны кең ауқымды энкодерлер, декодерлер, медиа серверлер мен бағдарламалар, соның ішінде OBS пен FFmpeg қолдайды.
Ол бағытталған мәселені сипаттау оңай: жалпыға ортақ интернет пакеттерді жоғалтады және ретін бұзады, әсіресе алыс қашықтықта, толы Wi-Fi немесе ұялы байланыста. Дәстүрлі хабар тарату байланыстары бұдан арнайы арналар немесе спутниктік сыйымдылық арқылы құтылатын. SRT оның орнына қарапайым интернет қосылымдары арқылы хабар тарату деңгейіндегі сенімділікті беруді мақсат етеді.
Ол мұны ағынның ішінде не бар екеніне онша мән бермей жасайды. SRT — бейне форматы емес, тасымалдау құралы, және ол көбіне AAC дыбысы бар H.264 немесе HEVC бейнесін қамтитын MPEG тасымалдау ағынын тасиды. Бұл икемділік кәсіби жұмыс процестеріне оны тез қабылдауға көмектесті.
Пакеттерді қалпына келтіру мен кідіріс буфері қалай жұмыс істейді
RTMP TCP үстінде жүреді, ол жоғалған деректерді қайта жібереді, бірақ шығын анықталған сайын бүкіл қосылымды баяулатады. Шығыны бар алыс байланыстарда бұл тоқырау мен буферлеу ретінде көрінеді.
SRT UDP-ді пайдаланады және қалпына келтіруді өзі басқарады. Қабылдағыш пакеттерді қысқа буферде ұстайды. Реттілікте бос орын байқаса, жіберушіден тек жетіспейтін пакетті қайта жіберуді сұрайды. Егер алмастырушы пакет бейненің сол сәті буферден шықпай тұрып жетсе, әрі қарайғы ешкім оны байқамайды.
Буфер өлшемі — кідіріс (latency) баптауы. Үлкенірек мәндер кідіріс есебінен нашарырақ желілерге төтеп береді; кішірек мәндер кідірісті төмен ұстайды, бірақ тым кеш келген пакеттерді тастайды. Жиі қолданылатын бастапқы нүкте — жіберуші мен қабылдағыш арасындағы бару-қайту уақытынан бірнеше есе көп мән, тұрақсыз байланыстар үшін оны көтересіз. Құралдар кідірісті әртүрлі бірліктермен көрсетеді, сондықтан құжаттаманы тексеріңіз.
Шифрлау, stream ID және қосылу режимдері
SRT-да RTMP өздігінен ұсынбайтын мүмкіндіктер бар:
- Шифрлау. Екі жақ бөлісетін құпия фразамен 128, 192 немесе 256 биттік кілттерді пайдаланатын AES. RTMP шифрлану үшін бөлек RTMPS нұсқасын қажет етеді.
- Stream ID. Бір қабылдағыш портына бірнеше ағынды қабылдап, әрқайсысын дұрыс бағыттауға мүмкіндік беретін қосымша идентификатор, трансляция кілтіне сәл ұқсас.
- Қосылу режимдері. Бір жақ портты тыңдайды, ал екіншісі оған қоңырау шалады. Үшінші режим — rendezvous — екі жақтың бір мезгілде қосылуын қамтамасыз етеді, бұл екеуі де брандмауэр артында тұрғанда көмектесуі мүмкін.
SRT UDP-ді пайдаланатындықтан, RTMP-ның шығыс TCP қосылымдарынан айырмашылығы, тыңдаушының UDP порты жол бойындағы әр брандмауэрде ашық болуы керек. RTMP жағы үшін RTMP қалай жұмыс істейтінін және RTMP мен RTMPS салыстыруын қараңыз.
SRT мен RTMP: әрқайсысы қай жерде ұтады
Екі протоколдың ешқайсысы жай ғана жақсы емес; олар әртүрлі міндеттерде жақсы.
- SRT contribution-да ұтады. Ағынды қашықтағы алаңнан, далалық топтан немесе ұялы байланыстан өндіріс орталығына қайтару — пакеттерді қалпына келтіру өзін ақтайтын жер, сондай-ақ playout жүйелерін, декодерлер мен медиа серверлерді қоректендіретін хабар тарату тізбектері.
- SRT қашықтықпен жақсырақ күреседі. Шығыны мен дірілі бар құрлықаралық байланыстарда бапталған кідіріс буфері әдетте TCP-ге негізделген RTMP-дан тұрақтырақ нәтиже береді.
- RTMP үйлесімділікте ұтады. Кез келген дерлік энкодер, сервис пен платформа оны қолдайды, ал баптау — тек URL мен кілт.
- RTMP-ны енгізу қарапайымырақ. Келісетін UDP порттары, кідіріс баптауы немесе құпия фразалар жоқ.
Практикалық ереже: SRT-ны сіз немесе серіктесіңіз басқаратын жүйелер арасында, ал RTMP немесе RTMPS-ті жалпыға ортақ платформаларға соңғы секіру үшін пайдаланыңыз.
YouTube, Twitch және платформалардың көбі неге әлі RTMP сұрайды
SRT соншалықты төзімді болса, негізгі автор платформалары неге RTMP мен RTMPS қабылдауын құжаттауды жалғастырады?
Біріншіден, үйлесімділік: платформалар телефон қосымшаларынан ескі аппараттық энкодерлерге дейін әр стримердің қосылуын қалайды, ал RTMP — олардың бәрі сөйлейтін протокол. Екіншіден, авторлардың көбі үйден жақын маңдағы қабылдау серверіне жібереді, онда TCP жеткілікті жақсы жұмыс істейді. Үшіншіден, платформалар RTMP төңірегінде жылдар бойы аутентификация, кілт басқару және мониторинг жүйелерін құрды.
Бұл көрініс өзгеріп келеді. Кейбір платформалар мен көптеген кәсіби бейне сервистері SRT-ны немесе басқа жаңа қабылдау протоколдарын қабылдайды. Дегенмен осы мақаланы жазған кезде негізгі әлеуметтік немесе ойын платформасы сізге әдетте RTMP немесе RTMPS URL береді. Custom RTMP трансляция нұсқаулығы бұл бағыттардың қалай жұмыс істейтінін түсіндіреді.
Бір бұлттық трансляциядан RTMP мен SRT жіберу
Көптеген баптауларға екі протокол бір мезгілде керек: жалпыға ортақ платформалар үшін RTMP және студия, playout сервері немесе серіктестің қабылдағышы үшін SRT. Үйдегі энкодерден бұл екі шығыс пен екі есе жүктеуді білдіреді.
StreamHouse мұны бұлтта шешеді. Бір трансляцияға RTMP немесе RTMPS арқылы YouTube, Twitch не Kick-ті, сондай-ақ қабылдағышыңызға бағытталған custom SRT шығысын қосыңыз. Бір трансляция олардың бәріне жетеді, ал қосымша бағыттар қосымша трансляция слоттарын пайдаланбайды.
Алдын ала жазылған бағдарламалар үшін бейнелеріңізді жүктеңіз — олар алдын ала бір біркелкі кодтау профиліне дайындалады, — содан кейін плейлист құрып, оны бастаңыз немесе жоспарлаңыз. Трансляция 24/7 циклмен ойнайды, желі іркілістерінен кейін автоматты түрде қайта қосылады және компьютеріңіз өшірулі кезде де жұмыс істей береді.
Жиі қойылатын сұрақтар
Трансляция үшін SRT RTMP-дан жақсы ма?
Ұзақ немесе сенімсіз желі жолдары үшін әдетте иә, өйткені SRT бүкіл қосылымды тоқтатпай жоғалған пакеттерді қалпына келтіреді. Дегенмен негізгі платформалар көбіне тек RTMP немесе RTMPS ұсынады, сондықтан дұрыс таңдау ағыныңыздың қайда баратынына байланысты.
SRT-ның кідірісі RTMP-дан төмен бе?
Болуы мүмкін. SRT тасымалдау кідірісі шамамен сіз орнатқан кідіріс буферіне тең, ол жақсы желілерде аз болуы мүмкін. Бірақ көрермендердің жалпы кідірісі платформаның өңдеуі мен ойнатуына да байланысты, сондықтан протоколды ауыстыру әрдайым жылдамырақ сезілмейді.
OBS SRT арқылы трансляция жасай ала ма?
Иә. OBS-те custom сервер ретінде srt:// мекенжайын енгізіңіз, ал mode, latency және passphrase сияқты параметрлерді URL ішіне қосыңыз. Қабылдайтын сервер немесе сервис SRT-ны қолдауы және қосылымды қабылдауға бапталған болуы керек.
SRT әдепкі бойынша шифрлана ма?
Тек құпия фраза орнатқанда. Екі жақта бірдей құпия фраза болса, SRT ағынды 128, 192 немесе 256 биттік кілттері бар AES арқылы шифрлайды. Онсыз ол шифрланбай өтеді, сондықтан жалпыға ортақ интернет арқылы өтетін ағындар үшін оны орнатыңыз.


