[9 June 2010] C-200/A-200 NMJ UI PREVIEW (under development) | 18. Jan 2010 Popcornhour C-200 Manual

Firmware Updates C-200 [7 May 2010] | A-200 [14 May 2010] | A-100 [24 Mar. 2010] | A-110 [24 Mar. 2010] | B-110 [23 Apr. 2010]

Just got your NMT | WIKI has the answers | Search the forum BETTER | Forum Rules/Policy | Firmware & Official NMT News


1 user browsing this thread: (0 members, and 1 guest).

Post Reply 
 
Thread Rating:
  • 6 Votes - 4.33 Average
  • 1
  • 2
  • 3
  • 4
  • 5
TV Jukebox
08-18-2009, 10:31 PM (This post was last modified: 10-03-2009 01:45 PM by bdb.)
Post: #1
TV Jukebox
homepage
download
tv_scan_v0.04 - update
dvb-core.zip - driver update (large buffer)
linux-2.6.15.30_fix.zip - fix for config files

[Image: tv_jukebox2.png]

There have been several requests for dvbt support with a usb stick - here's a start.
note this is an early no frills offering; not a user friendly solution.

The popcorn kernel (2.6.15), circa 2006 has support for some dvb usb sticks; many more have since been added - but changes to the kernel mean that it is not possible to use later drivers in the 2.6.15 kernel without some changes.
A bug in the 2.6.15 dvb code prevents _any_ dvb usb sticks from running on most non x86 processors.

As the dvb modules are not provided with the popcorn, these must be compiled from the kernel sources and inserted after boot up with 'insmod'. For 2.6.15 drivers, only minimal changes are needed to create working modules.

To add later drivers, a better approach is to back port the 2.6.30 dvb code to run on the 2.6.15 kernel. Some changes are largely cosmetic - such as changing mutexes back to semaphores, others require a bit more effort. When done, 2.6.30 drivers may be run unchanged.

I have 2 sticks available that both work fine; I see no reason why others should not also run without too much effort.
a freecom [14aa:022a/022b] that can run with 2.6.15 drivers
a hauppauge [2040:7070] that was not added until much later, so uses 2.6.30 drivers


As with any linux related activity, nothing 'just works', so expect lots of frustrations. For this reason I can supply binaries that work with my setup, but if you are unable to recompile ketrnel modules, debug linux code, etc. you may well be out of luck (for now).

