BBC HD: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
No edit summary
(removed comments, this really is an mplayer/xine bug in its assumption of mpeg2)
 
(11 intermediate revisions by 3 users not shown)
Line 1: Line 1:
'''BBC HD on Astra 28.8e'''
'''BBC HD on Astra 28.2e'''


Sky Digital HDTV Standards are a little different to the norm. You may encounter problems getting BBC HD working with MPlayer or other Linux media players.
Sky Digital HDTV Standards are a little different to the norm. You may encounter problems getting BBC HD working with MPlayer or other Linux media players.


When using szap to create channels.conf, the correct video PID is not selected by default. Using a video PID of 0 will not work as it does on non-HD channels and can cause errors such as "NO VIDEO!" or "Video: no video" in MPlayer. Here is the current working channels.conf entry (October 2007):
When using '''scan''' to create '''channels.conf''', the correct video PID is not selected by default. Using a video PID of 0 will not work as it does on non-HD channels and can cause errors such as "NO VIDEO!" or "Video: no video" in MPlayer. Here are current working '''channels.conf''' entries for BBC HD and LUXE TV HD (updated 25 August 2008):


<code>BBC HD:10847:v:0:22000:2318:2319:6940</code>
BBC HD:10847:v:0:22000:2328:2329:6940
LUXE TV HD:12643:h:0:27500:2319:2320:54206


or, more explicitly, BBC HD is
As you can see the correct video PID is 2318. 2319 is the Dolby Digital (AC3) PID, choose 2320 if you want MP2 Layer 3 (Mp3).

frequency = 10847 MHz V, symbolrate = 22000, vpid = 0x0918 (decimal 2328),
apid = 0x0919 (decimal 2329), sid = 0x1b1c (decimal 6940)

An alternative audio track is apid=2330.

See here for the latest settings for HD channels at 28 degrees East: http://www.lyngsat.com/hd/28east.html.

The following script tunes to BBC HD and runs mplayer fullscreen:

#!/bin/bash
szap -r -p -c ~/channels.conf "BBC HD" >& /dev/null &
mplayer -fs -stop-xscreensaver -lavdopts threads=4 - < /dev/dvb/adapter0/dvr0
killall szap


[UPDATE 25th Aug 2008: is the following still true??? Mplayer works fine for me without patching.]




The way in which the H.264 codec is defined in the TS stream is non-standard and a patch is required for mplayer:
The way in which the H.264 codec is defined in the TS stream is non-standard and a patch is required for mplayer:



<pre>
<pre>
Line 45: Line 64:
On slower CPUs, very slow MPlayer playback of BBC HD can be fixed with the command-line option <tt>-lavdopts skiploopfilter=all</tt>. Also possibly add <tt>:threads=N</tt> option for multi-core CPUs.
On slower CPUs, very slow MPlayer playback of BBC HD can be fixed with the command-line option <tt>-lavdopts skiploopfilter=all</tt>. Also possibly add <tt>:threads=N</tt> option for multi-core CPUs.


[[Kaffeine]] plays BBC HD, see that page for more details.
[[Kaffeine]] scans, tunes and plays BBC HD without modification, see that page for more details.
[[Category:Tuning Information]]

Latest revision as of 16:30, 20 December 2009

BBC HD on Astra 28.2e

Sky Digital HDTV Standards are a little different to the norm. You may encounter problems getting BBC HD working with MPlayer or other Linux media players.

When using scan to create channels.conf, the correct video PID is not selected by default. Using a video PID of 0 will not work as it does on non-HD channels and can cause errors such as "NO VIDEO!" or "Video: no video" in MPlayer. Here are current working channels.conf entries for BBC HD and LUXE TV HD (updated 25 August 2008):

BBC HD:10847:v:0:22000:2328:2329:6940
LUXE TV HD:12643:h:0:27500:2319:2320:54206

or, more explicitly, BBC HD is

frequency = 10847 MHz V, symbolrate = 22000, vpid = 0x0918 (decimal 2328),
apid = 0x0919 (decimal 2329), sid = 0x1b1c (decimal 6940)

An alternative audio track is apid=2330.

See here for the latest settings for HD channels at 28 degrees East: http://www.lyngsat.com/hd/28east.html.

The following script tunes to BBC HD and runs mplayer fullscreen:

#!/bin/bash
szap -r -p -c ~/channels.conf "BBC HD" >& /dev/null &
mplayer -fs -stop-xscreensaver -lavdopts threads=4 - < /dev/dvb/adapter0/dvr0
killall szap


[UPDATE 25th Aug 2008: is the following still true??? Mplayer works fine for me without patching.]


The way in which the H.264 codec is defined in the TS stream is non-standard and a patch is required for mplayer:



--- mplayer/libmpdemux/video.c.ark	2007-02-25 15:31:54.000000000 +0100
+++ mplayer/libmpdemux/video.c	2007-02-25 15:39:20.000000000 +0100
@@ -81,6 +81,7 @@
     video_codec = VIDEO_OTHER;
     
 // Determine image properties:
+scan_video:
 switch(video_codec){
  case VIDEO_OTHER: {
  if((d_video->demuxer->file_format == DEMUXER_TYPE_ASF) || (d_video->demuxer->file_format == DEMUXER_TYPE_AVI)) {
@@ -250,6 +251,13 @@
    while(1){
       int i=sync_video_packet(d_video);
       if(i==0x1B3) break; // found it!
+      else if((i&~0x60) == 0x107 && i != 0x107) {
+        // Some H.264 HDTV stations, including e.g. ProSieben HD as of
+	// 2007/02/25, are misidentified as MPEG-2. This is probably what
+	// we're seeing here, let's try to fix it.
+	video_codec=VIDEO_H264;
+	goto scan_video;
+      }
       if(!i || !skip_video_packet(d_video)){
         if( mp_msg_test(MSGT_DECVIDEO,MSGL_V) )  mp_msg(MSGT_DECVIDEO,MSGL_V,"NONE :(\n");
         mp_msg(MSGT_DECVIDEO,MSGL_ERR,MSGTR_MpegNoSequHdr);

Special thanks to Bernhard Rosenkraenzer for this patch, it hasn't been accepted into the main MPlayer source tree as the maintainers do not want to support wrongly produced TS streams. The same problem exists on ProSieben HD in Germany and the above patch fixes that too.

On slower CPUs, very slow MPlayer playback of BBC HD can be fixed with the command-line option -lavdopts skiploopfilter=all. Also possibly add :threads=N option for multi-core CPUs.

Kaffeine scans, tunes and plays BBC HD without modification, see that page for more details.