FMUSER Бесправадная перадача відэа і аўдыё лягчэй!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> афрыкаанс
sq.fmuser.org -> албанская
ar.fmuser.org -> арабская
hy.fmuser.org -> Армянскі
az.fmuser.org -> азербайджанскі
eu.fmuser.org -> баскская
be.fmuser.org -> Беларуская
bg.fmuser.org -> Балгарская
ca.fmuser.org -> каталонская
zh-CN.fmuser.org -> кітайскі (спрошчаны)
zh-TW.fmuser.org -> Кітайскі (традыцыйны)
hr.fmuser.org -> харвацкая
cs.fmuser.org -> чэшская
da.fmuser.org -> дацкая
nl.fmuser.org -> Галандская
et.fmuser.org -> эстонская
tl.fmuser.org -> філіпінская
fi.fmuser.org -> фінская
fr.fmuser.org -> Французская
gl.fmuser.org -> галісійская
ka.fmuser.org -> грузінскі
de.fmuser.org -> нямецкая
el.fmuser.org -> Грэчаскі
ht.fmuser.org -> Гаіцянскі крэол
iw.fmuser.org -> іўрыт
hi.fmuser.org -> хіндзі
hu.fmuser.org -> Венгерская
is.fmuser.org -> ісландская
id.fmuser.org -> інданезійская
ga.fmuser.org -> ірландскі
it.fmuser.org -> Італьянская
ja.fmuser.org -> японскі
ko.fmuser.org -> карэйская
lv.fmuser.org -> латышскі
lt.fmuser.org -> Літоўскі
mk.fmuser.org -> македонская
ms.fmuser.org -> малайская
mt.fmuser.org -> мальтыйская
no.fmuser.org -> Нарвежскі
fa.fmuser.org -> персідская
pl.fmuser.org -> польская
pt.fmuser.org -> партугальская
ro.fmuser.org -> Румынская
ru.fmuser.org -> руская
sr.fmuser.org -> сербская
sk.fmuser.org -> славацкая
sl.fmuser.org -> Славенская
es.fmuser.org -> іспанская
sw.fmuser.org -> суахілі
sv.fmuser.org -> шведская
th.fmuser.org -> Тайская
tr.fmuser.org -> турэцкая
uk.fmuser.org -> украінскі
ur.fmuser.org -> урду
vi.fmuser.org -> В'етнамская
cy.fmuser.org -> валійская
yi.fmuser.org -> Ідыш
1 、 Распрацоўка мабільнага відэа ў жывым эфіры
Можна бачыць, што з ПК на мабільны тэлефон усё больш і больш праграм для жывой трансляцыі знаходзіцца ў Інтэрнэце, і мабільная трансляцыя ўступіла ў беспрэцэдэнтную стадыю выбуху. Аднак для большасці мабільных жывых трансляцый ён па-ранейшаму рэалізуецца ўласнымі кліентамі, але HTML5 таксама адыгрывае незаменную ролю ў канцы мабільнай жывой трансляцыі, напрыклад, HTML5. З перавагамі хуткай перадачы і простага выпуску HTML5 можа гуляць і ў жывым эфіры відэа, калі гэта самае важнае.
Поўны эфір можна падзяліць на наступнае:
(1) Тэрмінал для запісу відэа: Наогул, гэта камп'ютэрная прылада ўводу аўдыё і відэа альбо камера ці мікрафон на мабільным тэрмінале. У цяперашні час відэа з мабільных тэлефонаў з'яўляецца асноўнай часткай.
(2) Відэапрайгравальнік: гэта можа быць плэер на кампутары, уласны плэер на баку мабільнага тэлефона і відэамарка HTML5. У цяперашні час ён па-ранейшаму з'яўляецца асноўным родным гульцом на мабільным тэлефоне.
(3) Відэасервер: звычайна гэта сервер nginx, які выкарыстоўваецца для прыняцця крыніцы відэа, прадстаўленай бакам відэазапісу, і прадастаўлення паслугі струменевай перадачы да канца прайгравання відэа.
2, відэа з запісам HTML5:
Для запісу відэа HTML5 магутны webrtc (вэб-сувязь у рэжыме рэальнага часу) - гэта тэхналогія, якая падтрымлівае галасавую ці відэагутарку ў рэжыме рэальнага часу ў вэб-аглядальніку. Недахопам з'яўляецца тое, што ён лепш падтрымлівае толькі хром для ПК, а мабільны бок не ідэальны.
Асноўны працэс запісу відэа з webrtc:
Выклічце window.navigator.webkitGetUserMedia (атрымайце відэаданыя відэакамеры карыстальніка карыстальніка).
Пераўтварыць атрыманыя дадзеныя ў відэаструмень у window.webkitRTCPeerConnection (фармат дадзеных відэапатоку).
Выкарыстанне websocket для перадачы дадзеных відэапатоку на сервер
Паколькі многія метады павінны мець прэфікс у браўзэры, многія мабільныя аглядальнікі не падтрымліваюць webrtc, таму рэальная запіс відэа па-ранейшаму рэалізуецца кліентам (IOS, Android), і эфект будзе лепш.
3, відэа ў прамым эфіры HTML5:
Для прайгравання відэа вы можаце выкарыстоўваць пратакол HLS (HTTP live streaming) для прайгравання жывой трансляцыі. IOS і Android падтрымліваюць гэты пратакол натуральна. Наладжваць і выкарыстоўваць непасрэдна відэатэгі проста.
Вось просты код для прайгравання відэа ў рэжыме рэальнага часу з выкарыстаннем відэа:
(1) што такое пратакол HLS:
Карацей кажучы, увесь паток падзелены на невялікія файлы, якія загружаюцца на аснове HTTP. Адначасова загружаюцца толькі некаторыя. Папярэдні згаданы файл .M3u8, прадстаўлены ў прамым эфіры відэа HTML5, заснаваны на пратаколе HLS, які захоўвае метаданыя відэапатоку.
Кожны файл M3u8 адпавядае некалькім файлам TS, якія з'яўляюцца дадзенымі для рэальнага захоўвання відэа. Файл m3u8 захоўвае толькі інфармацыю пра канфігурацыю і звязаныя шляхі некаторых файлаў TS. Пры прайграванні відэа файл .M3u8 дынамічна змяняецца. Этыкетка відэа разбярэ файл і знойдзе адпаведны файл TS для прайгравання. Такім чынам, каб паскорыць хуткасць, файл .M3u8 будзе выкарыстоўвацца для аналізу файла і пошуку адпаведнага файла TS для прайгравання. Таму, каб паскорыць хуткасць, файл .M3u8 будзе выкарыстоўвацца для аналізу файла і пошуку адпаведнага файла TS для прайгравання. Таму, каб паскорыць, пастаўце яго на вэб-сервер, а файл TS на CDN.
Файл .M3u8 на самай справе з'яўляецца файлам M3U, закадаваным UTF-8. Гэты файл нельга прайграць сам па сабе, а толькі тэкставы файл, які змяшчае інфармацыю пра прайграванне.
(2) Працэс запыту HLS:
URL HTTP-запыту m3u8.
Сервер вяртае спіс прайгравання m3u8, які абнаўляецца ў рэжыме рэальнага часу. Як правіла, адначасова даецца URL 5 сегментаў дадзеных.
Кліент аналізуе спіс прайгравання m3u8, а затым запытвае URL-адрас кожнага сегмента, каб атрымаць паток дадзеных TS.
(3) Затрымка жывой трансляцыі HLS:
Мы ведаем, што пратакол HLS дзеліць жывую трансляцыю на невялікі сегмент відэа для загрузкі і прайгравання. Такім чынам, выкажам здагадку, што спіс утрымлівае 5 файлаў TS, кожны файл TS змяшчае 5 секунд відэакантэнту, тады агульная затрымка складае 25 секунд. Таму што, калі вы бачыце гэтыя відэа, гаспадар прымае відэа і загружае яго, таму затрымка выклікана гэтым. Зразумела, даўжыню спіса і памер аднаго файла TS можна скараціць, каб паменшыць затрымку. У крайнім выпадку, даўжыню спісу можна паменшыць да 1, а працягласць TS складае 1s. Аднак гэта павялічыць колькасць запытаў і павялічыць ціск на сервер. Калі хуткасць сеткі павольная, будзе будавацца больш буфера. Такім чынам, час TS, рэкамендаваны Apple, афіцыйна доўжыцца 10 секунд, таму гэта значна зменіць затрымку ў 30 секунд. Такім чынам, сервер атрымлівае паток, перакадзіруючы, захоўвае, выразае блок, а затым раздае яго кліенту. Вось асноўная прычына затрымкі.
Для атрымання дадатковых пытанняў пра затрымкі звяртайцеся па афіцыйным адрасе Apple:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html
Аднак HTML5-відэа ў рэальным часе мае некаторыя незаменныя перавагі:
① Добрае зносіны, лёгкае абмен і іншыя аперацыі.
② Ён можа выпускацца дынамічна, што спрыяе ітэрацыі патрабаванняў да прадукту ў рэжыме рэальнага часу і хуткаму запуску.
③ Не ўсталёўваючы прыкладанне, адкрыйце браўзэр напрамую.
4 collection АС для збору (запісу) аўдыя і відэа дадзеных
Для набыцця і запісу аўдыё і відэа, па-першае, удакладняюцца наступныя паняцці:
(1) Кадаванне відэа: кадаванне відэа адносіцца да спосабу пераўтварэння файла ў фармаце відэа ў іншы файл фармата відэа з дапамогай пэўнай тэхналогіі сціску. Відэа, запісанае на iPhone, якое мы выкарыстоўваем, павінна быць закадзіравана, загружана і расшыфравана, перш чым яго можна будзе прайграваць у плэеры на баку карыстальніка.
(2 standard Стандарт кодэка: найбольш важныя стандарты кодэкаў пры перадачы відэапатоку ўключаюць H.261, H.263 і H.264 МСЭ, у якіх пратакол HLS падтрымлівае кадаванне фармату H.264.
(3) Аўдыякадзіраванне: аналагічна кадаванню відэа, арыгінальны аўдыяпоток кадуецца, загружаецца, дэкадуецца ў адпаведнасці з пэўнымі стандартамі і прайграваецца ў плэеры. Вядома, аўдыя таксама мае мноства стандартаў кадавання, такіх як код PCM, код WMA, код AAC і г. д. Метадам кадавання аўдыё, які падтрымліваецца нашым пратаколам HLS, з'яўляецца код AAC.
Збор відэа- і аўдыяданых у асноўным дзеліцца на наступныя этапы:
(1 acquisition збору відэа- і аўдыяданых з дапамогай камеры на IOS
(2) У IOS арыгінальны паток аўдыя- і відэададзеных можна збіраць пры дапамозе avcapturesession і avcapturedevice.
(3) Відэа кадзіруецца з дапамогай h264, а аўдыя - з кадацыяй AAC. У IOS ужо ёсць упакаваныя бібліятэкі кадавання для рэалізацыі кадавання аўдыё і відэа.
(4) Аўдыя- і відэаданыя пасля кадавання збіраюцца і апячатваюцца;
(5) Усталюйце злучэнне RTMP і паднясіце яго да сервера.
Далей прыведзены канкрэтны працэс збору аўдыя- і відэаданых:
(1) пра RTMP:
Пратакол абмену паведамленнямі ў рэальным часе (RTMP) - гэта набор пратаколаў відэа ў рэальным часе, распрацаваны Macromedia, і цяпер належыць Adobe. Як і ў выпадку з HLS, яго можна выкарыстоўваць для відэатрансляцыі. Розніца ў тым, што RTMP не можа гуляць у браўзэры IOS на аснове ўспышкі, але гэта лепш у рэжыме рэальнага часу, чым HLS. Такім чынам, гэты пратакол звычайна выкарыстоўваецца для загрузкі відэа патоку, гэта значыць, відэаструмень перамяшчаецца на сервер.
(2) штурхаючы паток
Так званая струменевая перадача адносіцца да адпраўкі аўдыя- і відэададзеных дадзеных, якія мы закадзіравалі, на сервер відэаструменя. У кодзе IOS звычайна выкарыстоўваецца струменевая перадача RTMP. Librtmp IOS, незалежная бібліятэка, можа выкарыстоўвацца для трансляцыі. Librtmp інкапсулюе некаторыя асноўныя API для выкліку карыстальнікаў. Напрыклад, націсніце API і гэтак далей, наладзьце адрас сервера, а затым падштурхнеце транскадзіраваны відэапаток да сервера.
Такім чынам, як стварыць струменевы сервер?
Убудаваны просты струменевы сервер. Паколькі загружаны намі відэазапіс заснаваны на пратаколе RTMP, сервер павінен падтрымліваць RTMP. Гэта можа зрабіць наступныя крокі:
(1) Усталюйце сервер nginx.
(2 is Усталявана пашырэнне RTMP nginx. Наладзьце файл канфігурацыі для nginx
(3) Перазапусціце nginx і запішыце струменевы адрас RTMP у выглядзе rtmp: // ip: 1935 / hls / mystream, дзе HLS_ Path ўяўляе адрас згенераваных файлаў M3u8 і TS, HLS_ Fragment - даўжыню зрэзу і mystream уяўляе асобнік. Імя файла, які трэба стварыць, можна ўсталяваць само.
5 interaction Узаемадзеянне карыстальніка ў жывым эфіры:
Для ўзаемадзеяння карыстальніка ў жывым эфіры яго можна прыблізна падзяліць на:
дорыць падарункі.
Каб каментаваць альбо гуляць
Для дастаўкі падарункаў можна выкарыстоўваць DOM і CSS3 для рэалізацыі логікі адпраўкі падарункаў і спецыяльнай анімацыі падарункаў у HTML5. Тэхнічныя цяжкасці не вельмі вялікія.
Каб шквал быў крыху больш складаным, магчыма, вам спатрэбіцца звярнуць увагу на наступнае:
Прадукцыйнасць снарада ў рэжыме рэальнага часу можа быць адпраўлена і атрымана ў рэжыме рэальнага часу з дапамогай webscock і адлюстравана.
Для браўзэраў, якія не падтрымліваюць websocket, яны могуць быць паніжаны толькі да доўгага апытання альбо да інтэрфейснага таймера, які адпраўляе запыты на атрыманне ўсплывальнага вокны ў рэжыме рэальнага часу.
Выяўленне анімацыі і сутыкнення (г.зн. адсутнасць перакрыцця) і гэтак далей пры рэндэрынгу
|
Увядзіце адрас электроннай пошты, каб атрымаць сюрпрыз
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> афрыкаанс
sq.fmuser.org -> албанская
ar.fmuser.org -> арабская
hy.fmuser.org -> Армянскі
az.fmuser.org -> азербайджанскі
eu.fmuser.org -> баскская
be.fmuser.org -> Беларуская
bg.fmuser.org -> Балгарская
ca.fmuser.org -> каталонская
zh-CN.fmuser.org -> кітайскі (спрошчаны)
zh-TW.fmuser.org -> Кітайскі (традыцыйны)
hr.fmuser.org -> харвацкая
cs.fmuser.org -> чэшская
da.fmuser.org -> дацкая
nl.fmuser.org -> Галандская
et.fmuser.org -> эстонская
tl.fmuser.org -> філіпінская
fi.fmuser.org -> фінская
fr.fmuser.org -> Французская
gl.fmuser.org -> галісійская
ka.fmuser.org -> грузінскі
de.fmuser.org -> нямецкая
el.fmuser.org -> Грэчаскі
ht.fmuser.org -> Гаіцянскі крэол
iw.fmuser.org -> іўрыт
hi.fmuser.org -> хіндзі
hu.fmuser.org -> Венгерская
is.fmuser.org -> ісландская
id.fmuser.org -> інданезійская
ga.fmuser.org -> ірландскі
it.fmuser.org -> Італьянская
ja.fmuser.org -> японскі
ko.fmuser.org -> карэйская
lv.fmuser.org -> латышскі
lt.fmuser.org -> Літоўскі
mk.fmuser.org -> македонская
ms.fmuser.org -> малайская
mt.fmuser.org -> мальтыйская
no.fmuser.org -> Нарвежскі
fa.fmuser.org -> персідская
pl.fmuser.org -> польская
pt.fmuser.org -> партугальская
ro.fmuser.org -> Румынская
ru.fmuser.org -> руская
sr.fmuser.org -> сербская
sk.fmuser.org -> славацкая
sl.fmuser.org -> Славенская
es.fmuser.org -> іспанская
sw.fmuser.org -> суахілі
sv.fmuser.org -> шведская
th.fmuser.org -> Тайская
tr.fmuser.org -> турэцкая
uk.fmuser.org -> украінскі
ur.fmuser.org -> урду
vi.fmuser.org -> В'етнамская
cy.fmuser.org -> валійская
yi.fmuser.org -> Ідыш
FMUSER Бесправадная перадача відэа і аўдыё лягчэй!
Кантакт
Адрас:
No.305 Нумар HuiLan Будынак No.273 Huanpu Road Гуанчжоу Кітай 510620
катэгорыі
бюлетэнь