Scanning of H.264 DVB channels under Linux 

Filed under: Digital TV, h264 on Saturday, December 29th, 2007 by steve | No Comments

At present scan from dvb-apps doesn’t support the DVB-T test multiplexes currently running in NZ because it doesn’t recognise H.264 as a valid video stream. The recent switch of the TVNZ DTT Mux to AAC based audio has complicated matters further as these are also not recognised.

We aren’t alone in NZ with these issues. The recently started transmissions in Norway also use a combination of H.264 and AAC.

In addition to my original patch for H.264 detection I’ve now added support for two types of AAC audio, and the MHEG and DSM-CC interactive TV data streams.

These changes have now been pushed back to the dvb-apps developers, and you can try out the patch yourself here.

If you have been using the tool w_scan to perform a full UHF/VHF scan for possible DVB multiplexes I have also produced an equivalent patch.

TVNZ DTT Mux Changes 

Filed under: Digital TV, FreeView, h264 on Sunday, December 16th, 2007 by steve | No Comments

It certainly looks like they are planning on making DTT services here in NZ very interesting from a technical perspective.

On Friday the TVNZ Multiplex refreshed with some major changes. Rather than using MP2 audio streams they switched to AAC audio. This means that they can use a much lower bitrate for around the same audio quality.

In the area of video the TV One and TV 2 channels are no longer showing program loops. Instead they are carrying a 720p H.264 carrier with blank video. I’ve heard that TVNZ hope to provide Kordia with Live HD feeds some point in January.

So the current layout of the TVNZ Mux is as follows, noting that channels have 128K AAC Audio.

  • TV ONE – 720p H.264 – Blank Video
  • TV 2 – 720p H.264 – Blank Video
  • TVNZ 6 – 576i H.264 – Live TVNZ 6
  • TVNZ 7 – 576i H.264 – Showing TV2 Live
  • TVNZ Sports Extra – 576i H.264 – Live

There were also some minor changes to the Kordia Mux with a bunch of additional services loading, although none of them are currently active.

All channels marked KSD are 576i H.264 with MP2 audio

  • Reserved 1KSD – Maori TV
  • Reserved 2KSD – Parliament TV
  • Reserved 3KSD – TVNZ Sport Extra
  • Reserved 4KSD – Blank
  • Reserved 5KSD – Blank
  • Reserved 6KSD – Blank
  • Reserved 1KHD – Blank 1080i H.264
  • Reserved 1KL – No Service
  • Reserved 2KL – No Service
  • Concert-FM – No Service
  • National-Radio – No Service
  • Radio Reserved 1K – No Service
  • Radio Reserved 2K – No Service

I wouldn’t be surprised to see the Kordia Mux switch to AAC audio early next week.

MythTV Multiswitching HowTo 

Filed under: Digital TV, MythTV on Sunday, December 16th, 2007 by steve | No Comments

Dean Pemberton has produced an excellent write up on how to use a DVB-S Multi switch with MythTV. You can find the details at the main MythTV Wiki.

MultiLNB_Switch_Setup

These multi switches allow multiple DVB-S tuner cards or satellite receivers to share a series LNBs each of which picks up signals from a different satellite. This is idea for sharing dishes between a multi-dwelling environment or where you have a lot of tuners wanting to share access the same satellites without potential conflicts.

Installation of Technisat SkyStar 2 DVB-S with serial remote into Mythbuntu 7.10 

Filed under: MythTV, Remote Control, skystar on Wednesday, December 12th, 2007 by holdoway | No Comments

This posting on the Technisat SkyStar remote by Steve Holdoway has now been moved into the MythTV Articles section.

NZ DTT Testing 

Filed under: Digital TV, FreeView, News, h264 on Monday, December 10th, 2007 by steve | No Comments

The Auckland DTT (Digital Terrestrial TV) Tests fired up over the weekend. The Waiatarua transmission is currently showing 14 active services, although some have duplicate video
streams