Once the kernel modules are installed, the standard dvb applications (dvbtune, scan, tzap, etc) should work.
To watch tv, run a tzap like application that outputs the pat,sdt,pmt,video,audio pids to /dev/dvb/adapter0/dvr0 [tzap doesn't ...], then redirect the stream to mono.
mono -dram 1 /dev/dvb/adapter0/dvr0
or from gaya
Code:
<a href="file:///dev/dvb/adapter0/dvr0" TVID="" vod="">TV</a>


Also included here is an application (tv_scan) to scan the dvb stream and create a channel list, channels.xml, and to play a selected stream over /dev/dvb/adapter0/dvr0
A simple web page, constructed from channels.xml provides the 'jukebox' frontend for gaya.
- this is heavily biased towards uk users, but should be usable elsewhere.





installation
this is not automatic; you will have to get your hands dirty ...


this is how easy it can be when the wind is in your sails ...
(if you have the same h/w as me, and are in the london area), else get compiling ...

unzip tv_jukebox_v0.01.zip into /share/Apps
plug in dvbt usb stick
reboot
point gaya at /share/Apps/tv_jukebox/tv_jukebox/tv_jukebox.htm
select tv station
select 'Watch TV'
voila

alas, especially when linux is involved, life is rarely that simple



toolchain
install the compiler - http://www.networkedmediatank.com/downlo...05.tar.bz2
build the compiler - an exercise for the user ...
set the compiler environment
$ source toochain-path.env

build + test a hello_world.c


kernel
get the kernel - http://www.networkedmediatank.com/downlo...15.tar.bz2

fix the kernel
never forget; this is linux; nothing works out of the box ...

linux-2.6.15/makefile
-include $(RUA_DIR)/../../syabas/customer/$(customer)/kconfig
+#include $(RUA_DIR)/../../syabas/customer/$(customer)/kconfig


linux-2.6.15/.config
-CONFIG_INITRAMFS_SOURCE="$(SMP86XX_ROOTFS_PATH)/build_mipsel/root"
-CONFIG_INITRAMFS_ROOT_UID=504
-CONFIG_INITRAMFS_ROOT_GID=500
+CONFIG_INITRAMFS_SOURCE=""


set the compiler environment
$ export CC=mipsel-linux-gcc
$ export ARCH=mips

configure the kernel
linux-2.6.15$ make menuconfig

build the kernel modules
linux-2.6.15$ make modules

try one
# insmod .ko

check for errors
# dmesg
# lsmod


vermagic
the popcorn kernel is 2.6.15 (circa 2006)
it expects kernel modules to have been built using gcc 4.0
gcc 4 is a dog
you can patch the .ko files, but it is easier to fake the 'vermagic' string
kernel modules can then be built with gcc 3.4, but will report that they were built with gcc4.0
linux-2.6.15/include/linux/vermagic.h
- "gcc-" __stringify(__GNUC__) "." __stringify(__GNUC_MINOR__)
+ "gcc-" __stringify(4) "." __stringify(0)


you may also need to disable 'module versioning support'
linux-2.6.15/.config
-CONFIG_MODVERSIONS=y
+# CONFIG_MODVERSIONS is not set



dvb support in 2.6.15 is broken
bulk transfers from USB sticks just don't work on this kernel - quality control? oh no; this is linux ...
This bug seems to affect most processeors (except x86 ...)

dvb-usb-urb.c
- d->urb_list[i]->transfer_flags = 0;
+ d->urb_list[i]->transfer_flags = URB_NO_TRANSFER_DMA_MAP;
+ d->urb_list[i]->transfer_dma = d->dma_addr[i];


usb-urb.c
- stream->urb_list[i]->transfer_flags = 0;
+ stream->urb_list[i]->transfer_flags = URB_NO_TRANSFER_DMA_MAP;
+ stream->urb_list[i]->transfer_dma = stream->dma_addr[i];


or
"switched the dvb-usb buffer allocation strategy from usb_buffer_alloc() to kmalloc() and, Bang!, it started working, indeed."


hotplug on the popcorn is broken
see here for another users observation
http://www.networkedmediatank.com/showth...ht=hotplug

before plugging in a usb stick:
cp dvb_init/hotplug /sbin
chmod 755 /sbin/hotplug
HOTPLG='cat /proc/sys/kernel/hotplug'
echo "/sbin/hotplug" > /proc/sys/kernel/hotplug

to restore back to the default
echo $HOTPLG > /proc/sys/kernel/hotplug

Leaving the hotplugged code in a patched state may result in other usb devices (and/or sata disk) not being recognised


kernel
the popcorn kernel is 2.6.15 (circa 2006)
the current kernel is 2.6.30
- there have been numerous changes in between; this being linux, information detailing these changes is sparse

if you have a dvb usb stick that was supported in 2.6.15, then it should work
if you have one that has since been added, then it won't work without some surgery

I have take 2 approaches:
1. minimal changes to the 2.6.15 dvb module, good for devices that were supported in that kernel
2. changes to the 2.6.30 dvb module to allow it to run with the 2.6.15 kernel, 2.6.30 drivers should run almost unmodified.

I will provide some brief information on the 2 sticks I have:
14aa:022a/022b freecom art.no.25452 (wideview wt220u, ZL0353) [using driver from 2.6.15]
2040:7070 hauppauge 70019 (dibcom dib0070, stk7070p) [using driver from 2.6.30]


To build the 2.6.15 kernel modules
unzip the sigma supplied linux-2.6.15.tar.bz2
copy tv_jukebox/linux-2.6.15.15 on top, replacing duplicate files
make menuconfig
make modules
- this should create a set of .ko files

To build the 2.6.30 kernel modules
unzip the sigma supplied linux-2.6.15.tar.bz2
copy tv_jukebox/linux-2.6.15.30 on top, replacing duplicate files
make menuconfig
make modules
- this should create a set of .ko files


freecom
the 2.6.15 kernel provides support for some wideview wt220u sticks
a simple patch is sufficient to add this one (14aa:7070)

note that a rounding error on the frequency setting can result in the exact frequencies failing to tune
e.g.
the correct frequency of the bbc mux on crystal palace is 505833333Hz
the linux driver [and for that matter the windows one - see freecom_bda_driver_patch.zip for a fix] require you to round the frequency up to 506MHz
this fixes it:

linux-2.6.15/drivers/media/dvb/dvb-usb/dtt220u-fe.c
- u16 freq = fep->frequency / 250000;
+ u16 freq = (((fep->frequency + 250000) / 1000000) * 1000000) / 250000;


hauppauge
this driver was not added to the linux kernel until after several kernel changes, and changes to the generic dvb driver
it was easier to hack the 2.6.30 dvb module to operate on the 2.6.15 kernel, than to rework the drivers to run on the 2.6.15 kernel



load the kernel modules
dont forget that the kernel is unpacked from flash at each boot
any changes in it will not survive & must be reapplied on each startup
hotplug looks for firmware in /lib/firmware, so copy it to there
insmod all the .ko files required for your stick
do this in the correct order
use 'dmesg' to check for error messages
plug in a supported dvb usb stick
make sure its firmware gets loaded
use 'dmesg' to check for error messages


dvb_init.sh
#!/bin/sh

#install the firmware
mkdir -p /lib/firmware
cp dvb_init/dvb-usb-wt220u-zl0353-01.fw /lib/firmware
cp dvb_init/dvb-usb-dib0700-1.20.fw /lib/firmware

#a useful library
cp dvb_init/libdvbapi.so /usr/lib

#fix hotplug
cp dvb_init/dvb.sh /etc/udev/rules.d
cp dvb_init/dvb.rules /etc/udev/rules.d
cp dvb_init/hotplug /sbin
chmod 755 /sbin/hotplug
HOTPLG='cat /proc/sys/kernel/hotplug'
echo "/sbin/hotplug" > /proc/sys/kernel/hotplug

#echo $HOTPLG > /proc/sys/kernel/hotplug


#dvb
insmod linux-2.6.15.30/drivers/media/dvb/dvb-core/dvb-core.ko
insmod linux-2.6.15.30/drivers/media/dvb/frontends/dvb-pll.ko
insmod linux-2.6.15.30/drivers/i2c/i2c-core.ko
insmod linux-2.6.15.30/drivers/media/dvb/dvb-usb/dvb-usb.ko
#dtt220, 14aa:7070
insmod linux-2.6.15.30/drivers/media/dvb/dvb-usb/dvb-usb-dtt200u.ko
#hauuppauge usb, 14aa:7070
insmod linux-2.6.15.30/drivers/media/dvb/frontends/dib0070.ko
insmod linux-2.6.15.30/drivers/media/dvb/frontends/dibx000_common.ko
insmod linux-2.6.15.30/drivers/media/dvb/frontends/dib7000p.ko
insmod linux-2.6.15.30/drivers/media/dvb/dvb-usb/dvb-usb-dib0700.ko
#




tv_scan
this application does 2 things

1) ./tv_scan -s -e 505833333
scans across muxes for the entire channel list
This mode requires an initial frequency [i.e. your local bbc mux, (505833333 for london)]
It will then find all the other muxes in the region, and scan them all.
The resultant channel list will be saved in 'channels.xml'
To generate a new web page (windows only):
xml2html channels


