Het terugkijken van programma's via NPO.nl, voorheen Uitzending Gemist, biedt de vrijheid om te kijken wanneer het jou uitkomt, zonder de noodzaak van een tv-abonnement. Hoewel de functionaliteit tegenwoordig doorgaans soepel verloopt, was dit in het verleden anders. Met name voor Nederlanders in het buitenland kon het terugkijken van programma's tot frustraties leiden.
Vroeger was Microsoft Silverlight de technologie die de videostreaming van NPO verzorgde. Dit leidde bij veel gebruikers tot de noodzaak van het toepassen van diverse trucjes, of zelfs het opnieuw installeren van Silverlight, om gemiste uitzendingen te kunnen bekijken. Ook oudere computers konden deze technologie nauwelijks aan, wat resulteerde in een 100% processorbelasting en een stotterende videoweergave. Dit probleem werd nog versterkt bij HD-videostreams van diensten als RTLXL.nl.
Een ideale oplossing zou zijn om videobestanden rechtstreeks te openen met een favoriete mediaspeler. Dit zou de processor ontlasten en de videokaart het decodeerwerk laten doen, wat op oudere systemen de processorbelasting kon terugbrengen tot slechts 5%. Aanvankelijk werden er methoden ontdekt om directe videolinks uit de broncode te achterhalen, maar met de voortdurende technologische ontwikkelingen bleken deze methoden al snel achterhaald.

Evolutie van download- en kijktools
In de loop der tijd zijn er diverse tools en diensten verschenen die het downloaden en bekijken van NPO-uitzendingen vergemakkelijken:
- Uitzending Gemist Mobiel en RTL Gemist Mobiel waren handige applicaties, maar worden niet meer geüpdatet of zijn zelfs uit de lucht gehaald.
- Downloadgemist.nl: Deze dienst maakt het mogelijk om video's van NPO.nl te downloaden. Het is echter niet open-source en niet bedoeld voor de zeer veeleisende gebruiker.
- GemistDownloader: Een softwareprogramma dat video's van diverse platforms, waaronder NPO.nl en RTLXL.nl, kan downloaden en converteren.
- Youtube-dl: Ontdekt in 2014, is dit een command-line programma geschreven in Python met uitgebreide mogelijkheden. Het stelt gebruikers in staat om talloze avonden te genieten van reclamevrije tv-programma's door videolinks toe te voegen aan mediaspelers zoals MPC-BE.
De komst van de Samsung SMART TV en de speciaal daarvoor ontwikkelde app UGSamsungApp heeft het terugkijken van NPO, RTLXL en Kijk-programma's nog verder vereenvoudigd. Deze app biedt tevens de mogelijkheid om NPO 1, 2, 3 en themakanalen live te bekijken.
Ondanks deze ontwikkelingen wordt Youtube-dl nog steeds gebruikt, evenals tools zoals Xidel, dat de basis vormde voor BatchGemist. Deze tools zijn ontstaan uit de behoefte van veel gebruikers om tv-programma's te kunnen downloaden.
Technische aspecten van videostreams
NPO.nl en RTLXL.nl bieden tv-programma's tegenwoordig aan in twee formaten: progressieve en dynamische videostreams. Kijk.nl biedt, voor zover bekend, één formaat aan.
- Progressieve videostreams: Bij dit oudere format wordt één videobestand volledig geladen, ongeacht of de hele video bekeken wordt.
- Dynamische videostreams: Sinds het voorjaar van 2012 bij NPO geïntroduceerd, is dit een efficiëntere methode. De videostream is opgedeeld in segmenten van ongeveer 5 seconden. Alleen de benodigde segmenten worden geladen, wat ook vloeiender overschakelen naar een lagere kwaliteit mogelijk maakt bij een tragere internetverbinding.
Bij het laden van dynamische streams wordt er in de browser een zogenaamde m3u8-playlist geladen. Dit wordt ook wel een videoafspeellijst genoemd, in plaats van een directe videolink.
De rol van de webconsole en playlists
Met behulp van de webconsole in browsers zoals Firefox (via 'Extra' -> 'Webontwikkelaar' -> 'Webconsole' of Ctrl+Shift+K) kan men de geladen bestanden van een videostream inzien. Hierbij ziet men bestanden zoals POW_00942286-audio_eng=128000-video=1001000-1.ts, die de videosegmenten van 5 à 6 seconden vertegenwoordigen.
De bestanden POW_00942286.m3u8 en POW_00942286-audio_eng=128000-video=1001000.m3u8 zijn de zogenaamde manifest-playlists. Deze bieden een overzicht van beschikbare videoresoluties. Zo is het NOS Journaal bijvoorbeeld beschikbaar in resoluties van 288x162 tot 608x342, inclusief een geluidsspoor. De manifest-playlist POW_00942286-audio_eng=128000-video=1001000.m3u8 bevat bijvoorbeeld 109 videobestanden van elk 5 à 6 seconden.

