balita

Paano i-set Encoder para sa Iyong Live Stream IPTV Broadcast?

Paano i-set Encoder para sa Iyong Live Stream IPTV Broadcast?

Ang pagiging magagawang mag-stream ng live na video sa pamamagitan ng Internet ay isang komplikadong teknikal na pagsikapan. Nangangailangan ito ng isang magandang-unawa ng isang bilang ng mga nagtatrabaho bahagi. Iyon ang dahilan kung bakit ang aming blog ay dito - upang makatulong sa iyo na maunawaan ang mga sistema ng sa gayon ay maaari mong gawin ang mga karapatan pagpipilian kapag ito ay dumating na oras upang gumawa ng isang mahalagang broadcast.

Ang pokus ng blog na ito ay nasa pag-encode bahagi ng live streaming. Sa partikular, kami ay pagpunta upang suriin ang mga setting na dapat mong programa sa iyong encoder. Ngunit una, sabihin magbigay ng isang napaka-maikling panimula sa kung ano ang encoder ay, para sa mga nais upang bumuo ng kanilang mga batayang kaalaman muna.

batang babae sa asul na damit na may camera

Layunin ng isang Live Streaming Encoder

Ang lahat ng tungkol sa pag-encode ay ang live streaming ng digital video. Nauugnay ang pag-encode sa video compression at mga format. Sa isang hilaw na estado, ang digital na video ay binubuo lamang ng isang string ng mga imahe pa rin na ipinapakita nang sunud-sunod habang ang isang audio track ay gumaganap sa background.

Gayunpaman, ang paraan ng streaming ng video ay gumagamit ng malaking espasyo. Maaaring gumamit ng maramihang GB ng espasyo sa imbakan ang isang solong minuto ng raw o hindi naka-compress na high-definition na video footage. Kapag ang footage ay nagsisimula sa pagkuha 30, 60, 90 minuto ang haba o mas mahaba, laki ng file maging malayo masyadong malaki upang harapin.

Ang solusyon ay compression: isang matematikal na paraan ng "ibinabato out" hindi kinakailangang mga data. Video compression binabawasan sukat ng file sa pamamagitan ng pagkahagis ang data para sa mga seksyon ng video na hindi magbago mula sa frame-to-frame. Halimbawa, kung ang isang sulok ng video ay itim para sa 10 minuto tuwid, karamihan ng na aktwal na data ay maaaring tossed at pinalitan ng isang reference na tulad ng, "gawin ang sulok itim na para sa susunod na 300 frames."

Binabawasan ng isang live streaming encoder ang bitrate, o laki, ng streaming video upang gawin itong magagawa upang ipadala ang nilalamang ito sa Internet.

Mataas na antas ng compression ay maaaring malubhang bawasan ang kalidad ng isang video, na ginagawa itong Mas mukhang pixelated. Maraming mga iba't ibang mga "codecs" (o mga pamantayan para sa pag-encode / decoding compressed video) ay binuo sa mga nakaraang taon, at magagamit upang labanan ang isyung ito.

Streaming-optimize Media

Gayunpaman, may isa pang elemento pagdating sa pag-encode: streamability. Ang alinman sa raw na video o pinaka-naka-compress na mga format ng video ay na-optimize para sa streaming sa Internet. Gumagamit ang mga format ng streaming ng mga espesyal na marker at mga lalagyan upang matiyak na ang video ay maaaring maihatid piraso sa pamamagitan ng piraso nang walang anumang mga glitches o mga error. Samakatuwid, ang mga encoder ay hindi lamang i-compress ang video, kundi ring baguhin ito sa mga format na angkop para sa streaming. Sa pangunahing pag-unawa na ito, handa kaming aktwal na mag-set up ng isang encoder para sa isang live na stream.

I-set ang Encoder para Live Streaming

Pagse-set up ang isang encoder ay maaaring nakalilito, ngunit sa sandaling maunawaan mo kung ano ang iba't ibang setting nangangahulugan para sa iyong stream, ito ay aktwal na medyo madali. Dito, kami ay listahan ng isang bilang ng mga pinaka-karaniwang mga setting na natagpuan sa iba't-ibang mga platform encoder.