2) ./tv_scan -c ./channels.xml -t -l <lcn>
or ./tv_scan -c ./channels.xml -t -n <channel name>
or ./tv_scan -c ./channels.xml -t -l <service_id>
tunes to a specified service
the channel may be selected by lcn/service_id,service_name

Once tuned, the main streams are directed to /dev/dvb/adapter0/dvr0, as per tzap, where they can be picked up by mono

tv_scan will write its cureent status to /tmp/tv_scan
tv_scan can be retuned through a pipe at /tmp/lcn
e.g. tune to bbc 2:
echo 2 > /tmp/lcn


usage
tv_scan
-a : [0] select adapter number
-f : [0] select frontend number
-d : [0] select demux number
-c : [channels.xml] channel list
-s : [0] build channel list for all muxes
-e : [505833333] initial frequency for scan
-p : [0] enable promiscuous mode
-t : [0] tune to indicated channel
-l : [1] select channel by lcn
-i : [0x1044] select channel by service_id
-n : [BBC ONE] select channel by service_id


xml2html
this windows application will convert the channels.xml into channels.htm; as the lovely gaya is incapable ...



This shows that gaya/mono are just about capable of handling tv content, albeit in a slightly clunky way. The simple interface provided could certainly be improved, but is severly hindered by mono. Mono does not seem capable of switching to a new stream without being restarted, and insists on rescanning streams for pids, causing it to be very slow to change streams. Anyone had any luck controlling it more sensibly?