Downloadgemist.nl is de enige dienst die geen ondersteuning biedt voor dynamische videostreams en live streams. De links van televisiekanalen worden doorgaans eerst vertaald naar dynamische videostreams.
Progressieve streams en videofragmenten
Tools zoals BatchGemist, Youtube-dl, Downloadgemist.nl en GemistDownloader leveren standaard een (tijdelijke) videolink van de progressieve videostream. Alle vier de tools ondersteunen progressieve videostreams.
Bij sommige programma's, zoals Nieuwsuur, zijn er naast het tabblad "Afleveringen" ook tabbladen met "Fragmenten". Dit zijn geen zelfstandige video's, maar verwijzen via een prid (programma-ID) naar de gehele uitzending. Het is belangrijk om te weten dat de prid van een fragment, zoals POMS_NOS_1331442, kan verschillen van de prid van de gehele uitzending, zoals VPWON_1235782.
Youtube-dl negeert de fragment-prid en verwerkt de prid van de gehele uitzending, waardoor het de enige tool is zonder ondersteuning voor dynamische videofragmenten.
Daarnaast bestaan er progressieve videofragmenten. Dit zijn wél zelfstandige video's, vaak met een hogere resolutie (856x482) dan de volledige afleveringen (maximaal 640x360). Deze zijn te vinden in het programma-overzicht of onder het tabblad "Extra" op programma-pagina's.
Van Silverlight naar moderne codecs en spelers
In de beginjaren van Uitzendinggemist.nl werd het MMS-protocol, de Windows Media Video en Audio codec, en de Silverlight Player gebruikt. Later is er een overstap gemaakt naar Flash/HTML5 en de H.264 video- en AAC audiocodec. Hoewel dit de beeld- en geluidskwaliteit aanzienlijk verbeterde, is de videostream nog steeds geen HD-kwaliteit.
De NPO heeft veel oude programma's omgezet naar H.264 en AAC. Huidige videospelers op NPO.nl kunnen ook oudere formaten afspelen. Het 20:00u NOS Journaal van 21-05-2007 is bijvoorbeeld beschikbaar in beide formaten.
Downloadgemist.nl en GemistDownloader ondersteunen alleen de WMV-versie van oudere streams, die doorgaans alleen door VLC media player geopend kan worden.
MPC-BE, in combinatie met geïnstalleerde LAV Filters, kan manifest-playlists ontleden, wat het navigeren tussen verschillende videostreams vergemakkelijkt. Progressieve videostreams en videofragmenten vormen hierbij geen probleem.

Voor het downloaden van alle videoformaten wordt FFmpeg aanbevolen. Dynamische videostreams, die als afspeellijsten fungeren, kunnen niet direct via de internetbrowser gedownload worden. Het downloaden gebeurt via de command-prompt (Windows-toets+R, dan cmd). FFmpeg accepteert tijden in seconden of in het formaat uu:mm:ss[.xxx].
Progressieve videostreams en videofragmenten zijn zelfstandige video's en kunnen weliswaar met de browser gedownload worden, maar FFmpeg wordt ook hier aangeraden omwille van bestandsoptimalisatie en compatibiliteit met SMART TV's.
Hoewel het MMS-protocol niet door FFmpeg wordt ondersteund, bestaat er een truc om dit te omzeilen.
Moderne kijkervaringen op verschillende platforms
De manier waarop we tv kijken is drastisch veranderd. Diensten als Netflix, YouTube en NPO Start bepalen steeds meer ons kijkgedrag.
Problemen met Silverlight op Macs
Gebruikers van Macs met Safari 12 kunnen problemen ervaren met het schermvullend afspelen van video's, wat resulteert in flikkerende beelden. Dit komt door het niet langer ondersteunen van de Microsoft Silverlight plugin. Netflix raadt in zo'n geval aan om Chrome te gebruiken.
Een betere oplossing is de gratis app Friendly Streaming. Deze applicatie functioneert als een browser die webversies van streamingdiensten weergeeft, inclusief de benodigde plugins voor een vlekkeloze kijkervaring. Friendly Streaming ondersteunt schermvullende weergave, beeld-in-beeld functionaliteit en biedt standaard ondersteuning voor diensten als Netflix, YouTube, Twitch, HBO, en Amazon Prime. Inloggegevens worden bewaard voor snelle toegang, en er is een platformknop om eenvoudig te wisselen tussen diensten. Daarnaast kunnen gebruikers handmatig videoplatforms toevoegen, waardoor Friendly Streaming ook gebruikt kan worden voor NPO Start, Ziggo of KPN.

Live TV kijken op Linux (Xubuntu)
Er zijn meldingen van gebruikers op Xubuntu 16.04 die problemen ondervinden met het live kijken van tv, zoals het NPO Journaal, via Firefox (versie 54.0 / 64bit). Een melding over het inschakelen van DRM (Digital Rights Management) kan hierbij optreden.
Mogelijke oplossingen omvatten het aanvinken van "DRM-inhoud afspelen" in de voorkeuren van Firefox onder het tabblad "Inhoud". Echter, dit lost het probleem niet altijd op. Chromium werkt soms ook niet. Het gebruik van FFmpeg wordt soms gesuggereerd als oplossing.
De commando-invoer apt-cache search *ffmpeg* kan helpen bij het vinden van relevante pakketten. De asterisken zijn hierbij niet altijd nodig; apt-cache search ^parted zoekt bijvoorbeeld naar pakketnamen die beginnen met "parted".
Ondanks het aanvinken van DRM-opties en het proberen van verschillende browsers, blijft het afspelen soms falen, met een continu draaiend cirkeltje als resultaat.
Problemen met Uitzending Gemist (2011)
In 2011 meldde een gebruiker problemen met het terugkijken van tv-uitzendingen via internet. YouTube werkte wel, maar Uitzending Gemist, SBS en RTL gaven foutmeldingen zoals "Failed to connect to video server" of "Error" na het tonen van reclame. Ook na het installeren van Silverlight en het proberen van Internet Explorer bleef het probleem bestaan.