Note: This article contains information about products and features that are in development. There is no guarantee they’ll be further worked on or released in any official capacity. I am not affiliated with any product or organization mentioned here and am relying solely on publicly-available sources. Facts and circumstances are likely to change after publication.
Motivation
Hi, and welcome to whatever this is. After leaving breadcrumbs of random observations in several IM rooms for months, I’ve decided to try writing a few more words about them and releasing a canonical version spanning a week’s worth of neuron activations.
While I feel like I’m mainly gonna focus on unreleased features/content in the A/V delivery space, gossip and rumors aren’t the goal of this endeavor. Instead, I’d like to improve my writing, build up a catalog of posts, and write about stuff that often doesn’t get covered anywhere else. If you’re affiliated with an organization or product I’ve covered and for whatever reason don’t like it, my email address is on the index page of this site.
With that out of the way, let’s dive into the “shiny objects” I’ve come across this week.
BBC iPlayer channels in 1080p
The BBC appears to be doing further testing of live HEVC encoding, and as a part of that, is finally providing 1080p streams for non-UHD programs (albeit only HEVC ones). Other additions include 320 kbps (LC-)AAC audio and an audio description track on BBC One. From a player’s perspective, this means there are (at least) two new manifest “profiles”: iptv_hd_abr_v1_hevc and iptv_mse_v0_hevc.
Here’s an example manifest URL for BBC News and its contents:
https://vs-cmaf-push-ww-live.akamaized.net/x=4/i=urn:bbc:pips:service:bbc_news_channel_hd/iptv_mse_v0_hevc.mpd
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 http://standards.iso.org/ittf/PubliclyAvailableStandards/MPEG-DASH_schema_files/DASH-MPD.xsd" profiles="urn:dvb:dash:profile:dvb-dash:2014,urn:dvb:dash:profile:dvb-dash:isoff-ext-live:2014" type="dynamic" availabilityStartTime="1970-01-01T00:00:25Z" publishTime="2025-07-14T13:04:20.105Z" minimumUpdatePeriod="PT8H" minBufferTime="PT10S" timeShiftBufferDepth="PT2H" maxSegmentDuration="PT4S">
<Period id="1" start="PT0S">
<AdaptationSet id="1" contentType="audio" mimeType="audio/mp4" segmentAlignment="true" audioSamplingRate="48000" codecs="mp4a.40.2" startWithSAP="1" group="1" lang="en">
<AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/>
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
<Representation id="pa6" bandwidth="320000">
<SegmentTemplate initialization="a=pa6/al=en-GB/ap=main/b=320000/segment.init" media="t=3840/a=pa6/al=en-GB/ap=main/b=320000/$Number$.m4s" timescale="48000" duration="184320"/>
</Representation>
</AdaptationSet>
<AdaptationSet id="2" contentType="video" mimeType="video/mp4" segmentAlignment="true" sar="1:1" startWithSAP="1" group="2" par="16:9">
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
<Representation id="pv64" bandwidth="1800000" width="960" height="540" codecs="hev1.1.6.L93.B0" frameRate="50" scanType="progressive">
<SegmentTemplate initialization="v=pv64/b=1800000/segment.init" media="t=3840/v=pv64/b=1800000/$Number$.m4s" timescale="200" duration="768"/>
</Representation>
<Representation id="pv65" bandwidth="3600000" width="1280" height="720" codecs="hev1.1.6.L120.B0" frameRate="50" scanType="progressive">
<SegmentTemplate initialization="v=pv65/b=3600000/segment.init" media="t=3840/v=pv65/b=3600000/$Number$.m4s" timescale="200" duration="768"/>
</Representation>
<Representation id="pv66" bandwidth="6500000" width="1920" height="1080" codecs="hev1.1.6.L123.B0" frameRate="50" scanType="progressive">
<SegmentTemplate initialization="v=pv66/b=6500000/segment.init" media="t=3840/v=pv66/b=6500000/$Number$.m4s" timescale="200" duration="768"/>
</Representation>
</AdaptationSet>
</Period>
<UTCTiming schemeIdUri="urn:mpeg:dash:utc:http-xsdate:2014" value="https://time.akamai.com/?iso"/>
</MPD>
Fast-forward for Prima channels on Oneplay
O2 Czech Republic has finally figured out how ad markers work, for use in their SVoD service—Oneplay. FTV Prima has infamously demanded that pay-TV operators prevent the skipping of ads on their channels, but O2—being the largest pay-TV provider in the country—instead disabled fast-forwarding for those channels at all times.
Fast-forward1 3 years, and their current service finally has the technology neccessary to implement what Prima wanted. It’s extremely janky, but it (mostly) works. They even have the code to show the ads on the timeline, but are choosing to not use it. I might go into more detail in a dedicated post, since the implications of the architecture here can be quite interesting.

let seekAction: (() => void) | null = null;
if (previousTime > currentTime) {
onSeekBackward(/* … */);
} else {
if (previousTime + 1 === currentTime) {
const transition = resolveTransition(/* … */);
if (transition === "content-to-adBreak") {
onContinuousContentToAdBreak(/* … */);
} else if (transition === "adBreak-to-content") {
seekAction = onContinuousAdBreakToContent(/* … */);
} else {
onContinuousNoTransition(/* … */);
}
} else {
seekAction = onSeekForward(/* … */);
}
}
{
"adsControl": {
"schema": "TvAdsControl",
"blocks": [
{
"startFrom": "2025-08-10T19:36:34+02:00",
"endAt": "2025-08-10T19:36:54+02:00",
"playControlLimit": {
"period": "PT20S",
"timeline": {
"timeShift": {
"available": true
},
"liveRestart": {
"available": true
},
"fastForward": {
"available": false,
"info": "Během reklamy není možné přetáčet."
},
"pause": {
"available": true
}
}
}
}
],
// …
}
}
PlayReady DRM in iVysílání
The team2 behind Czech Television’s streaming service—3iVysílání—appear to be working on PlayReady DRM integration. Currently, you need a Widevine or FairPlay-capable device to play restricted content4.
I’ve found the following in the HTML5 player code (archived):
p_ = 'https://ivys-devel-wvproxy.o2-tv.cz/license',
Ij = 'https://ivys-devel-fpproxy.o2-tv.cz/license',
m_ = 'https://ivys-devel-prproxy.o2-tv.cz/license';
const {
// …
playReadyLicenseServerUrl: l = 'https://ivys-prproxy.o2tv.cz/license',
playReadyAccessToken: c = 'testdrmpr',
widevineLicenseServerUrl: u = 'https://ivys-wvproxy.o2tv.cz/license',
widevineAccessToken: d = 'public',
fairplayLicenseServerUrl: p = 'https://ivys-fpproxy.o2tv.cz/license',
fairplayAccessToken: h = 'public',
fairplayLicenseCertificateUrl: g = 'https://fs.ceskatelevize.cz/cache/file/mobile/drm/cert/fairplay.cer',
// …
}
Third-party sources
- BBC Interactive TV Playback Assets (archived)
- iptv-org/iptv: Add BBC 1080p links #24655
- iptv-org/iptv: Replace BBC One London 1080p stream with dual audio stream #24809
Footnotes
-
>:3c ↩
-
The latest public contract has been won by O2 Czech Republic ↩
-
No, this article wasn’t written by an LLM. I will defend my use of em-dashes with a loaded stapler, if need be. ↩
-
As a public broadcaster, Czech Television doesn’t require DRM to play the vast majority of the content they produce. Licensed content, however, may be subject to stricter protection requirements. As far as I can tell, all tracks for a certain piece of content are encrypted with the same 128-bit AES key that can be acquired with an L3 device. ↩