Feedback/comments welome, especially on other dvb sticks.

bdb

edit: fix typo, add tv_scan_v0.04,dvb-core.zip,linux-2.6.15.30_fix.zip
Find all posts by this user
Quote this message in a reply
08-19-2009, 10:09 AM
Post: #2
RE: TV Jukebox
(08-18-2009 10:31 PM)bdb Wrote:  There have been several requests for dvbt support with a usb stick - here's a start.
To add later drivers, a better approach is to back port the 2.6.30 dvb code to run on the 2.6.15 kernel. Some changes are largely cosmetic - such as changing mutexes back to semaphores, others require a bit more effort.

Great job! Could you please provide diff patches of 2.6.30 dvb code? It may be useful guide to back port mutexes to semaphores. I tried to compile some apps but failed in mutexes.
Visit this user's website Find all posts by this user
Quote this message in a reply
08-19-2009, 11:33 AM
Post: #3
RE: TV Jukebox
MATPOC Wrote:Could you please provide diff patches of 2.6.30 dvb code? It may be useful guide to back port mutexes to semaphores. I tried to compile some apps but failed in mutexes.

the .zip file contains all the modified files, the linux-2.6.15.30 directory is 2.6.30.1 code patched to work on 2.6.15, so diffing this against the standard 2.6.30.1 code should give you what to need.
For mutexes back to semaphores, I used a few macros (placed in dvbdev.h):

Code:
//backport from 2.6.30 to 2.6.15
#define mutex_unlock(x)                 up(x)
#define mutex_lock(x)                   down(x)
#define mutex_lock_interruptible(x)     down_interruptible(x)
#define mutex_init(x)                   sema_init(x, 1)
also change all occurances of:
#include <linux/mutex.h>            to  #include <asm/semaphore.h>
struct mutex                        to  struct semaphore
struct delayed_work                 to  struct work_struct
DEFINE_MUTEX                        to  DECLARE_MUTEX

I also put it back to using the dmxdev_buffer code, rather than use the dvb_ringbuffer code; but I'm not sure if this is necessary or not.
There are a few changes to device registering(dvbdev.c), and a few other tweaks to do with threads/wakeup; not sure how many of these are dvb specific.

bdb
Find all posts by this user
Quote this message in a reply
08-20-2009, 03:58 PM
Post: #4
RE: TV Jukebox
If you modify the title I think this thread will get a lot more (well deserved) attention, perhaps "USB DVB-T tuner support on NMT" or something along those lines.

Great work!

Audio, video, disco - I hear, I see, I learn.
Wiki. Wiki? Wiki!
Find all posts by this user
Quote this message in a reply
08-20-2009, 04:02 PM
Post: #5
RE: TV Jukebox
Well, someone ought to make the 'install process' a bit easyer as the thread will be flooded with 'What? how?' questions i'm afraid.

Please read the A-Series or C-200 FAQ before posting, you may save time and find your answer
Visit this user's website Find all posts by this user
Quote this message in a reply
09-23-2009, 07:01 PM
Post: #6
RE: TV Jukebox
Great work, indeed! I have tried TV Jukebox with my Terratec Cinergy T2 usb tuner and it works, but on SD channels only. High definition ones could not be played. Any idea?
Find all posts by this user
Quote this message in a reply
09-23-2009, 09:19 PM
Post: #7
RE: TV Jukebox
/opt/sybhttpd/localhost.drives/HARD_DISK # mono -single file:///dev/dvb/adapter0
/dvr0 -dram 1
mono.c: 1583 ...
Starting mono with command >> [mono] [-single] [file:///dev/dvb/adapter0/dvr0] [
-dram] [1]

mono.c: 2357 ... ===> repeat mode: 0
mono.c: 2428 ... ===> subtitle: 7
apply_tvmode >> 11 [HDMI 1080p 60Hz]
tvmode param: [-f HDMI_1080p60 -o dvi_24 -asp 16 9 -dvi_hdmi siI9134 -hdmi2c 1 -
cs rgb_16_235]

[HDMI] ========================== creating pDH ==========================
[HDMI] Detected part at I2C device address 0x72: vendor 0x0001, device 9134, rev
.0x01 (Silicon Image)
[HDMI] Using the part: SiI9134 (7), Vendor ID is 0x0001 / 0x9134
[HDMI] *** HotPlug changed, is now ON
[HDMI] *** Rx changed, is now ON
[HDMI] *** Clock changed, is now STABLE
[HDMI] DHCancelHDCP()

