Opened 3 weeks ago

Last modified 3 weeks ago

#7711 new defect

Segmenting with libopus produces incorrect segment durations in output playlist

Reported by: haywirez Owned by:
Priority: normal Component: undetermined
Version: unspecified Keywords: hls opus
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Fffmpeg should subtract or handle the OPUS priming samples duration (312 frames) from the segment duration in the playlist EXTINF: entries.

How to reproduce:

% ffmpeg -i xyz.wav -f segment -segment_time 1 -c:a libopus -segment_list opus-segment-test.m3u8 -segment_list_type m3u8 opus-segment-test_%03d.oga

produces a .m3u8 with:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:1
#EXTINF:1.000000,
opus-segment-test_000.oga
...

Actual EXTINF segment duration in this case should reflect the true value: 0.9934920634920634, which corresponds to the difference made by the mentioned priming sample frames.

Tested with ffmpeg version 4.1
OS: macOS Mojave 10.14.1 Apple LLVM version 10.0.0 (clang-1000.11.45.5)

Change History (1)

comment:1 Changed 3 weeks ago by cehoyos

  • Component changed from ffmpeg to undetermined
  • Keywords segment m3u8 removed

Is the issue also reproducible with the native opus encoder?

Note: See TracTickets for help on using tickets.