Weird frame rate issue (VDR 1.6 recording, VDR 1.7 playback)

Message ID 4F1DF8B8.7080000@e-tobi.net
State New
Headers

Commit Message

Tobias Grimm Jan. 24, 2012, 12:18 a.m. UTC
  Hi!

Several recordings recorded from JSC Sports (S13.0E-318-500-8440) seem to
have a weird framerate. The recordings were done in PES format with VDR
1.6, so there's no framerate setting in the info file and VDR will use 25
fps by default. This leads to a wrong recording length display (30 minutes
for a recording that was actually 20 minutes long). VDR 1.7.22 is used for
playback and with a small patch I can provide the framerate via the
info.vdr (Which might be a useful feature anyways, patch attached.).

So far so good, but the recording seems to have a weird framerate

This is the recording:

501593483 2012-01-20 13:15:00.000000000 +0100 001.vdr
   366032 2012-01-20 13:15:00.000000000 +0100 index.vdr
      149 2012-01-20 12:55:05.000000000 +0100 info.vdr

The mtime diff between info.vdr and 001.vdr is 19:55 minutes. index.vdr is
366032 bytes in size, which divided by 8 gives a framerate of 38,29 fps.

Can anyone explain this framerate?

ffmpeg and mediainfo both say 25fps (see below) and VLC tells me it's 50fps.

When I convert the recording to TS using project-x, set the framerate in
the info.vdr to 25 and reindex it with VDR 1.7.22, it still shows the
wrong length.

bye,

Tobias


ffmpeg says:

Input #0, mpeg, from '001.vdr':
  Duration: 00:19:55.77, start: 59497.383833, bitrate: 3355 kb/s
    Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR
64:45 DAR 16:9], 3049 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc

and mediainfo says:

Complete name                            : 001.vdr
Format                                   : MPEG-PS
Duration                                 : 19mn 55s

Video
Format                                   : MPEG Video
Format version                           : Version 2
Duration                                 : 19mn 55s
Width                                    : 720 pixels
Height                                   : 576 pixels
Display aspect ratio                     : 16:9
Frame rate                               : 25.000 fps
Standard                                 : PAL
#! /bin/sh /usr/share/dpatch/dpatch-run
## xeatre-manualframerate.dpatch by Tobias Grimm <etobi@debian.org>
##
## All lines beginning with `## DP:' are a description of the patch.
## DP: Use frame rate from info file even for PES recordings

@DPATCH@
  

Comments

Klaus Schmidinger Jan. 24, 2012, 9:40 a.m. UTC | #1
On 24.01.2012 01:18, Tobi wrote:
> Hi!
>
> Several recordings recorded from JSC Sports (S13.0E-318-500-8440) seem to

This channel is encrypted, so I can't run any test on it.
Is there an FTA channel that shows the same behavior?

> have a weird framerate. The recordings were done in PES format with VDR
> 1.6, so there's no framerate setting in the info file and VDR will use 25
> fps by default. This leads to a wrong recording length display (30 minutes
> for a recording that was actually 20 minutes long). VDR 1.7.22 is used for
> playback and with a small patch I can provide the framerate via the
> info.vdr (Which might be a useful feature anyways, patch attached.).
>
> So far so good, but the recording seems to have a weird framerate
>
> This is the recording:
>
> 501593483 2012-01-20 13:15:00.000000000 +0100 001.vdr
>     366032 2012-01-20 13:15:00.000000000 +0100 index.vdr
>        149 2012-01-20 12:55:05.000000000 +0100 info.vdr
>
> The mtime diff between info.vdr and 001.vdr is 19:55 minutes. index.vdr is
> 366032 bytes in size, which divided by 8 gives a framerate of 38,29 fps.
>
> Can anyone explain this framerate?
>
> ffmpeg and mediainfo both say 25fps (see below) and VLC tells me it's 50fps.
>
> When I convert the recording to TS using project-x, set the framerate in
> the info.vdr to 25 and reindex it with VDR 1.7.22, it still shows the
> wrong length.

Does this also happen if you make a recording directly with VDR 1.7.22?

Klaus

> ffmpeg says:
>
> Input #0, mpeg, from '001.vdr':
>    Duration: 00:19:55.77, start: 59497.383833, bitrate: 3355 kb/s
>      Stream #0.0[0x1e0]: Video: mpeg2video (Main), yuv420p, 720x576 [PAR
> 64:45 DAR 16:9], 3049 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc
>
> and mediainfo says:
>
> Complete name                            : 001.vdr
> Format                                   : MPEG-PS
> Duration                                 : 19mn 55s
>
> Video
> Format                                   : MPEG Video
> Format version                           : Version 2
> Duration                                 : 19mn 55s
> Width                                    : 720 pixels
> Height                                   : 576 pixels
> Display aspect ratio                     : 16:9
> Frame rate                               : 25.000 fps
> Standard                                 : PAL
  