HH HH HHHHH HH HH HHHH HHHH HH HH
HH HH HH HH HHH HHH HH HH HH HHH HH
HHHHHH HH HH HH H HH HH HH HH HH H HH
HH HH HH HH HH HH HH HH HH HH HHH
HH HH HHHHH HH HH HHHH HHHH HH HH

[HDMI] DHGetVideoModeFromEDID(): Looking for 16:9 mode in YCbCr
Monitor is HDMI
[HDMI] DHSetHDMIMode(TRUE)
[HDMI] Sending blank AudioInfoFrames
[HDMI] Sending null packet
[HDMI] DHUpdateVideoPixelClock(148500000)
[HDMI] Setting the HDMI Audio Clock, PixClk=148500000, SampleClk=48000
HDMI Colorspace is now: RGB limited range
Monitor is HDMI
[HDMI] *** Clock changed, is now STABLE
Cannot insert picture inside surface 7
mono.c: 2811 ... open_path: [/dev/dvb/adapter0/dvr0]
m2t
stream 0/1 (pid 256 [0x100] subId 0 [0x00] type 27 [0x1b])
system video h264
video type is h264 HD
stream 1/1 (pid 258 [0x102] subId 0 [0x00] type 3 [0x03])
system audio mpeg1
audio type is mpeg1
mono.c: 3037 ... [mono] apptype=1
mono.c: 3107 ... [mono] app_params.play_opt->prebuf_max: 16777216
mono.c: 3114 ... [mono] start play_file_app
Using app: 1
rm: cannot remove '/tmp/is_wma.txt': No such file or directory
lowest pmt = 3

****************** open 1/1: task = 0 ******************
dcc_info[0].demux_task = 44
Starting MMAP
End MMAP 0x0x2bdc8000
DIRECT IO not supported!!!
Starting MMAP
End MMAP 0x0x2aab5000
Starting MMAP
End MMAP 0x0x2aaba000
Starting MMAP
End MMAP 0x0x2aabf000
Starting MMAP
End MMAP 0x0x2aac4000
Starting MMAP
End MMAP 0x0x2aac9000
Starting MMAP
End MMAP 0x0x2aace000
Starting MMAP
End MMAP 0x0x2aad3000
Starting MMAP
End MMAP 0x0x2bec8000
Starting MMAP
End MMAP 0x0x2bee9000
[HDMI audio]: Determining number of channels from channel mask 0x02 (LR)
[HDMI audio]: Determined audio has 2.0 channels
[HDMI audio]: Audio sample rate set by application: 48000 Hz, MClk factor 256
[HDMI] Setting the HDMI Audio Clock, PixClk=148500000, SampleClk=48000
[HDMI] Setting the Audio Format: 2 channel, 48000 Hz
[HDMI] Sending audio over S/P-DIF to HDMI
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Acmod2DualMode = 0
[HDMI audio]: Determining number of channels from channel mask 0xA3 (LCRLsRsLssR
ss) + LFE
[HDMI audio]: Determined audio has 7.1 channels
[HDMI audio]: Audio sample rate set by application: 48000 Hz, MClk factor 256
[HDMI] Setting the HDMI Audio Clock, PixClk=148500000, SampleClk=48000
[HDMI] Setting the Audio Format: 2 channel, 48000 Hz
[HDMI] Sending audio over S/P-DIF to HDMI
mono_gui.c: 2360 ... run RMFRTKClearScreen
0_PAT: [ 0 10] [ 1 97] [ 6 12c] [ 65 101] [ c9 12d] [ ca 12e] [ c
b 12f] [ cc 130] [ d2 136]
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Warning: gbus_write_uint32: environment variable EM8XXX_SERVER not set. Using de
vice 0
Acmod2DualMode = 0
[HDMI audio]: Determining number of channels from channel mask 0xA3 (LCRLsRsLssR
ss) + LFE
[HDMI audio]: Determined audio has 7.1 channels
[HDMI audio]: Audio sample rate set by application: 48000 Hz, MClk factor 256
[HDMI] Setting the HDMI Audio Clock, PixClk=148500000, SampleClk=48000
[HDMI] Setting the Audio Format: 2 channel, 48000 Hz
[HDMI] Sending audio over S/P-DIF to HDMI
0_Error reading file
Elapsed time = 1107394
mono.c: 3462 ... MONO cleanup done and exit...
/opt/sybhttpd/localhost.drives/HARD_DISK #
Find all posts by this user
Quote this message in a reply
09-24-2009, 12:42 AM
Post: #8
RE: TV Jukebox
- it certainly looks as if the tv stream is being received
When mono starts it scans a portion of the stream to identify what is in it, then attempts to configure the decoders to handle it.
Mono has identified:
video type is h264 HD, stream 0/1 (pid 256 [0x100] subId 0 [0x00] type 27 [0x1b])
audio type is mpeg1, stream 1/1 (pid 258 [0x102] subId 0 [0x00] type 3 [0x03])
pat: selected pmt [ 65 101]
which all looks sensible, but then has not given any reason for being unable to continue: 0_Error reading file

