Active Topics

 



Notices


Reply
Thread Tools
luca's Avatar
Posts: 1,137 | Thanked: 402 times | Joined on Sep 2007 @ Catalunya
#11
The format of the recording itself is mpeg-pes, mplayer/mencoder deals with it just fine (I'm still having problems transcoding with 770-encode.pl, but I manually transcoded with mencoder and played on the n800, but after adding vdr to the list of extensions I at least see the thumbnails just fine).
What's peculiar in vdr is the directory structure: each recording is in a subdirectory named

name_of_the_recording/date_time.priority.rec, e.g.

Donnie_Darko/2007-09-08.22.30.50.99.rec

(a recording made the 8th of september 2007, at 22:30:50, with priority 99, the priority it's only for vdr internals).

if episodes names are in use, there's an additional directory:

The_Avengers/Mission_Highly_Improbable/2007-08-02.21.08.50.99.rec

If it's a deleted recording, instead of .rec it will end in .del and shouldn't be shown in mediacenter

Inside each recording there's a bunch of files.
I'm copypasting from vdr.5 man page:

Code:
   AUDIO/VIDEO DATA
       The files 001.vdr...255.vdr are the actual recorded MPEG data files. In
       order  to  keep  the  size of an individual file below a given limit, a
       recording is split into several files. The contents of these  files  is
       Packetized  Elementary  Stream  (PES)  and contains ES packets with ids
       0xE0...0xEF for video (only one of these may actually occur in a file),
       0xC0...0xDF  for audio 1...32 (up to 32 audio tracks may occur).  Dolby
       Digital data is stored in packets with ids 0xBD  ("Private  Stream  1")
       and substream ids 0x80...0x87.

   INDEX
       The  file  index.vdr (if present in a recording directory) contains the
       (binary)  index  data  into   each   of   the   the   recording   files
       001.vdr...255.vdr.  It  is  used during replay to determine the current
       position within the recording, and to implement skipping and fast  for‐
       ward/back  functions.   See  the definition of the cIndexFile class for
       details about the actual contents of this file.
   INFO
       The file info.vdr (if present in  a  recording  directory)  contains  a
       description  of  the  recording, derived from the EPG data at recording
       time (if such data was available). The Aux field of  the  corresponding
       timer  (if given) is copied into this file, using the '@' tag.  This is
       a plain ASCII file and contains tagged lines like  the  EPG  DATA  file
       (see  the  description  of  the epg.data file). Note that the lowercase
       tags ('c' and 'e') will not appear in an info.vdr file.   Lines  tagged
       with  '#'  are ignored and can be used by external tools to store arbi‐
       trary information.

   RESUME
       The file resume.vdr (if present in a recording directory) contains  the
       position  within  the recording where the last replay session left off.
       The data is a four byte (binary) integer value and  defines  an  offset
       into the file index.vdr.

  MARKS
       The  file  marks.vdr (if present in a recording directory) contains the
       editing marks defined for this recording.  Each line contains the defi‐
       nition of one mark in the following format: (omitted)

  EPG DATA
       The  file  epg.data contains the EPG data in an easily parsable format.
       The first character of each line defines what kind of  data  this  line
       contains.

       The following tag characters are defined:
 
       C   <channel id> <channel name>
       E   <event id> <start time> <duration> <table id> <version>
       T   <title>
       S   <short text>
       D   <description>
       X   <stream> <type> <language> <descr>
       V   <vps time>
       e
       c
basically you only need the [0-9][0-9][0-9].vdr files and info.vdr to extract the information.
Instead of having the user drill down to the directory and show all the file, you should just give the directory name (and eventually the episode name).
This is an example info.vdr (as per the EPG DATA section above)

Code:
C S28.2E-2-2045-6316 BBC FOUR
E 41995 1186081800 3000 0 FF
T The Avengers
S Mission Highly Improbable
D Steed and Emma investigate a professor's ability to make things disappear.
X 2 03 eng
X 2 03 NAR
 
luca's Avatar
Posts: 1,137 | Thanked: 402 times | Joined on Sep 2007 @ Catalunya
#12
Originally Posted by luca View Post
I'm still having problems transcoding with 770-encode.pl
mmh, I changed the setting to 'best', and using my laptop, I can see the transcoded video just fine (by clicking on it it will open the mplayer plugin).
When I do the same on the tablet, it will open with media player, that will say "format not recognized".
If I cut and paste the url to mplayer, it will only show the first couple of frames.
I have to go now, tomorrow I'll do more tests.
 
aflegg's Avatar
Posts: 1,463 | Thanked: 81 times | Joined on Oct 2005 @ UK
#13
Blimey. They don't make it easy with VDR, do they?
__________________
Andrew Flegg -- mailto:andrew@bleb.org | http://www.bleb.org
Now known as
Jaffa
 
Posts: 1,208 | Thanked: 1,028 times | Joined on Oct 2007
#14
This is exactly what I've been looking for! Tried it and works great.

However there is one problem. Thumbnail pictures don't work and instead I get the default video.png for every video. I have tracked error to doImage function line

rename("$tmpdir/00000001.jpg", "$DATA_DIR/data/$file.jpg");

If I change target file name for example to /tmp/pic.jpg it works, but /tmp/$file.jpg doesn't work.

Another great feature would be ability take input from network stream instead of a file. Mencoder supports it but I just don't know how get the stream address through mediaserv and 770-encode. M3U file would be the easy way but mencoder doesn't support it. Maybe some hack which would extract the url from m3u would do the job.

With stream input I could stream TV from vdr systen to n800
 
GeneralAntilles's Avatar
Posts: 5,478 | Thanked: 5,222 times | Joined on Jan 2006 @ St. Petersburg, FL
#15
Goodnews! Finally got it working on my OS X box. Transcoding works great and the results are beautiful. Couldn't be any easier.

Thanks, aflegg!
 
aflegg's Avatar
Posts: 1,463 | Thanked: 81 times | Joined on Oct 2005 @ UK
#16
Originally Posted by mikkov View Post
This is exactly what I've been looking for! Tried it and works great.
Glad you like it, and thanks for the feedback!

Originally Posted by mikkov View Post
However there is one problem. Thumbnail pictures don't work and instead I get the default video.png for every video. I have tracked error to doImage function line

rename("$tmpdir/00000001.jpg", "$DATA_DIR/data/$file.jpg");
This should be fixed in the next version, v0.03 which I'm hoping to release tomorrow. At the moment bleb.org's down whilst the server moves from London to Manchester, but assuming I know my /etc/network/interfaces from my /etc/resolv.conf, it should come back up tomorrow morning as I get out of bed with no problems whatsoever (famous last words).

Originally Posted by mikkov View Post
Another great feature would be ability take input from network stream instead of a file. Mencoder supports it but I just don't know how get the stream address through mediaserv and 770-encode. M3U file would be the easy way but mencoder doesn't support it. Maybe some hack which would extract the url from m3u would do the job.
It's certainly planned to be able to support URL import, for two reasons:

1) I want to be able to transcode-proxy RSS feeds.
2) I want to be able to access streaming video encoded in Freevo FXD files.