Ang mga maaaring mag-iba sa pamamagitan ng application, kaya kung nakatagpo ka ng isang setting na hindi mo maintindihan, balikan mo ang mga babasahin para sa iyong platform. Bilang kahalili, i-post dito sa mga komento at gagawin namin ang aming makakaya upang makatulong sa iyo na-uri-uriin out ang problema.

Paano upang Piliin ang Source

Ang unang elemento sa pag-set up ng anumang mga live na encoder ay upang piliin ang source media. Maaaring ito ay isang IP webcam, ang isang HDMI input mula sa isang kamera, o kahit static media file na matatagpuan sa iyong computer. Audio pinagkukunan ay parehas na maging alinman sa mikropono (nakapag-iisa o built in sa iyong camera) o mga file na audio.

Kung nagtatrabaho ka sa isang sitwasyon ng multi-camera, ang iyong pinagmulan ay maaaring isang solong feed na nagmumula sa iyong aparatong live na lumilipat. Kung hindi man, maaaring suportahan ng iyong platform ng encoder ang live na paglipat sa sarili nito - mga platform ng vMix, halimbawa, suportahan ang live na paglipat.

Alinmang paraan, siguraduhin na piliin ang naaangkop na mga mapagkukunan ng video at audio para sa mga nilalaman na nais mong i-broadcast. Ang isang karaniwang patibong upang maiwasan dito ay pagpili sa maling pinagmulan, tulad ng pagpili ng built-in na mikropono sa iyong laptop bilang isang pinagmumulan ng audio para sa iyong broadcast.

Ang ilang mga paparating na mga Video Codec

Basic RGB

Ang susunod na pagpipilian upang isaalang-alang ay kung ano ang "codec" (o compression scheme) ang gusto mong ang iyong encoder upang lumikha at broadcast. Ang pinaka-karaniwang codec para sa live streaming ay tinatawag na H.264 at sinusuportahan sa halos bawat modernong aparato na may kakayahan sa video. Ang ilang mga paparating na codec, na nangangako na bawasan ang laki ng file habang pinapanatili ang kalidad, kasama ang H.265 at VP10.

Gayunman, nananatili sa pamantayan H.264 ay ang iyong pinakamahusay na mapagpipilian para sa ngayon. Isang variation maaari mong makita ay tinatawag x264. Ito ay lamang ng isang partikular na paraan ng pag-encode H.264 video. Pag-encode na may x264 madalas na gumagamit ng mas kaunting CPU resources kaysa sa ibang mga paraan, ngunit maaari mong subukan ito bago ka magsimula.

Isang Paalala sa Maramihang Streams

Tandaan na ang marami sa mga setting ng inilarawan sa ibaba ay naaangkop para sa mga gumagamit na may iba't ibang mga bilis ng koneksyon sa Internet. Maraming mga modernong live na streamer pumili upang i-broadcast maramihang, sabay-sabay na stream ng parehong nilalaman, sa bawat naka-encode sa isang iba't ibang bit rate (ang dami ng data na ipinadala sa bawat segundo). Ito ay maaaring maihatid sa mga gumagamit na may mabagal, katamtaman, at mga koneksyon mabilis Internet upang magbigay ng bawat isa ay may ang pinakamahusay na posibleng karanasan.

Audio Codec

Kakailanganin mo upang piliin kung aling mga audio codec upang ipadala sa iyong stream rin. Ang pinaka-karaniwang mga setting ay MP3 at AAC, audio format na maaaring suportahan ang halos bawat aparato. Inirerekumenda namin AAC sa halos bawat kaso bilang ito ay kinakailangan ng mga iOS device Apple.

Audio Sample Rate

Ang isa pang karaniwang mga audio pagtatakda magkakaroon ka upang piliin ang "audio sample rate." Ito lang ay tumutukoy sa bilang ng mga audio measurements kinuha sa bawat segundo sa panahon ng isang naibigay na pag-record. Inirerekomenda namin na itinakda mo ang sample rate sa 44100 KHz para sa bawat live na stream. Isa itong karaniwang sa kabuuan ng karamihan ng audio kagamitan at pag-record.

