Ang FMUSER Wirless ay Naghahatid ng Video At Audio Nang Mas Madali!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanian
ar.fmuser.org -> Arabe
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbaijani
eu.fmuser.org -> Basque
be.fmuser.org -> Belarusian
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Intsik (Pinasimple)
zh-TW.fmuser.org -> Intsik (Tradisyunal)
hr.fmuser.org -> Croatian
cs.fmuser.org -> Czech
da.fmuser.org -> Danish
nl.fmuser.org -> Dutch
et.fmuser.org -> Estonian
tl.fmuser.org -> Pilipino
fi.fmuser.org -> Finnish
fr.fmuser.org -> Pranses
gl.fmuser.org -> Galician
ka.fmuser.org -> Georgian
de.fmuser.org -> Aleman
el.fmuser.org -> Greek
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Hebrew
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Icelandic
id.fmuser.org -> Indonesian
ga.fmuser.org -> Irish
it.fmuser.org -> Italian
ja.fmuser.org -> Japanese
ko.fmuser.org -> Koreano
lv.fmuser.org -> Latvian
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedonian
ms.fmuser.org -> Malay
mt.fmuser.org -> Maltese
no.fmuser.org -> Norwegian
fa.fmuser.org -> Persian
pl.fmuser.org -> Polish
pt.fmuser.org -> Portuges
ro.fmuser.org -> Romanian
ru.fmuser.org -> Ruso
sr.fmuser.org -> Serbiano
sk.fmuser.org -> Slovak
sl.fmuser.org -> Slovenian
es.fmuser.org -> Espanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Suweko
th.fmuser.org -> Thai
tr.fmuser.org -> Turkish
uk.fmuser.org -> Ukrainian
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Welsh
yi.fmuser.org -> Yiddish
1 、 Pag-unlad ng live na video na broadcast ng mobile video
Makikita na, mula sa PC hanggang mobile, mas maraming live na apps sa broadcast ang online, at ang mobile broadcast ay pumasok sa isang hindi pa nagagaling na yugto ng pagsabog. Gayunpaman, para sa karamihan sa live na broadcast ng mobile, pangunahing ipinatutupad pa rin ito ng mga katutubong kliyente, ngunit ang HTML5 ay gumaganap din ng isang hindi maaaring palitan na papel sa live na live na pagtatapos ng broadcast, tulad ng HTML5 Gamit ang mga pakinabang ng mabilis na paghahatid at madaling palabasin, ang HTML5 ay maaari ding maglaro nang live video kung kailan ito ang pinakamahalaga.
Ang kumpletong live na broadcast ay maaaring nahahati sa mga sumusunod:
(1) Video recording terminal: Sa pangkalahatan, ito ay isang computer audio at video input device o isang camera o mikropono sa mobile terminal. Sa kasalukuyan, ang video ng mobile phone ang pangunahing bahagi.
(2) Video player: maaari itong maging isang manlalaro sa computer, isang katutubong manlalaro sa panig ng mobile phone, at isang label ng video na HTML5. Sa kasalukuyan, ito pa rin ang pangunahing katutubong manlalaro sa mobile phone.
(3) Video server: sa pangkalahatan, ito ay isang server nginx, na ginagamit upang tanggapin ang mapagkukunan ng video na ibinigay ng panig sa pagrekord ng video at ibigay ang serbisyo ng streaming sa pagtatapos ng pag-playback ng video.
2 recording Pag-record ng video ng HTML5:
Para sa pag-record ng video na HTML5, ang malakas na webrtc (WEB real time na komunikasyon) ay isang teknolohiya na sumusuporta sa real-time na pag-uusap sa video o video sa web browser. Ang kawalan ay sinusuportahan lamang nito ng mas mahusay sa PC chrome at ang panig ng mobile ay hindi perpekto.
Ang pangunahing proseso ng pagrekord ng video sa webrtc ay:
Tumawag window.navigator.webkitGetUserMedia (kunin ang data ng video ng PC camera ng gumagamit).
I-convert ang nakuha sa data ng stream ng video sa window.webkitRTCPeerConnection (isang format ng data ng stream ng video).
Paggamit ng websocket upang ilipat ang data ng stream ng video sa server
Dahil maraming mga pamamaraan ang kailangang paunang ipuno sa browser, maraming mga mobile browser ang hindi sumusuporta sa webrtc, kaya't ang tunay na pag-record ng video ay ipinatutupad pa rin ng kliyente (IOS, Android), at magiging mas mahusay ang epekto.
3 、 Nag-broadcast ng live na video ang HTML5:
Para sa pag-playback ng video, maaari mong gamitin ang HLS (HTTP live streaming) na protocol upang i-play ang live streaming. Ang IOS at Android ay parehong sumusuporta sa protokol na ito nang natural. Ito ay simpleng i-configure at gamitin nang direkta ang mga video tag.
Narito ang isang simpleng code upang i-play ang live na video gamit ang video:
(1) ano ang HLS protocol:
Sa madaling sabi, ang buong stream ay nahahati sa maliliit na mga file, na na-download batay sa HTTP. Ilan lamang ang nai-download nang paisa-isa. Ang naunang nabanggit na file ng.M3u8 na ipinakilala sa HTML5 broadcast live na video ay batay sa HLS protocol, na nag-iimbak ng metadata ng stream ng video.
Ang bawat.M3u8 file ay tumutugma sa maraming mga TS file, na kung saan ay ang data para sa totoong imbakan ng video. Ang m3u8 file ay nag-iimbak lamang ng impormasyon sa pagsasaayos at mga kaugnay na landas ng ilang mga TS file. Kapag pinatugtog ang video, ang file na.M3u8 ay pabago-bagong nabago. I-parse ng label ng video ang file at hahanapin ang kaukulang TS file upang i-play. Kaya upang mapabilis ang bilis, ang.M3u8 file ay gagamitin upang pag-aralan ang file at hanapin ang kaukulang TS file para sa pag-playback. Samakatuwid, upang mapabilis ang bilis, ang.M3u8 file ay gagamitin upang pag-aralan ang file at hanapin ang kaukulang TS file para sa pag-playback. Samakatuwid, upang mapabilis Ilagay ito sa web server, at ang TS file sa CDN.
Ang.M3u8 file ay talagang isang M3U file na naka-encode sa UTF-8. Ang file na ito ay hindi maaaring i-play nang mag-isa, ngunit ang file na teksto lamang na naglalaman ng impormasyon sa pag-playback.
(2) proseso ng paghiling ng HLS:
Ang URL ng kahilingan sa HTTP na m3u8.
Ang server ay nagbabalik ng isang playlist ng m3u8, na na-update sa real time. Pangkalahatan, ang URL ng 5 mga segment ng data ay ibinibigay nang sabay-sabay.
Pinag-parse ng kliyente ang playlist ng m3u8, at pagkatapos ay hinihiling ang URL ng bawat segment upang makuha ang stream ng data ng TS.
(3) HLS live na pagkaantala sa pag-broadcast:
Alam namin na hinahati ng HLS protocol ang live stream sa isang maliit na segment ng video upang mai-download at i-play. Kaya't ipagpalagay na ang listahan ay naglalaman ng 5 mga TS file, ang bawat file ng TS ay naglalaman ng 5 segundo ng nilalaman ng video, pagkatapos ang pangkalahatang pagkaantala ay 25 segundo. Dahil kapag nakita mo ang mga video na ito, naitala ng host ang video at na-upload ito, kaya't ang pagkaantala ay sanhi nito. Siyempre, ang haba ng listahan at ang laki ng isang solong TS file ay maaaring paikliin upang mabawasan ang pagkaantala. Sa matinding, ang haba ng listahan ay maaaring mabawasan sa 1 at ang tagal ng TS ay 1s. Gayunpaman, tataas nito ang bilang ng mga kahilingan at tataasan ang presyon ng server. Kapag ang bilis ng network ay mabagal, mas maraming buffer ang malilikha. Samakatuwid, ang oras ng TS na inirerekomenda ng Apple ay opisyal na tumatagal ng 10s, kaya't mababago nito nang matagal ang pagkaantala ng 30s. Natatanggap ng server ang stream, transcoding, nakakatipid, pinuputol ang bloke, at pagkatapos ay ipinamamahagi sa kliyente. Narito ang ugat na sanhi ng pagkaantala.
Para sa higit pang mga katanungan tungkol sa pagkaantala, mangyaring mag-refer sa opisyal na address ng Apple:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StreamingMediaGuide/FrequentlyAskedQuestions/FrequentlyAskedQuestions.html
Gayunpaman, ang live na video ng HTML5 ay may ilang hindi maaaring palitan na mga kalamangan:
① Mahusay na komunikasyon, madaling ibahagi at iba pang mga operasyon.
② Maaari itong palabasin nang pabagu-bago, na nakakatulong sa pag-ulit ng real-time na mga kinakailangan ng produkto at mabilis na paglunsad.
③ Nang walang pag-install ng app, direktang buksan ang browser.
4, koleksyon ng IOS (recording) audio at video data OS
Para sa acquisition ng audio at video at pagrekord, una, ang mga sumusunod na konsepto ay linilinaw:
(1) Pag-coding ng video: ang pag-coding ng video ay tumutukoy sa paraan na ang isang file sa isang format ng video ay na-convert sa isa pang file ng format ng video sa pamamagitan ng isang tukoy na teknolohiya ng compression. Ang video na naitala ng iPhone na ginagamit namin ay dapat na naka-encode, na-upload at na-decode bago ito ma-play sa player ng panig ng gumagamit.
(2 standard Pamantayan ng Codec: ang pinakamahalagang pamantayan ng codec sa paghahatid ng stream ng video ay may kasamang H.261, H.263 at H.264 ng ITU, kung saan sinusuportahan ng HLS protocol ang H.264 format coding.
(3) Audio coding: katulad ng video coding, ang orihinal na audio stream ay naka-encode, na-upload, na-decode alinsunod sa ilang mga pamantayan, at nilalaro sa player. Siyempre, ang audio ay mayroon ding maraming mga pamantayan sa pag-coding, tulad ng PCM code, wma code, AAC code, atbp. Ang pamamaraan ng audio coding na sinusuportahan ng aming HLS protocol ay AAC code.
Ang pagkuha ng video ng video at audio ay pangunahing nahahati sa mga sumusunod na hakbang:
(1) ang pagkuha ng video at audio data sa pamamagitan ng paggamit ng camera sa IOS
(2) Sa IOS, ang orihinal na audio at stream ng data ng video ay maaaring kolektahin ng avcapturesession at avcapturedevice.
(3) Ang video ay naka-encode ng h264, at ang audio ay naka-code sa AAC. Sa IOS, mayroon nang naka-pack na mga library sa pag-coding upang mapagtanto ang pag-coding ng audio at video.
(4) Ang data ng audio at video pagkatapos ng pag-coding ay tipunin at selyado;
(5) Itaguyod ang koneksyon ng RTMP at itulak ito hanggang sa server.
Ang sumusunod ay ang tiyak na proseso ng pagkolekta ng data ng audio at video:
(1) tungkol sa RTMP:
Ang real time messaging protocol (RTMP) ay isang hanay ng live video protocol na binuo ng Macromedia, at ngayon ay kabilang sa adobe. Tulad ng sa HLS, maaari itong magamit para sa pag-broadcast ng video. Ang pagkakaiba ay ang RTMP ay hindi maaaring maglaro sa IOS browser batay sa flash, ngunit mas mahusay ito sa real time kaysa sa HLS. Kaya't ang protokol na ito ay karaniwang ginagamit upang mag-upload ng video stream, samakatuwid nga, ang stream ng video ay itinulak sa server.
(2) push flow
Ang tinaguriang streaming ay tumutukoy sa pagpapadala ng data ng audio at video na na-encode namin sa server ng video stream. Sa IOS code, karaniwang ginagamit ang RTMP streaming. Ang librtmp IOS, isang third-party library, ay maaaring magamit para sa streaming. Ipinapaloob ng librtmp ang ilang mga pangunahing API para tumawag ang mga gumagamit. Halimbawa, itulak ang API at iba pa, i-configure ang server address, at pagkatapos ay itulak ang transcoding video stream sa server.
Kaya kung paano bumuo ng isang streaming server?
Itinayo ang simpleng streaming server. Dahil ang stream ng video na nai-upload namin ay batay sa RTMP protocol, dapat suportahan ng server ang RTMP. Maaari itong gawin ang mga sumusunod na hakbang:
(1) Mag-install ng isang server nginx.
(2) Ang RTMP extension ng nginx ay na-install. I-configure ang conf file para sa nginx
(3) I-restart ang nginx at isulat ang streaming address ng RTMP bilang rtmp: // ip: 1935 / hls / mystream, kung saan kinakatawan ng HLS_ Path ang address ng nabuong.M3u8 at TS file, kinakatawan ng HLS_ Fragment ang haba ng slice, at mystream kumakatawan sa isang halimbawa. Ang pangalan ng file na nabuo ay maaaring maitakda nang mag-isa.
5, Pakikipag-ugnayan ng gumagamit sa live na pag-broadcast:
Para sa pakikipag-ugnay ng gumagamit sa live na pag-broadcast, maaari itong mahati nang bahagya sa:
pagbibigay ng mga regalo.
Upang magbigay ng puna o upang i-play
Para sa paghahatid ng regalo, maaaring magamit ang DOM at CSS3 upang mapagtanto ang lohika ng pagpapadala ng regalo at ilang mga espesyal na animasyon ng regalo sa HTML5. Ang mga kahirapan sa teknikal ay hindi masyadong malaki.
Para sa isang barrage, upang maging medyo mas kumplikado, maaaring kailangan mong bigyang-pansin ang mga sumusunod:
Ang real-time na pagganap ng projectile ay maaaring maipadala at matanggap sa real time ng webscock at nai-render.
Para sa mga browser na hindi sumusuporta sa websocket, maaari lamang silang mapasama sa mahabang botohan o front-end timer na nagpapadala ng mga kahilingan upang makakuha ng real-time na pop-up.
Animation at banggaan ng pagtuklas (ibig sabihin walang overlap) at iba pa sa pag-render
|
Ipasok ang email upang makakuha ng sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> Afrikaans
sq.fmuser.org -> Albanian
ar.fmuser.org -> Arabe
hy.fmuser.org -> Armenian
az.fmuser.org -> Azerbaijani
eu.fmuser.org -> Basque
be.fmuser.org -> Belarusian
bg.fmuser.org -> Bulgarian
ca.fmuser.org -> Catalan
zh-CN.fmuser.org -> Intsik (Pinasimple)
zh-TW.fmuser.org -> Intsik (Tradisyunal)
hr.fmuser.org -> Croatian
cs.fmuser.org -> Czech
da.fmuser.org -> Danish
nl.fmuser.org -> Dutch
et.fmuser.org -> Estonian
tl.fmuser.org -> Pilipino
fi.fmuser.org -> Finnish
fr.fmuser.org -> Pranses
gl.fmuser.org -> Galician
ka.fmuser.org -> Georgian
de.fmuser.org -> Aleman
el.fmuser.org -> Greek
ht.fmuser.org -> Haitian Creole
iw.fmuser.org -> Hebrew
hi.fmuser.org -> Hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> Icelandic
id.fmuser.org -> Indonesian
ga.fmuser.org -> Irish
it.fmuser.org -> Italian
ja.fmuser.org -> Japanese
ko.fmuser.org -> Koreano
lv.fmuser.org -> Latvian
lt.fmuser.org -> Lithuanian
mk.fmuser.org -> Macedonian
ms.fmuser.org -> Malay
mt.fmuser.org -> Maltese
no.fmuser.org -> Norwegian
fa.fmuser.org -> Persian
pl.fmuser.org -> Polish
pt.fmuser.org -> Portuges
ro.fmuser.org -> Romanian
ru.fmuser.org -> Ruso
sr.fmuser.org -> Serbiano
sk.fmuser.org -> Slovak
sl.fmuser.org -> Slovenian
es.fmuser.org -> Espanyol
sw.fmuser.org -> Swahili
sv.fmuser.org -> Suweko
th.fmuser.org -> Thai
tr.fmuser.org -> Turkish
uk.fmuser.org -> Ukrainian
ur.fmuser.org -> Urdu
vi.fmuser.org -> Vietnamese
cy.fmuser.org -> Welsh
yi.fmuser.org -> Yiddish
Ang FMUSER Wirless ay Naghahatid ng Video At Audio Nang Mas Madali!
Makipag-ugnay sa
Tirahan
No.305 Room Huilan Building No.273 Huanpu Road Guangzhou China 510620
Kategorya
Newsletter