If the tuner is running properly (which it seems to be), you should be able to save a sample to a file with:
cat /dev/dvb/adapter0/dvr0 > test.ts
You should be able to play test.ts file from gaya (or the mono command line)
-post this somewhere (a few MB is sufficient), as it will help show if the stream is suitable for mono to handle.

You don't say how you are tuning the dvb receiver, are you using 'tv_scan' or another application?
The tuner must offer the pat,sdt,pmt,audio,video, and (if different from the video) pcr pids.
tv_scan leaves a .log file, which may contain some useful information, probably in Apps/tv_jukebox/tv_jukebox/tv_scan.log
If tv_scan is run with:
tv_scan -s -e -v 1
then it will create a 'channels.log' file showing which streams it detected.
I have only run this on the uk system, so it is possible that your broadcasts differ slightly, and not all the useful parameters are being found. In particular, the UK uses a non-standard method to indicate the channel number (lcn).
If you encounter a problem at the driver level, some indication may get left in the system logfile - use 'dmesg' to view.

bdb
Find all posts by this user
Quote this message in a reply
09-24-2009, 07:32 AM (This post was last modified: 09-24-2009 07:50 AM by rosioara.)
Post: #9
RE: TV Jukebox
What I did is to copy the tv_jukebox as it is on Apps folder, edit the dvb_init.sh by adding the drivers for the CinergyT2 tuner, restart. Then I killed tv_scan and emptied channels.xml in order to be able to create my own list of channels with the local providers.

So I tried first tv_scan -s -f 738000000, but I guess you made a little mistake when writing the readme. So I did tv_scan -s -e 738000000, it tuned to the frequency and added the transponder details in channels.xml but no and . Why?? How to make a "full scan" of a frequency?

What I did is to manually add the and with all the pids, vpids and so on from the dvbviewer latest scan on my computer and converted in hex. I added in this way two services: one in standard definition (lcn 2) and one in h264 (lcn 1). With echo 1 or 2 > /tmp/lcn I was able to switch between them. The standard definition channel seems to work just fine, but the one h264 just gives me the error log I have posted. After reboot I runed dmesg and the driver was registered and the device working without errors.

I will post in the evening the ts as you said and I will search for the logs of tv_scan but I remember it's not there in the folder.

In between, could you explain how to make an automated scan of the frequency in order to have the services automatically added in channels.xml?
Another thing to mention here:

I used in many situations the tuner plugged into computer, with dvbviewer 3.92 which has a plugin for network streaming. It streams the ts to the pch directly, even you don't have h264 codecs available.

This combination works great, I can open and watch the stream on the pch even in h264.

Could this be useful?
Find all posts by this user
Quote this message in a reply
09-24-2009, 05:54 PM
Post: #10
RE: TV Jukebox
I know this will sould like SF, but the TS file resulted from cat operation is playable in gaya and mono Smile So... what should we do next?
Find all posts by this user
Quote this message in a reply
09-24-2009, 11:14 PM (This post was last modified: 09-30-2009 08:37 PM by bdb.)
Post: #11
RE: TV Jukebox
I originally had a similar setup to the dvbviewer suggestion, but wanted to reduce the reliance on another computer. I also wanted to be able to switch channels from the pch. Ideally, it should be possible to select between numerous sources, be they local or remote; udp or tcp. For me, mono really shows its deficiencies when offered http streams - continual hunting for non-existing subtitles make the startup delay even longer than when dealing with files. It seems to be unable to handle udp streams at all...

I think that the missing information in you .xml file is due to a reliance on the 'lcn' which is uk specific.
I have updated to 'tv_scan' to try to fix this.

