Opened 4 years ago

Closed 4 years ago

Last modified 4 years ago

#3710 closed defect (fixed)

Odd demuxed timestamps on ogg file.

Reported by: dalecurtis Owned by:
Priority: normal Component: avformat
Version: git-master Keywords: ogg vorbis
Cc: michael 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 cehoyos 4 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 4 years ago by dalecurtis

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

comment:2 Changed 4 years ago by michael

  • Reproduced by developer set
  • Resolution set to fixed
  • Status changed from new to closed

comment:3 Changed 4 years ago by cehoyos

  • Component changed from undetermined to avformat
  • Keywords ogg vorbis added
  • Version changed from unspecified to git-master

comment:4 Changed 4 years ago by michael

  • Cc michaelni added; michaeln removed

Fix CC

comment:5 Changed 4 years ago by michael

  • Cc michael added; michaelni removed

fix CC try # 2

Changed 4 years ago by cehoyos

comment:6 Changed 4 years ago by cehoyos

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

comment:7 follow-up: Changed 4 years ago by 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.

comment:8 in reply to: ↑ 7 Changed 4 years ago by cehoyos

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 Changed 4 years ago by dalecurtis

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 Changed 4 years ago by cehoyos

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 Changed 4 years ago by dalecurtis

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.