Nyheter

Hvordan stille inn Encoder for din Live Stream IPTV Broadcast?

Hvordan stille inn Encoder for din Live Stream IPTV Broadcast?

Være i stand til stream live video over Internett er et komplekst teknisk forsøk. Det krever god forståelse av en rekke arbeidsdeler. Derfor er bloggen vår her - for å hjelpe deg med å forstå disse systemene slik at du kan ta de riktige valgene når det er på tide å lage en viktig sending.

Fokuset for denne bloggen vil være på kodingssiden av live streaming. Spesifikt skal vi undersøke innstillingene du bør programmere i koderen din. Men først, la oss gi en veldig kort introduksjon til hva koderen er, for de som ønsker å bygge sin basiskunnskap først.

jente i blå kjole med kamera

Formål med en live streaming-koding

Live streaming av digital video handler om koding. Koding gjelder videokomprimering og formater. I en rå tilstand vil digital video ganske enkelt bestå av en streng med stillbilder som vil vises i rekkefølge mens et lydspor spiller i bakgrunnen.

Imidlertid bruker denne metoden for å streame video store mengder plass. Et eneste minutt med rå eller ukomprimert HD-videoopptak kan bruke flere GB lagringsplass. Når bilder begynner å bli 30, 60, 90 minutter lengre eller lenger, blir filstørrelsene altfor store til å takle.

Løsningen er komprimering: en matematisk metode for å "kaste ut" unødvendige data. Videokomprimering reduserer filstørrelser ved å kaste ut data for deler av videoen som ikke endres fra ramme til ramme. For eksempel, hvis et hjørne av videoen er svart i 10 minutter i strekk, kan de fleste av de faktiske dataene kastes og erstattes med en referanse som "gjør dette hjørnet svart for de neste 300 rammer."

En live-streamingkoder reduserer bitrate, eller størrelse, på streamingvideoen for å gjøre det mulig å sende dette innholdet over Internett.

Høye komprimeringsnivåer kan redusere kvaliteten på en video alvorlig, slik at den ser mer pixelert ut. Mange forskjellige "kodeker" (eller standarder for koding / dekoding av komprimert video) er blitt utviklet gjennom årene, og er tilgjengelige for å bekjempe dette problemet.

Streamingoptimaliserte medier

Imidlertid er det et annet element når det gjelder koding: strømbarhet. Verken rå video eller de fleste komprimerte videoformater er optimalisert for strømming over Internett. Streamingformater bruker spesielle markører og containere for å sikre at video kan leveres stykke for stykke uten feil eller feil. Derfor komprimerer ikke bare video, men også den til formater som er egnet for streaming. Med denne grunnleggende forståelsen er vi klare til å faktisk sette opp en kode for en live stream.

Still inn Encoder for Live Streaming

Det kan være forvirrende å sette opp en koder, men når du først har forstått hva de forskjellige innstillingene betyr for strømmen din, er det faktisk ganske enkelt. Her vil vi liste opp et antall av de vanligste innstillingene som finnes på forskjellige kodingsplattformer.

Disse kan variere etter applikasjon, så hvis du støter på en innstilling som du ikke forstår, kan du gå tilbake til dokumentasjonen for plattformen din. Alternativt kan du legge inn kommentarer her, så gjør vi vårt beste for å hjelpe deg med å ordne opp i problemet.

Hvordan velge kilde

Det første elementet i å sette opp en livekoder er å velge kildemediet. Dette kan være et IP-webkamera, en HDMI-inngang fra et kamera eller til og med statiske mediefiler som ligger på datamaskinen din. Lydkilder vil på samme måte være enten mikrofoner (frittstående eller innebygd i kameraet) eller lydfiler.

Hvis du jobber i en situasjon med flere kameraer, kan kilden din være en enkelt strømning fra live-switching-apparatet. Alternativt kan kodingsplattformen din støtte live-switching på egen hånd - vMix-plattformer, for eksempel, støtte live-switching.

Uansett, husk å velge passende video- og lydkilder for innholdet du ønsker å kringkaste. En vanlig fallgruve å unngå her er å velge feil kilde, for eksempel å velge den innebygde mikrofonen på den bærbare datamaskinen som lydkilde for sendingen.

Noen kommende Video Codec

Grunnleggende RGB

Det neste valget du bør vurdere er hvilken "codec" (eller komprimeringsskjema) du vil at koderen din skal lage og kringkaste. Den vanligste kodeken for live streaming kalles H.264 og støttes på nesten alle moderne videokompatible enheter. Noen kommende kodeker, som lover å redusere filstørrelsen og samtidig opprettholde kvalitet, inkluderer H.265 og VP10.

Å holde seg til standarden H.264 er imidlertid det beste alternativet for nå. En variant du kan se, kalles x264. Dette er ganske enkelt en spesiell metode for å kode H.264 video. Koding med x264 bruker ofte mindre CPU-ressurser enn andre metoder, men du kan teste dette før du kommer i gang.

En merknad om flere strømmer

Merk at mange av innstillingene beskrevet nedenfor gjelder for brukere med forskjellige hastigheter på Internett-tilkoblingen. Mange moderne direktesendere velger å kringkaste flere, samtidige strømmer av samme innhold, med hver kodet til en annen bithastighet (mengden data som sendes per sekund). Disse kan leveres til brukere med sakte, mellomstore og raske internettforbindelser for å gi hver en best mulig opplevelse.

Audio Codec

Du må velge hvilken lydkodek du vil sende inn strømmen din også. De vanligste innstillingene er MP3 og AAC, lydformater som nesten alle enheter kan støtte. Vi anbefaler AAC i nesten alle tilfeller da det kreves av Apples iOS-enheter.

Lydeksempelhastighet

En annen vanlig lydinnstilling du må velge, er "lydeksempelfrekvens." Dette refererer ganske enkelt til antall lydmålinger som er tatt per sekund under et gitt opptak. Vi anbefaler at du setter samplingsfrekvensen til 44100 KHz for hver live-stream. Dette er en standard på tvers av de fleste lydutstyr og innspillinger.

Streaming videooppløsning

Oppløsningen på strømmen din refererer til størrelsen (målt i piksler) på videorammen. De vanligste videostørrelsene som brukes i dag er:

  • 426 x 240 (240p)
  • 640 x 360 (360p, lav definisjon)
  • 854 x 480 (480p, Standard Definisjon eller SD)
  • 1280 x 720 (720p HD)
  • 1920 x 1080 (1080p, eller Full HD)
  • 3840 x 2160 (kjent som 4K eller Ultra HD)

Oppløsningen du velger for videoen din, avhenger av flere faktorer. Først må alt utstyret støtte den maksimale valgte oppløsningen, inkludert hastighet og lagringsplass. Opptak med høyere oppløsning krever mye mer prosessorkraft å kode.

For det andre må Internett-hastigheten din kunne oppfylle den valgte oppløsningen. Selv om oppløsningen ikke er strengt knyttet til bithastighet, krever videoer med høyere oppløsning mer båndbredde for å se bra ut. Det nytter ikke å sende en HD-videotilkobling hvis båndbredden din ikke kan støtte det kvalitetsnivået i den oppløsningen.

Video Frame Rate

Bildefrekvensen refererer ganske enkelt til antall stillbilder som er tatt per sekund av kameraene dine. Dette er vanligvis 29.97 rammer per sekund (runder opp til 30 fps), men 25 og 24 fps er også vanlige. Noen sportsbegivenheter og andre sendinger som arbeider med raske bevegelser velger å kringkaste på 60 fps for å gjøre handlingen mer skarp. Hvis du er i tvil, hold deg med 30 fps.

Live Streaming Protocol: HLS, RTMP

Datakriminalitetskonsept

Live-streamingvideoer sendes via en rekke protokoller som utvikler seg over tid. Den vanligste og langvarige av disse kalles RTMP. RTMP, eller Real Time Messaging Protocol, er en Macromedia (Adobe) -standard for streaming av video, lyd og metadata over Internett i sanntid. De fleste kodere, inkludert de fra OBS-prosjektet, Wirecast, vMix og Adobes egen Flash Media Live Encoder, kan bruke RTMP.

RTMP er en fleksibel og robust standard, men den er ikke alltid tilstrekkelig i dag. Det er fordi det krever at seere bruker enheter som har Flash Player installert på enheten. I økende grad blir Flash pensjonert til fordel for mer pålitelige og sikre protokoller for videolevering, og mange mobile plattformer - spesielt iOS på iPhones og iPads - støtter ikke Flash.

Imidlertid er RTMP-feeds fremdeles standardmetoden for å få en strøm fra koderen din til distribusjonsserverne. Med riktig videostreaming-vert, kan en enkelt RTMP-feed fra koderen din konverteres til andre, mer kompatible standarder, for eksempel HLS og HDS, automatisk på serverenden.

Her på DaCast bruker vi Akamai's Stream Packaging for Universal Streaming-tjeneste for denne prosessen. Akamai's Stream Packaging inntar en RTMP-strøm fra koderen din og omkoder den automatisk til både HLS og HDS i nær sanntid, og forbereder strømmen for ethvert enhetsformat. Denne prosessen resulterer i en minimal 30-45 sekunders forsinkelse på fôret.

Video-bithastighet

Den kanskje viktigste innstillingen i hele kodingsprosessen er bithastigheten. Bithastigheten er bunnlinjen som avgjør hvor mye data sendingen din vil konsumere. Uansett hva du angir den maksimale bithastigheten til, vil datahastigheten ikke stige høyere enn det.

Bithastigheter måles i biter per sekund, men mer vanlig i Kilobits per sekund (8 Kilobits = 1 kilobyte). Bitrate avgjør i hovedsak hvor mye båndbredde sendingen din vil bruke. Et høyere antall kilobit per sekund bruker mer data. Dette er kritisk av flere årsaker knyttet til Internett-hastighet.

Først må opplastningshastigheten din være rask og stabil nok til å opprettholde en opplasting med denne hastigheten i løpet av sendingen. Generelt anbefaler vi at opplastingshastighetene dine kan nå hastigheter minst dobbelt av det du forventer å trenge.

Her er vanlige anbefalinger for bithastigheter for forskjellige videooppløsninger:

  • 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

Husk også at dine totale båndbreddekrav vil være summen av alle strømmer som er lagt sammen. Så hvis du streamer en 360p-strøm, en 720p-strøm og en 1080p-strøm, pluss lyden for hver, kan det hende du streamer totalt nesten 12 Mbps data. Dette betyr at Internett-tilkoblingen din må være i stand til vedvarende opplastingshastigheter på 24 Mbps.

Bitrate CBR vs. Bithastighet VBR

Et spørsmål er om man skal bruke en konstant bithastighet (CBR) eller variabel bithastighet (VBR). Å bruke VBR betyr at databruken din vil avta hvis videoinnholdet som overføres på et gitt øyeblikk ikke inneholder mye informasjon. I motsetning til dette, vil databruken være høyere hvis det er mye action på skjermen.

Bruk av CBR har en tendens til å resultere i en mer jevn og pålitelig strøm, da VBR kan føre til store pigger i databruken. Imidlertid kan bruk av VBR redusere den totale bruken av båndbredde, noe som kan redusere kostnadene. Vi anbefaler å bruke CBR med mindre du virkelig er bekymret for båndbreddeutgiftene.

Hvordan sette lydbithastigheter

Bithastighet for lyd er også noe du trenger å stille inn. Vi anbefaler følgende innstillinger:

  • For 360p-video: 64 Kbps lyd, mono
  • For 480p-video: 128 Kbps, stereo
  • For 720p-video: 128 Kbps, stereo
  • For 1080p-video og over: 256 Kbps, stereo

“Mono” eller “stereo” refererer til antall lydkanaler: enten en eller to. Denne innstillingen kan bli referert til som en "kanal." Velg innstillingene som er passende for oppløsningen din som vist ovenfor.

Buffer størrelse

Denne avanserte innstillingen har å gjøre med hvordan videodata blir lagret i de korte øyeblikkene før de sendes. En høyere bufferstørrelse kan øke bevegelseskvaliteten, men kan faktisk øke datahastigheten i et gitt øyeblikk over den valgte bithastigheten.

Selv om dette ikke vil påvirke den totale bithastigheten din (algoritmene vil kompensere ved å redusere databruken andre ganger), kan det føre til kvalitetsproblemer for noen seere. Vi anbefaler at du angir bufferstørrelsen til den samme som bithastigheten din for å sikre jevn overføring og ingen pigger i databruk.

Kobling til din livevideovert

Nå som du har lært hvordan du konfigurerer video- og lydinnstillingene på koderen din, er det siste trinnet å koble koderen din til inntaksserveren. På DaCast-plattformen vil du få fire informasjonstykker når du oppretter en strøm: et "strømnavn", "strøm-URL", en påloggingskode og et passord. Du kan legge inn denne informasjonen i koderen din for å koble deg til DaCasts servere og begynne opplastingen.

De andre innstillingene

Når du setter opp koderen din, kan du støte på noen få andre innstillinger. Her er en forklaring på noen av innstillingene som finnes i Adobe Flash Media Live Encoder. Andre kodere skal ha lignende innstillinger.

  • "Inngangsstørrelse" og "Utdatastørrelse" refererer til oppløsningen på videoen som kommer inn fra kameraet / kameraene dine, og oppløsningen du foretrekker å sende ut som en live-stream.
  • "FMS URL" er nettadressen til serveren for inntak av media.
  • "Stream" er ofte boksen du vil skrive inn "streamnavnet" i.
  • "Lagre i fil" lar deg lagre sendingen samtidig på en lagringsstasjon.

Maskinvare kontra programvare kodere

Det er flere typer kodere som kan deles inn i to hovedkategorier: maskinvare og programvare. Maskinvare-kodere er dedikerte enheter som brukes til å kode live-strømmer. De er kraftige, pålitelige og kan ha gode funksjoner som innebygd live mikseprogramvare. Ledende leverandører av maskinvarekodere inkluderer vMix og Teradek. Imidlertid er disse ofte veldig dyre.

Programvarekodere er gode alternativer for mindre budsjetter. Programvarekodere er ganske enkelt applikasjoner som alle andre som kan installeres på en stasjonær eller bærbar datamaskin. Du må forsikre deg om at denne datamaskinen er kraftig nok til å håndtere live videostrøm før du stoler på den under en sending. Som vi alltid sier: test, test, test!

Et gratis eksempel på en programvarekoder er Adobes Flash Media Live Encoder. Denne programvarepakken inneholder mange verktøy for å få en live stream opp og i gang. Et annet eksempel er OBS, eller Open Broadcaster Software. Denne pakken er kraftig, konfigurerbar og kan installeres på nesten hvilken som helst datamaskin. Du kan lære mer om OBS og laste ned applikasjonen på deres prosjekt nettsted.

Dele

Legg igjen et svar