Originally Posted by GeneralAntilles View Post
Goodnews! Finally got it working on my OS X box. Transcoding works great and the results are beautiful. Couldn't be any easier.
Excellent, since I don't have a Mac anymore, I wasn't sure it would work. What did you have to do to get it working? Is there anything I can add to the README to make it easier for others in future?

Thanks in advance,

Andrew
__________________
Andrew Flegg -- mailto:andrew@bleb.org | http://www.bleb.org
Now known as
Jaffa
 
luca's Avatar
Posts: 1,137 | Thanked: 402 times | Joined on Sep 2007 @ Catalunya
#17
Originally Posted by mikkov View Post
With stream input I could stream TV from vdr systen to n800
You can do that with the streamdev-server plugin: the cvs version can use an external remuxer, so that, e.g., pointing mplayer on the tablet at http://your.vdr.machine:3000/Extern/1 will stream the first channel in channels.conf (http://your.vdr.machine:3000/Extern/channels.htm in a browser will give you a list of channels).
This is the remuxing script I found on the vdr mailing list (though there's a lot of room for improvements)

Code:
#!/bin/bash

IN=-
OUT=/tmp/out

rm -f $OUT.avi /tmp/$OUT.log
/usr/bin/mkfifo $OUT.avi

cat $OUT.avi &
exec /usr/bin/mencoder "$IN" -cache 1024 -srate 44100 -oac mp3lame -lameopts vbr=0:br=128 -af volnorm -ovc lavc \
-lavcopts vcodec=mpeg4:vbitrate=600 -vf-add scale=512:288 -ffourcc DIVX -noidx -o $OUT.avi &>/dev/null
 
luca's Avatar
Posts: 1,137 | Thanked: 402 times | Joined on Sep 2007 @ Catalunya
#18
Originally Posted by aflegg View Post
Blimey. They don't make it easy with VDR, do they?
define "easy"
No, seriously, it goes through all of this to avoid using a database (the filesystem is the database) and it works really well.
 
GeneralAntilles's Avatar
Posts: 5,478 | Thanked: 5,222 times | Joined on Jan 2006 @ St. Petersburg, FL
#19
Originally Posted by aflegg View Post
Excellent, since I don't have a Mac anymore, I wasn't sure it would work. What did you have to do to get it working? Is there anything I can add to the README to make it easier for others in future?
That, I couldn't really tell you.

I'm installing Leopard tomorrow, so I'll be running through the whole process again from scratch (and on a clean system) using more scientific methods. I should be able to work out a few tips for OS X users.
 
Posts: 20 | Thanked: 0 times | Joined on Apr 2007
#20
Hi Andrew, I tried sending this to you via mail, but it was bounced back. I assume that this is because of the server move...

I have been playing with latest version for a little while, and it is looking really nice. The MythTV meta data is displayed, and the thumbnails are being created now.

The only things that I could see for improvement for the MythTV support are:
  • I have some subdirectories under my mythtv directory, and mediaserv tries to look them up in the database. The message returned by mythname.pl is /media/mythtv/n800 is not in the database. Perhaps a check for this message, or a check to make sure the object is a file before looking up the info would work.
  • My only other concern at this point is that I have 300+ recordings for mythtv (and it is growing). I know that this is not large by many peoples standards. Perhaps a future enhancement could be some sort of paging. That is only display 20 or 50 or whatever videos per page.
Great work!

Kevin
 
Reply


 
Forum Jump


All times are GMT. The time now is 21:27.