Tobias Grimm Jan. 24, 2012, 10:54 a.m. UTC | #2
Am 24.01.2012 10:40, schrieb Klaus Schmidinger:

> This channel is encrypted, so I can't run any test on it.
> Is there an FTA channel that shows the same behavior?

Not that I'm aware of. And the behaviour on this channel changed only 
recently.

> Does this also happen if you make a recording directly with VDR 1.7.22?

I didn't had a chance to try this yet, but if you don't have a clue 
what's happening here, I'll see if I can test this with VDR 1.7.22.

BTW: What happens if VDR records something and the frame rate changes 
in-between? Could this happen at all?

Tobias
  
Klaus Schmidinger Jan. 24, 2012, 11:03 a.m. UTC | #3
On 24.01.2012 11:54, Tobi wrote:
> Am 24.01.2012 10:40, schrieb Klaus Schmidinger:
>
>> This channel is encrypted, so I can't run any test on it.
>> Is there an FTA channel that shows the same behavior?
>
> Not that I'm aware of. And the behaviour on this channel changed only recently.
>
>> Does this also happen if you make a recording directly with VDR 1.7.22?
>
> I didn't had a chance to try this yet, but if you don't have a clue what's happening here, I'll see if I can test this with VDR 1.7.22.
>
> BTW: What happens if VDR records something and the frame rate changes in-between? Could this happen at all?

VDR only detects the frame rate at the beginning of a recording.

Klaus
  
Tobias Grimm Jan. 25, 2012, 12:24 p.m. UTC | #4
On 24.01.2012 10:40, Klaus Schmidinger wrote:

> Does this also happen if you make a recording directly with VDR 1.7.22?

Did this now. The info file says 25 fps, the index files is 179512 bytes
big, VDR says the recording is 15min long, but the recording was 10
minutes. The raughly calculated frame rate is 38fps.

If you're interested in figuring out what's going on there, I can upload
the recording somewhere or give you SSH access to the recorder.

Tobias
  
Tobias Grimm Jan. 25, 2012, 1:59 p.m. UTC | #5
On 25.01.2012 13:24, Tobi wrote:

> Did this now. The info file says 25 fps, the index files is 179512 bytes
> big, VDR says the recording is 15min long, but the recording was 10
> minutes. 

TSDoctor says 25fps interlaced and gives a length of 09:47

Tobias
  
Marc Jan. 25, 2012, 2:10 p.m. UTC | #6
On 25/01/2012 14:59, Tobi wrote:
> On 25.01.2012 13:24, Tobi wrote:
>
>> Did this now. The info file says 25 fps, the index files is 179512 bytes
>> big, VDR says the recording is 15min long, but the recording was 10
>> minutes.
> TSDoctor says 25fps interlaced and gives a length of 09:47
>
> Tobias
Sorry to interrupt, but I have a similar issue with 1 HD channel, the 
stream format changes during play and VDR shows a wrong length. At 
first, I though it was a frontend issue (I use xineliboutput) but 
perhaps it's the same issue. If this is the case, the channel is free 
(TF1 HD) but it uses H264+EAC formats and I don't know where is the 
support for these formats.

Regards,

Marc.
  
Klaus Schmidinger Jan. 26, 2012, 9:53 a.m. UTC | #7
On 25.01.2012 13:24, Tobi wrote:
> On 24.01.2012 10:40, Klaus Schmidinger wrote:
>
>> Does this also happen if you make a recording directly with VDR 1.7.22?
>
> Did this now. The info file says 25 fps, the index files is 179512 bytes
> big, VDR says the recording is 15min long, but the recording was 10
> minutes. The raughly calculated frame rate is 38fps.
>
> If you're interested in figuring out what's going on there, I can upload
> the recording somewhere or give you SSH access to the recorder.

Yes, please upload it and send me the link.

Klaus
  

Patch

diff -urNad '--exclude=CVS' '--exclude=.svn' '--exclude=.git' '--exclude=.arch' '--exclude=.hg' '--exclude=_darcs' '--exclude=.bzr' vdr~/recording.c vdr/recording.c
--- vdr~/recording.c	2011-10-25 22:04:26.000000000 +0200
+++ vdr/recording.c	2012-01-23 23:25:26.000000000 +0100
@@ -719,8 +719,8 @@ 
         else if (!isPesRecording) {
            priority = info->priority;
            lifetime = info->lifetime;
-           framesPerSecond = info->framesPerSecond;
            }
+        framesPerSecond = info->framesPerSecond;
         fclose(f);
         }
      else if (errno != ENOENT)