I'm still not sure why the hd live streaming is causing problems. I would like to see the sample file.

bdb
Find all posts by this user
Quote this message in a reply
09-24-2009, 11:20 PM
Post: #12
RE: TV Jukebox
udpxy has been compiled and used for IPTV channels, but I guess it doesn't apply in this case?
(FWIW: it's in the CSI or found in some thread, I think it was user OwL that compiled it)

Audio, video, disco - I hear, I see, I learn.
Wiki. Wiki? Wiki!
Find all posts by this user
Quote this message in a reply
09-25-2009, 12:38 AM
Post: #13
RE: TV Jukebox
Well,

After spending so many hours with the tv jukebox... I can say that that the h264 ts files recorded on drive are well played by gaya or mono. I've uploaded a sample here: http://fbx.ro/julq362cvym3qk34

Unfortunately, I found that when tv_scan is running, accessing local files (like playing the recenly recorded ts) on the nmt disk or from network could lead to popcorh crash. With the usb tuner unplugged or tv_scan killed, I have no such problem and the playback works fine. So maybe you can re-check the drivers and/or the tv_scan application.

I was wondering about the possibility that the usb tuner doesn't have enough power supplied by the pch on the usb port and hangs like that. What do you think?

And having in mind that the ts resulted from high definition channels plays fine, maybe there's a switch for mono indicating a larger buffer or so when playing direcly from /dev/dvb/...
Find all posts by this user
Quote this message in a reply
09-25-2009, 04:03 PM (This post was last modified: 09-25-2009 05:23 PM by rosioara.)
Post: #14
RE: TV Jukebox
New streams captured, all playing fine on pch:

http://fbx.ro/dhbew7hjzkndf3x1

http://fbx.ro/aby3idp1euqyz481

http://fbx.ro/fb39yg6eelh78wed

SD and HD.

Today I replaced my hard disk and the problems with crashing have all gone.

I guess that the tv_scan app needs some adjustments for increasing the number of packets sent to /dev/dvb/adapter0/dvr0, hope I'm not telling stupid things. Maybe the size is too small for HD channels, with bitrate more than 10mbps compared with 3mbps for SD.

bdb, thanks for the new version, but still problems... The scan starts with lcn 900 and then 901, 902 ... but when scanning new transponder it goes back to 900. So if you have 4 tps for example you will have 4 lcn with 900.
Find all posts by this user
Quote this message in a reply
09-25-2009, 08:13 PM
Post: #15
RE: TV Jukebox
ok, so I guess I found something...

in /dvb-core/dmxdev.h

there is

#define DVR_BUFFER_SIZE (10*188*1024)

at the end of the file. This buffer size isn't simply enough for higher bitrates. I would suggest to modify to

#define DVR_BUFFER_SIZE (100*188*1024)

Unfortunatelly, I have little knowledge in building the new drivers so I will ask for your help in building tv_jukebox_0.03 Big Grin
Find all posts by this user
Quote this message in a reply
Post Reply 


Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  NFO Manager v1.0.4 Beta Released Nov 11th - With Dynamic JukeBox vaidyasr 72 11,989 Yesterday 09:31 AM
Last Post: vaidyasr
  Jukebox automator tiwas 56 9,569 06-18-2010 07:26 AM
Last Post: aln
  taimador - standalone dynamic jukebox rony 11 1,350 02-28-2010 07:00 PM
Last Post: rony
Information [Solution] Autoload Jukebox with availability to use normal menu Lufa 0 457 09-25-2009 11:19 PM
Last Post: Lufa
  Video Jukebox, Thumbnails for Home Video? oatnog 3 639 08-23-2009 12:02 AM
Last Post: eummagic
  Install YANJ & Music JukeBox? fred54 2 1,848 01-23-2009 03:55 PM
Last Post: fred54
  Im Interested in creating a jukebox farinspace 27 4,856 01-10-2009 04:44 PM
Last Post: misplacedamerican
  Picture Jukebox stsmith5150 2 890 01-08-2009 09:38 PM
Last Post: stsmith5150
  Atempt for -PHP, MySQL- Movie JukeBox (Old title "PHP usage with PCH") infinite 49 9,992 01-05-2009 06:20 PM
Last Post: excal
  Music Jukebox 4 non html generated hakanaki 7 2,124 12-21-2008 11:59 PM
Last Post: wandidj

Forum Jump: