Opened 7 years ago

Closed 7 years ago

Last modified 7 years ago

#3710 closed defect (fixed)

Odd demuxed timestamps on ogg file.

Reported by: Dale Curtis Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: ogg vorbis
Cc: Michael Niedermayer Blocked By:
Blocking: Reproduced by developer: yes
Analyzed by developer: no

Description

Using ToT, upon first pass through the following ogg file, ffmpeg returns the timestamps -128, -128, -448 for the first three packets in the following file:

http://commondatastorage.googleapis.com/dalecurtis-shared/bear.ogv

$ ffprobe -show_packets bear.ogv 2>&1 | grep -4 pts= | head -n 31
[theora @ 0x1fa9d00] 7 bits left in packet 82
[PACKET]
codec_type=audio
stream_index=1
pts=-128
pts_time=-0.002902
dts=-128
dts_time=-0.002902
duration=128
--
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=-128
pts_time=-0.002902
dts=-128
dts_time=-0.002902
duration=128
--
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=-448
pts_time=-0.010159
dts=-448
dts_time=-0.010159
duration=576
--
[/PACKET]

This seems incorrect for a couple reasons: duplicated and out of order. It's possible the file is busted, since it complains about a keyframe not being marked correctly, but that's on the video and these are audio packets.

Attachments (1)

bear.ogv (58.5 KB ) - added by Carl Eugen Hoyos 7 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 by Dale Curtis, 7 years ago

Whoops, I think I messed up the cc. :( That should probably be michaelni.

comment:2 by Michael Niedermayer, 7 years ago

Reproduced by developer: set
Resolution: fixed
Status: newclosed

comment:3 by Carl Eugen Hoyos, 7 years ago

Component: undeterminedavformat
Keywords: ogg vorbis added
Version: unspecifiedgit-master

comment:4 by Michael Niedermayer, 7 years ago

Cc: michaelni added; michaeln removed

Fix CC

comment:5 by Michael Niedermayer, 7 years ago

Cc: Michael Niedermayer added; michaelni removed

fix CC try # 2

by Carl Eugen Hoyos, 7 years ago

Attachment: bear.ogv added

comment:6 by Carl Eugen Hoyos, 7 years ago

Was this problem a regression, ie did it work better with older versions of FFmpeg?

comment:7 by Dale Curtis, 7 years ago

I'm pretty sure this is a regression, but I'm not sure when it occurred. Sometime in the last 9 months I'd guess.

in reply to:  7 comment:8 by Carl Eugen Hoyos, 7 years ago

Replying to dalecurtis:

I'm pretty sure this is a regression, but I'm not sure when it occurred. Sometime in the last 9 months I'd guess.

Could you point me to any version of FFmpeg where this used to work (no matter how old)? I tested a few but they all showed identical output to your original report above.

comment:9 by Dale Curtis, 7 years ago

It was working at 5b802cf567a0ee7a2990e08d08f8aa0abffbb7d2 which is from March, 2013:

$ ffprobe -show_packets bear.ogv 2>&1 | grep -4 pts= | head -n 31
[theora @ 0x1669d00] 7 bits left in packet 82
[PACKET]
codec_type=audio
stream_index=1
pts=-704
pts_time=-0.015964
dts=-704
dts_time=-0.015964
duration=128
--
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=-576
pts_time=-0.013061
dts=-576
dts_time=-0.013061
duration=128
--
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=-448
pts_time=-0.010159
dts=-448
dts_time=-0.010159
duration=576
--
[/PACKET]

comment:10 by Carl Eugen Hoyos, 7 years ago

I compiled 5b802cf5:

$ ffprobe
ffprobe version N-50411-g5b802cf Copyright (c) 2007-2013 the FFmpeg developers
  built on Jun 25 2014 10:01:36 with gcc 4.7 (SUSE Linux)
  configuration:
  libavutil      52. 17.103 / 52. 17.103
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.102 / 54. 63.102
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 41.100 /  3. 41.100
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
Simple multimedia streams analyzer
usage: ffprobe [OPTIONS] [INPUT_FILE]

You have to specify one input file.
Use -h to get full help or, even better, run 'man ffprobe'.

And tested your exact command line:

$ ffprobe -show_packets bear.ogv 2>&1 | grep -4 pts= | head -n 31
[theora @ 0x1eab9a0] 7 bits left in packet 82
[PACKET]
codec_type=audio
stream_index=1
pts=-128
pts_time=-0.002902
dts=-128
dts_time=-0.002902
duration=128
--
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=-128
pts_time=-0.002902
dts=-128
dts_time=-0.002902
duration=128
--
[/PACKET]
[PACKET]
codec_type=audio
stream_index=1
pts=-448
pts_time=-0.010159
dts=-448
dts_time=-0.010159
duration=576
--
[/PACKET]

Maybe you had a local patch applied?

comment:11 by Dale Curtis, 7 years ago

Pretty much, I'm an idiot and forgot a ./ in front of the ffprobe call. I'll dig back through some more today and see what I can find.

Note: See TracTickets for help on using tickets.