VLC and VDR behaviors, 2 years issue, still no solution

Feature requests for VLC.
Alib

VLC and VDR behaviors, 2 years issue, still no solution

Postby Alib » 14 Sep 2005 17:09

Hello there.

I'd like to relaunch this old subject about no audio on .vdr files with vlc.

I can see so many reporting of this problem on this forum and on others, that this important request should be considered by the developper community here. I'm sure many developpers from the vdr communities would be glad to help on this. But without your consideration it's useless i think.

VLC is the best open source player ( better than mplayer for me ) , and VDR the best open source DVB software. And booth can't work together, what a shame. ^^

That's a pity this issue is ignored by vlc developpers. I'm wondering now if it's not a tabou subject here.

I now the .vdr PES/PS streams are not really standard. But that's a Technotrend hardware constraint and we have to manage with this.
Demuxing/Remuxing the stream on vdr side in real time is not a suitable solution as vdr is well know for low cpu usage and run on really old configuration for many users.

We all want VLC able to read vdr streams ( recording or streamdev streams ). For many reason:

-vlc as vdr client for streamdev
-vls/vlc as streaming server for vdr for local multicast broadcast and real time rencoding for web streaming or pda streaming.
-vls/vlc as a vdr streaming plugin to replace streamdev ( not in dev yet because of this issue )
- vlc as interface with a freebox-vdr plugin to handle Freebox as a vdr client ( Freebox is able to play vdr files directly )
- etc.

Many project are locked because of this issue.

Please vlc community, consider this request seriously and let's work together to find a definitive solution on this.
I'm pretty sure it's possible to trick vlc and give it ability to read those files.
If you need any help,test,sample files etc lot of vdr users are following this forum and will be glad to provide you all the info you need. Me first.

This is my Santa Claus xmas request :)

Thx for all.

Guest

Pinguinpowered

Postby Guest » 15 Sep 2005 15:28

UP!!!!

The DJ
Cone Master
Cone Master
Posts: 5987
Joined: 22 Nov 2003 21:52
VLC version: git
Operating System: Mac OS X
Location: Enschede, Holland
Contact:

Postby The DJ » 16 Sep 2005 17:03

Time, Time, Time..

You are right. we don't care. we don't have VDR in our personal situations. Almost anything in VLC is developed for personal use. Therefore things like supporting broken hardware is not a priority for us.

We are totally swamped and heavily understaffed.
Basically, if you are with so many developers if you claim, then i don't see a reason why you couldn't fix this yourself. :D
Don't use PMs for support questions.

batDan

Postby batDan » 15 Nov 2005 09:09

This "broken hardware" works perfectly for thousands of users. VDR and the TechnoTrend DVB cards are widely recognized as the far best open source solution for receiving, recording, cutting and watching digital TV. There are several distributions of VDR which are easy to install even for people with almost no Linux knowledge (like the c't VDR).

I really hope that some programmers will develop and release at least a patch for VLC to be able to play the VDR streams, no matter if they are "broken" or non-standart...

kdeiss

please

Postby kdeiss » 15 Nov 2005 21:42

Please, please fix this.

klaus

urig
New Cone
New Cone
Posts: 9
Joined: 21 Aug 2004 19:12

Postby urig » 17 Nov 2005 04:18

Ok, time to clarify some of the mess.

This is no 'broken hardware' issue. VDR stores the video in very simple mpeg PES streams, just as they are transmitted in DVB, after TS demuxing.

Typical recordings contain one video and one or more audio streams in mpv/mpa/ac3 ES streams, and are separated by the stream id of the PES packets. The recording may be splitted into several files of the form 001.vdr, 002.vdr etc. There is an index.vdr file that is basically a seek index to all frames.

The streams may need timestamp syncing, as they may start at different times and may not have same length. Another special is that the timestamps may have long gaps if commercials were cut out.

VLC-0.8.2 currently plays the video part, but not audio. The log file indicates that an mpga audio decoder gets started, and VLC offers one audio track, but its silent.

Video and audio each play well when demuxed to separate ES streams using ProjectX, and after remuxing to mpeg-PS, the recording is watchable. Basically, this must be a demuxer issue.

Cheers,

Udo

Klaus Deiss

Sample files vdr

Postby Klaus Deiss » 17 Nov 2005 18:45

Perhaps this may help the vlc-developers. I've uploaded two files in vdr-format. Both files are packed in tgz archives. One file has an ac3 soundtrack, the other file has two soundtracks in mp2 format
(french and english).

You can download the samples from

http://www.ligaman.de/klaus/vdr/sample_files/

Each tar file is a complete vdr-recording.

Structure of a vdr recording

-rw-r--r-- 1 root root 30394897 2005-11-17 12:41 001.vdr
-rw-r--r-- 1 root root 13200 2005-11-17 12:41 index.vdr
-rw-r--r-- 1 root root 77 2005-11-17 12:41 marks.vdr
-rw-r--r-- 1 root root 4 2005-11-17 12:42 resume.vdr
-rw-r--r-- 1 root root 485 2005-11-17 12:41 summary.vdr

001.vdr contains audio and video and vtx. Max size is 2 Giga.
Next file is named 002.vdr and so on. Index.vdr is a internal file.
Marks.vdr contains the cutmarks, resume.vdr contains the last position,
summary.vdr contains a description of the recording.

Additionally I put inside each tar-file a description.txt. There you will find
Informations for each file. This Information has been created by ProjectX.

ProjectX is written in JAVA - its demuxer works fine with files in vdr-format.

More Informations on ProjectX see http://www.lucike.info/page_projectx.htm.
Pehaps this can help - if somebody needs more help/information please let me know.

With kind regards


Klaus Deiss

Klaus Deiss

Postby Klaus Deiss » 19 Nov 2005 12:45

@Derk-Jan Hartman

I saw you personally are involved in the mac port of vlc.

- Do you know who could be a partner for demuxing questions ?
- Are the provided files helpfull?
- Do you need more information?

In general what can we do to help you and make vlc better .....


With kind regards and many thanks for your great work

Klaus

The DJ
Cone Master
Cone Master
Posts: 5987
Joined: 22 Nov 2003 21:52
VLC version: git
Operating System: Mac OS X
Location: Enschede, Holland
Contact:

Postby The DJ » 23 Jan 2006 23:00

Well supporting Full Blown VDR recordings including the Index.vdr etc is something different of course.

In theory that's possible, because the Index.vdr marks.vdr etc files contain all the information that is part of the original MPEG-TS signal. This is the information that VLC requires. However the file Index.vdr is in a as far as i know proprietary format.

Without this information, VLC basically needs to do what ProjectX does when converting to TS. It needs to analyze the entire file, identify timeline gaps, build a PAT/PMT etc.

It's just not what VLC is build for.
In the mean time I urge everyone to look at this:

http://www.linuxtv.org/pipermail/linux- ... 03990.html
http://linuxtv.org/pipermail/vdr/2005-March/000974.html
Don't use PMs for support questions.

urig
New Cone
New Cone
Posts: 9
Joined: 21 Aug 2004 19:12

Postby urig » 24 Jan 2006 03:44

> However the file Index.vdr is in a as far as i know proprietary format.

Its still open source...
The format is very simple. The whole file is an array of

struct tIndex { int offset; uchar type; uchar number; short reserved; }

... where offset is the byte offset of a frame within xxx.vdr, type is the frame type (1=i,2=p,3=b), and number is the file number of the xxx.vdr file. Number of frames is file size divided by 8.

> Without this information, VLC basically needs to do what ProjectX does when converting to TS.

Not necessarily. For simple straight forward playback (or live view using streamdev plugin), only the 001.vdr 002.vdr etc are needed. These files contain complete video streams including timing information. And mplayer *can* play them. ;)

By the way, ProjectX can do a straight forward conversion to PS or TS, and the resulting file has all the time gaps etc. Many players even play that well.


The annoying point is that VLC identifies the file correctly, and sees the mpv and mpa streams. The mpa stream just gets lost somewhere.

Cheers,

Udo

The DJ
Cone Master
Cone Master
Posts: 5987
Joined: 22 Nov 2003 21:52
VLC version: git
Operating System: Mac OS X
Location: Enschede, Holland
Contact:

Postby The DJ » 24 Jan 2006 07:08

Not necessarily. For simple straight forward playback (or live view using streamdev plugin), only the 001.vdr 002.vdr etc are needed. These files contain complete video streams including timing information. And mplayer *can* play them.
You obviously didn't read everything in this thread. the problem is not the time-information (you mean the PTS) itself, it's the missing PCR/SCR and synchro information. The issue is also how to distinguish a PES file from a PS file (basically not doable without parsing the entire file).

Now Me being on a roll today regarding fixing bugs, I decided to take one more look at this issue, and after a couple hours of puzzling, I think I found a way to fake the PCR/SCR only in case of PES streams. I think it's safe enough to not affect PS files. The audio is audible as well now. I committed the workaround, so as of the next nightly (16 hours from now) it should work i think.

Happy VDR playback everyone.
(Of course the TS support won't be fixed. Reasons mentioned earlier still apply. See also another thread about Siemens Gigaset M740 AV DVB-T Transport Streams, which has an even smaller issue of a program# mismatch between the PAT and PMT. TS streams simply require valid PAT/PMT and no workaround is possible without breaking support for multiprogram TS streams.)
Don't use PMs for support questions.

TheMan2

Postby TheMan2 » 24 Jan 2006 09:54

(Of course the TS support won't be fixed. Reasons mentioned earlier still apply. See also another thread about Siemens Gigaset M740 AV DVB-T Transport Streams, which has an even smaller issue of a program# mismatch between the PAT and PMT. TS streams simply require valid PAT/PMT and no workaround is possible without breaking support for multiprogram TS streams.)
But each day new PVRs are coming in the scene, and ALL uses variations over DVB TS streams. Is not more easy to support several of them with an option like "--open-ts-stream-as-pvr-recording"? This not breaks the compatibility with multiprogram TS streams (the default behaviour), but includes support for the new PVR machines.

For why you like to use VLC if it not supports the commodity hardware that do recordings? PVR compatibility needs to be a very high requirement of VideoLAN!

Alib

Postby Alib » 09 Feb 2006 14:15

Thanks a lot The DJ , i will test it this evening with Streamdev, but on what i've checked locally it seems to work like a charm now.

Best regards

Guest

Postby Guest » 11 Apr 2006 21:42

Not necessarily. For simple straight forward playback (or live view using streamdev plugin), only the 001.vdr 002.vdr etc are needed. These files contain complete video streams including timing information. And mplayer *can* play them.
You obviously didn't read everything in this thread. the problem is not the time-information (you mean the PTS) itself, it's the missing PCR/SCR and synchro information. The issue is also how to distinguish a PES file from a PS file (basically not doable without parsing the entire file).

Now Me being on a roll today regarding fixing bugs, I decided to take one more look at this issue, and after a couple hours of puzzling, I think I found a way to fake the PCR/SCR only in case of PES streams. I think it's safe enough to not affect PS files. The audio is audible as well now. I committed the workaround, so as of the next nightly (16 hours from now) it should work i think.

Happy VDR playback everyone.
(Of course the TS support won't be fixed. Reasons mentioned earlier still apply. See also another thread about Siemens Gigaset M740 AV DVB-T Transport Streams, which has an even smaller issue of a program# mismatch between the PAT and PMT. TS streams simply require valid PAT/PMT and no workaround is possible without breaking support for multiprogram TS streams.)
IT WORKS!!! Jabadabadu!!!! IT WORKS!!

eweri
Blank Cone
Blank Cone
Posts: 14
Joined: 17 Sep 2004 10:52

Postby eweri » 11 Apr 2006 22:01

IT WORKS!!! Jabadabadu!!!! IT WORKS!!
Ups, I was not logged in, sorry.

DJ this was great! I can play VDR files without any problem, scroll forward and backward - works ten times better than mplayer!
I am using VLC with MacOS X and connect to the VDR-box via http and nfs.

My System:
PowerBook G4 1,67GHz
Mac OS X 10.4.6
VLC 0.8.5-test2

VDR-System:
Intel Celeron 2GHz
linux 2.4.27
VDR 1.3.46
streamdev-plugin 0.3.1+cvs20050522-22

Once again, thanks DJ for this patch, bye
eweri
You can use QuickTime Player or .... wait ... use VLC - it works better :-)


Return to “VLC media player Feature Requests”

Who is online

Users browsing this forum: No registered users and 11 guests