DVB search

From MythTV Official Wiki
Revision as of 16:55, 20 June 2010 by Wagnerrp (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Important.png Note: For those Comcast customers in an area where the Pace DC50X, Motorola or Thomson DTA's are being deployed, Comcast is broadcasting virtual channel maps that show QAM channel layouts. scte65scan is a utility that will read these maps.

For more details, see Scte65scan

Warning.png Warning: the program 'dvbscan' on some systems is actually 'scan', if you try 'dvbscan' and get an error, try 'scan'

While following the directions in Adding QAM Channels For HDTV Tuner Cards I ran into a few problems.

./dvbscan atsc/us-Cable-Standard-center-frequencies-QAM256 

returned over 200 channels, none of them had useable names, and the names would often repeat..

Example

[0006]:657000000:QAM_256:74:75:6
[000c]:657000000:QAM_256:0:80:12
[0001]:657000000:QAM_256:76:77:1
[0005]:663000000:QAM_256:0:65:5
[0006]:663000000:QAM_256:0:77:6
[0002]:663000000:QAM_256:0:68:2
[000b]:663000000:QAM_256:74:75:11
[000c]:663000000:QAM_256:72:73:12
.
.
[003d]:735000000:QAM_256:237:238:61
[0002]:741000000:QAM_256:0:72:2
[0006]:741000000:QAM_256:66:67:6
[0008]:741000000:QAM_256:74:75:8
[0009]:741000000:QAM_256:64:65:9
[000c]:741000000:QAM_256:0:78:12
[000a]:741000000:QAM_256:88:89:10

.. also ..

mplayer -vo jpeg:quality=95 -frames 2 -nosound dvb://[channel name]

Would run usually 'forever' and not return anything of use...

The following is the way that I worked around these problems...

First we have to 'fix' the channels.conf to use names that do not repeat.

perl -pe 's/^.{6}/++$i/e;' channels.conf > channels.conf.new

channels.conf.new should look something like this..

1:555000000:QAM_256:20:21:19
2:555000000:QAM_256:26:27:20
3:567000000:QAM_256:16:17:91
4:567000000:QAM_256:20:21:89
5:567000000:QAM_256:30:31:99
6:609000000:QAM_256:0:65:7
7:609000000:QAM_256:88:89:3
8:609000000:QAM_256:97:98:4
9:609000000:QAM_256:0:68:9

copy channels.conf.new to ~/.mplayer/channels.conf (if you are the cautious type, back up your old ~/.mplayer/channels.conf)

Next we will want to search all of the channels using the following script.

scan.sh:

#!/bin/sh
for ln in `cat ~/.mplayer/channels.conf `
do
  ch=`echo $ln |awk -F ":" {'print $1'}`
  DATE=`date`
  NEWFILE="$ch.mpg"
  echo "$DATE | $ch start scan.." >> scan.log
  if [ -r nohup.out ]
  then
    rm nohup.out
  fi
  #nohup mencoder -v dvb://[$ch] -o test.mpg -oac copy -ovc copy &
  nohup mencoder -v dvb://[$ch] -o test.mpg -oac copy -ovc lavc &
  for i in 1 2 3
  do
    #10 seconds was not nearly long enough for me
    #sleep 10
    sleep 30
    mencoder_count=`grep "Found video stream" nohup.out |wc -l`
    if [ $mencoder_count -gt 0 ]
    then
      DATE=`date`
      echo "$DATE | Mencoder Found a Video Stream" >> scan.log
      echo "$ln" >> channels.conf.found
    fi
    if [ -r test.mpg ]
    then
      sleep 15
      break
    fi
    RETURN=`ps aux |grep mencoder |grep -v grep |awk {'print $2'}|wc -l`
    if [ $RETURN -eq "0" ]
    then
      break
    fi
  done
  RETURN=`ps aux |grep mencoder |grep -v grep |awk {'print $2'}|wc -l`
  if [ $RETURN -eq "1" ]
  then
    kill `ps aux |grep mencoder |grep -v grep |awk {'print $2'}`
    DATE=`date`
    echo "$DATE | $ch was killed! " >> scan.log
  else
    DATE=`date`
    echo "$DATE | $ch ended! " >> scan.log
  fi
  DATE=`date`
  echo "$DATE | $ch end scan.." >> scan.log
  if [ -r test.mpg  ]
  then
    echo "$DATE | We gots somthin!" >> scan.log
    mv test.mpg "./found/$NEWFILE"
  else
    echo "$DATE | We gots nothin!" >> scan.log
  fi
#cat nohup.out >> nohup.log 
sleep 5
done

notes:

  • make sure that you have a ./found/ directory to store the found images
  • make sure that you are not running more than one instance of mplayer
  • the audio and video were garbled for me but there was enough to figure out the channel.

Depending on how many channels you have this is going to take a while... Take this opportunity to spend some time with your wife... I know that mine appreciated it.

When its complete with any luck you should have a series of .mpg files in ./found/ the file name will correspond to the channel number in channels.conf.found

From there you can trim down your channels.conf and follow the directions found in Adding QAM Channels For HDTV Tuner Cards

Let me know if this helps or if you have any suggestions. User_talk:Ll

There is an early version of this script that generates jpgs rather than mpgs here [[1]]