Streaming Video Resolution

Ang resolution ng iyong stream ay tumutukoy sa sukat (sinusukat sa pixels) ng frame ng video. Ang pinaka-karaniwang mga laki ng video na ginagamit ngayon ay ang mga:

  • 426 x 240 (240p)
  • 640 x 360 (360p, Mababa Definition)
  • 854 x 480 (480p, Standard Definition, o SD)
  • 1280 x 720 (720p HD)
  • 1920 x 1080 (1080p, o Full HD)
  • 3840 x 2160 (na kilala bilang 4K o Ultra HD)

Ang resolution na pinili mo para sa iyong video ay depende sa ilang mga kadahilanan. Una, lahat ng iyong mga kagamitan ay dapat suportahan ang iyong maximum na pinili resolution, kabilang sa bilis at espasyo sa imbakan. Ang mas mataas na resolution footage ay tumatagal ng isang pulutong mas pagpoproseso ng kapangyarihan upang i-encode.

Ikalawa, ang iyong Internet bilis ay dapat na magagawang upang mapaunlakan ang iyong napiling mga resolution. Habang resolution ay hindi mahigpit na naka-link sa bit rate, mas mataas na resolution ng mga video ay mangangailangan ng mas maraming bandwidth upang tumingin mabuti. Ito ay hindi gamitin pagpapadala ng isang HD video na koneksyon kung ang iyong bandwidth ay hindi maaaring suportahan ang ganoong antas ng kalidad sa resolution na.

Rate Frame Video

Ang frame rate lang tumutukoy sa bilang ng mga imahe pa rin nakuha sa bawat segundo sa pamamagitan ng iyong camera. Ito ang karaniwang 29.97 frames per second (round hanggang sa 30 fps), ngunit 25 at 24 fps ay karaniwan din. Ang ilang mga kaganapan sa sports at iba pang mga broadcast pagharap sa mabilis na paggalaw pumili upang i-broadcast sa 60 fps upang gumawa ng pagkilos lumitaw nang mas presko. Kung may pagdududa, stick sa 30 fps.

Live Streaming Protocol: HLS, RTMP

Computer krimen konsepto

Live streaming video ay ipinapadala sa pamamagitan ng isang bilang ng mga protocol na evolve sa paglipas ng panahon. Ang pinaka-karaniwang at longstanding mga ito ay tinatawag RTMP. Ang RTMP, o Real Time Messaging Protocol, ay isang Macromedia (Adobe) standard para sa streaming video, audio, at metadata sa Internet sa real time. Karamihan encoder, kabilang ang mga mula sa OBS proyekto, Wirecast, vMix, at Adobe sariling Flash Media Live Encoder, maaaring gumamit RTMP.

RTMP ay isang nababaluktot at matipuno pamantayan, ngunit ito ay hindi palaging sapat na ngayon. Iyon ay dahil nangangailangan ito ng mga manonood na gamitin ang device na may naka-install na Flash Player sa kanilang device. Increasingly, Flash winawakasan sa pabor ng mas maaasahan at secure na protocol ng video paghahatid, at marami mobile platform - pinaka-kapansin-pansin, iOS sa iPhone at iPad - ay hindi sumusuporta sa Flash.

Gayunman, RTMP feed pa rin ang standard na pamamaraan para sa pagkuha ng isang stream mula sa iyong encoder sa mga server ng pamamahagi. Gamit ang tamang mga video streaming host, ang isang solong RTMP feed mula sa iyong encoder ma-convert sa iba, mas compatible pamantayan, tulad ng HLS at HDS, awtomatikong sa dulo ng server.

Dito sa DaCast, gumagamit kami Stream Packaging ni Akamai para sa Universal Streaming serbisyo para sa prosesong ito. Akamai Stream Packaging ingests ng RTMP stream mula sa iyong encoder at awtomatikong transcodes ito sa parehong HLS at HDS sa malapit sa real-time, naghahanda ang stream para sa anumang format na aparato. Ang prosesong ito ay magreresulta sa isang minimal 30-45 second delay sa feed.