Linux users can either use the tool w_scan to perform a full UHF scan for potential DVB streams, or the following to perform a quick channel scan with dvbscan -

# Waiatarua, Auckland NZ
#
# Channel allocation details for NZ can be found at
# http://www.rsm.govt.nz/cms/policy-and-planning/current-projects/broadcasting/digital-television-2007-frequency-plan
#
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
# Multiplex DA
T 538000000 8MHz 3/4 3/4 QAM64 8k 1/16 NONE
# Multiplex DB
T 570000000 8MHz 3/4 3/4 QAM64 8k 1/16 NONE
# Multiplex DC
T 666000000 8MHz 3/4 3/4 QAM64 8k 1/16 NONE

The output of a channel scan sadly isn’t enough for mplayer to tune in correctly. First up the standard builds of both dvbscan and w_scan don’t consider H.264 to be a valid video stream.

In the case of the dvb-utils package the following patch adds support for H.264 streams

--- linuxtv-dvb-apps-1.1.1.orig/util/scan/scan.c
+++ linuxtv-dvb-apps-1.1.1/util/scan/scan.c
@@ -755,6 +757,7 @@
switch (buf[0]) {
case 0x01:
case 0x02:
+ case 0x1b: /* H.264 video stream */
moreverbose(" VIDEO : PID 0x%04xn",elementary_pid);
if (s->video_pid == 0)
s->video_pid = elementary_pid;

Now it gets a tad annoying as we still don’t have a channels.conf file we can use with mplayer as it treats the H.264 video streams as MPEG2. Checking back through the mailing lists it appears we need to add additional info to the vPID entry in the channels.conf file such as the PMT of the channel.

After some minor tweaking I’ve ended up with the following usable channels.conf file.

TVNZ 6:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512+256+1:580:1202
TVNZ 7:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:513+257+1:581:1203
TVONE:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514+258+1:582:1200
TV2:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514:+258+1582:1201
TVNZ SPORTS EXTRA:538000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512:580:1204
C4:570000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:512+356+1:580:1301
TV3:570000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:514+358+1:582:1300
Maori TV:666000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:550+200+1:600:1400
Parliament:666000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:551+201+1:601:1401
C4a:666000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:552+202+1:602:1402
Regional 1SD:666000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:553+203+1:603:1403
TV3a:666000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:556+206+1:606:1406
Concert-FM:666000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:611:2000
National-Radio:666000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_3_4:FEC_3_4:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_16:HIERARCHY_NONE:0:606:2001

With this file I can now try to play the DTT streams via mplayer as follows -

mplayer dvb://TVONE

Most of the streams are either 1080i or 576i. Sadly the MPlayer and FFMPEG support for interlaced PAFF H.264 encoding is still broken so I can only do limited analysis of the streams at this stage.

TVNZ Mux has 5 channels but only 3 different video streams on 538000. Two of the streams are 1080i and one stream is 576i. One of the 1080i HD streams is running at a reasonable 6 Mbit, whilst the SD 576i stream is around 2 Mbit.

MediaWorks Mux has two channels on 570000, but the video streams are duplicates of streams from the TVNZ Mux with the same bitrate levels.

Kordia Mux on 666000 has some bad data in the channel table as the radio channels haven’t been mapped correctly. I was able to correct the aPID values in my channels.conf file manually.

On the Kordia Mux we appear to have two live channels, Paliament TV and Maori TV. These are both running SD 576i H.264 with 3 Mbit video.

The duplicate version of C4 also looks to be a live feed of C4 in 576i flagged to 16:9. The additional TV3 feed was running a HD 720p feed at 5Mbit, but was just a black video signal when I looked earlier this evening.

Of the two radio stations I could only get an audio stream from off one, the other refused to play.

Overall off to a good start. Surprised at the lack of AC3 audio streams on the HD channels. Also I’d expect to see the TVNZ channels move over to 720p when they switch from test loops to live feeds.

I’ll be passing some additional test streams onto the FFMPEG and MythTV teams to assist with the implementation of H.264 PAFF support.