Bit Rate Video

Marahil ang pinaka-mahalagang mga setting na ito sa buong proseso ng pag-encode ay ang bit rate. Ang bit rate ay sa ilalim na linya na tumutukoy kung gaano karaming data ang iyong broadcast ay ubusin. Anuman ang itinakda mo ang maximum bit rate ng, ang iyong data rate ay hindi tumaas mas mataas kaysa sa na.

Bit rate ay sinusukat sa bits per second, ngunit mas karaniwang sa kilobits per second (8 kilobits = 1 kilobyte). Bit rate mahalagang nagtatakda kung magkano ang bandwidth ang iyong broadcast ay gamitin. Ang isang mas mataas na bilang ng mga kilobits per second ay gumagamit ng mas maraming data. Ito ang mga kritikal na para sa isang bilang ng mga kadahilanan na may kaugnayan sa Internet bilis.

Una, ang iyong bilis sa pag-upload ay kailangang maging mabilis at matatag na sapat upang sang-ayunan ang isang upload sa bilis na ito para sa tagal ng iyong broadcast. Sa pangkalahatan, inirerekumenda namin na iyong pag-upload bilis na kaya ng pag-abot sa mga bilis hindi bababa sa double ng kung ano ang mong asahan na kailangan.

Narito ang mga karaniwang rekomendasyon para sa bit rate para sa iba't-ibang mga resolution ng video:

  • 360p video: 400 Kbps - 1000 Kbps
  • 480p video: 500 Kbps - 2 Mbps (1 Mbps = 1000 Kbps)
  • 720p video: 1.5 - 4 Mbps
  • 1080p video: 3 - 6 Mbps

Tandaan, masyadong, na ang iyong kabuuang bandwidth na kinakailangan ay ang kabuuan ng lahat ng iyong mga daluyan pinagsama-sama. Kaya kung ikaw ay pag-stream ng 360p stream, isang 720p stream, at isang 1080p stream, kasama ang audio para sa bawat isa, maaari kang maging pag-stream ng isang kabuuang ng halos 12 Mbps ng data. Ang ibig sabihin nito ang iyong koneksyon sa Internet ay nangangailangan upang maging may kakayahang matagal bilis mag-upload ng mga 24 Mbps.

Bit rate CBR vs. Bit rate VBR

Isang tanong ay kung ang paggamit ng isang pare-pareho ang bit rate (CBR) o variable bit rate (VBR). Paggamit VBR nangangahulugan na ang iyong paggamit ng data ay tanggihan kung ang nilalaman ng video na ipinapadala sa anumang sandali ay hindi naglalaman ng maraming impormasyon. Sa kaibahan, ang paggamit ng data ay mas mataas kung mayroong isang pulutong ng mga aksyon sa screen.

Paggamit ng CBR ay may gawi na magresulta sa isang mas matatag na, maaasahan stream bilang VBR maaaring maging sanhi ng malaking spike sa paggamit ng data. Gayunman, ang paggamit VBR ay maaaring mabawasan ang iyong kabuuang paggamit ng bandwidth, na maaaring mabawasan ang mga gastos. Inirerekomenda namin ang paggamit CBR maliban na lamang kung ikaw ay tunay na nag-aalala tungkol sa mga gastos ng bandwidth.

Paano i-set Audio Bit Rate

Audio bit rate ay din ng isang bagay na kakailanganin mo upang i-set. Inirerekumenda namin ang mga sumusunod na setting:

  • Para 360p video: 64 kbps audio, mono
  • Para 480p video: 128 Kbps, stereo
  • Para 720p video: 128 Kbps, stereo
  • Para 1080p video at sa itaas: 256 Kbps, stereo

"Mono" o "stereo" ay tumutukoy sa bilang ng mga audio channels: ang alinman sa isa o dalawa. Ang setting na ito ay maaaring tinukoy bilang isang "channel." Piliin ang mga setting naaangkop para sa iyong resolution tulad ng nakalista sa itaas.

buffer Size

Ang advanced na setting ay ang gagawin sa kung paano video data ay naka-cache na sa maikling sandali bago ito ay broadcast. Ang isang mas mataas na sukat ng buffer ay maaaring taasan ang kalidad ng paggalaw, ngunit maaaring aktwal na taasan ang iyong mga rate ng data sa anumang sandali sa itaas ng iyong piniling bit rate.

Habang ito ay hindi makakaapekto sa iyong pangkalahatang bit rate (ang algorithm ay makabawi sa pamamagitan ng pagbabawas ng paggamit ng data sa ibang mga oras), maaari itong magdulot ng mga isyu ng kalidad para sa ilang mga manonood. Inirerekumenda namin itakda ang buffer size na kapareho ng iyong bit rate upang matiyak makinis na paghahatid at walang mga spike sa paggamit ng data.

Pagli-link sa iyong Live Video Host

Ngayon na iyong natutunan kung paano i-configure ang mga video at audio mga setting sa iyong encoder, ang huling hakbang ay i-link ang iyong mga encoder sa pag-ingest server. Sa DaCast platform, ikaw ay ibinigay na may apat na piraso ng impormasyon kapag lumikha ka ng isang stream: isang "pangalan ng stream," isang "stream URL," isang pag-login code, at isang password. Maaari mong i-input ang impormasyong ito sa iyong encoder upang kumonekta sa server ng DaCast at simulan ang iyong pag-upload.

Ang iba pang mga setting

Kapag nagse-set up ang iyong mga encoder, maaari kang makakita ng ilang mga iba pang mga setting. Narito ang isang paliwanag para sa ilan sa mga setting na natagpuan sa Adobe Flash Media Live Encoder. Iba pang mga encoder ay dapat magkaroon ng katulad na mga setting.

  • "Input Laki" at "Output Laki" sumangguni sa ang resolution ng video na nanggagaling sa mula sa iyong camera (s), at ang resolution mas gusto mong output bilang isang live na stream.
  • "FMS URL" ay ang URL ng iyong mga media pag-ingest server.
  • "Stream" ay madalas na ang kahon sa kung saan ikaw ipasok ang iyong "pangalan stream."
  • "I-save sa file na" ay nagbibigay-daan sa iyo upang sabay-sabay na i-save ang iyong broadcast sa isang storage drive.

Hardware vs. Software Encoder

Mayroong maramihang mga uri ng encoder na maaaring nahahati sa dalawang pangunahing mga kategorya: hardware at software. Hardware encoder ay nakatutok sa mga aparato na ginagamit para sa pag-encode ng live stream. Ang mga ito ay malakas, maaasahan, at maaaring magkaroon ng mahusay na mga tampok tulad ng built-in na live na paghahalo ng software. Nangungunang provider ng hardware encoder isama vMix at Teradek. Gayunpaman, ang mga ito ay madalas na masyadong mahal.

Software encoder ay mahusay na alternatibo para sa mas maliit na badyet. Software encoder ay mga application tulad ng anumang iba pang mga na maaaring i-install sa isang computer desktop o laptop na lang. Kakailanganin mo upang matiyak computer na ito ay malakas na sapat upang panghawakan ang live video stream bago ka umaasa sa mga ito sa panahon ng isang broadcast. Tulad ng lagi naming sinasabi: test, test, test!

Isang libreng halimbawa ng isang software encoder ay Adobe Flash Media Live Encoder. Ang software na ito pakete ay nagbibigay ng maraming mga tool upang makakuha ng isang live na stream up at tumatakbo. Ang isa pang halimbawa ay ang OBS, o Buksan Broadcaster Software. Ang paketeng ito ay makapangyarihan, maaaring i-configure, at maaaring i-install sa halos anumang computer. Maaari kang matuto nang higit pa tungkol sa OBS at i-download ang application sa kanilang proyekto website.

magbahagi

-Iwan Ng sagot