[FFmpeg-trac] #11402(undetermined:new): opus file generated by ffmpeg cannot be decoded with opus-tools
FFmpeg
trac at avcodec.org
Mon Jan 6 10:31:00 EET 2025
#11402: opus file generated by ffmpeg cannot be decoded with opus-tools
--------------------------------+----------------------------------------
Reporter: Saafo | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: undetermined
Version: 7.1 | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
--------------------------------+----------------------------------------
Description changed by Saafo:
Old description:
> Summary of the bug:
> How to reproduce:
> {{{
> % ffmpeg -i audio.mp4 audio.opus
> opusinfo audio.opus
> }}}
>
> The generated `audio.opus` cannot be decoded with `opusdec` provided by
> `opus-tools`(version: 0.2)
> {{{
> % opusdec audio.opus
> Failed to open 'audio.opus'.
> }}}
>
> Debugging with `opusfile`(underlying `opusdec`), the error is
> `OP_EBADTIMESTAMP`(The first or last granule position of a link failed
> basic validity checks.)
>
> And with `opusinfo` provided by `opus-tools`, there are many warnings:
>
> {{{
> % opusinfo audio.opus
> Processing file "audio.opus"...
>
> New logical stream (#1, serial: 445700f2): type opus
> Encoded with Lavf61.7.100
> User comments section follows...
> language=und
> handler_name=SoundHandler
> vendor_id=[0][0][0][0]
> encoder=Lavc61.19.100 libopus
> major_brand=isom
> minor_version=512
> compatible_brands=isomiso2mp41
> WARNING: Samples with negative granpos in stream 1
> WARNING: Sample count ahead of granule (96960>96955) in stream 1
> WARNING: Sample count ahead of granule (145920>145907) in stream 1
> WARNING: Sample count ahead of granule (194880>194857) in stream 1
> WARNING: Sample count ahead of granule (243840>243807) in stream 1
> WARNING: Sample count behind granule (291840<291843) in stream 1
> WARNING: Sample count ahead of granule (340800>340796) in stream 1
> (SKIP MANY WARNINGS)
> WARNING: Sample count behind granule (14234880<14234888) in stream 1
> WARNING: Sample count behind granule (14282880<14282903) in stream 1
> WARNING: Sample count behind granule (14331840<14331861) in stream 1
> WARNING: Sample count behind granule (14380800<14380814) in stream 1
> Opus stream 1:
> Pre-skip: 312
> Playback gain: 0 dB
> Channels: 1
> Original sample rate: 48000 Hz
> Packet duration: 20.0ms (max), 20.0ms (avg), 20.0ms (min)
> Page duration: 1020.0ms (max), 1015.3ms (avg), 920.0ms (min)
> Total data length: 2022632 bytes (overhead: 1.15%)
> Playback length: 5m:00.501s
> Average bitrate: 53.85 kbit/s, w/o overhead: 53.23 kbit/s
> Logical stream 1 ended
> }}}
>
> ffmpeg info:
>
> {{{
> % ffmpeg version
> ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
> built with Apple clang version 16.0.0 (clang-1600.0.26.4)
> configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1_3 --enable-
> shared --enable-pthreads --enable-version3 --cc=clang --host-cflags=
> --host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls
> --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray
> --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-
> libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-
> librubberband --enable-libsnappy --enable-libsrt --enable-libssh
> --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-
> libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-
> libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-
> libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype
> --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-
> libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr
> --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack
> --enable-videotoolbox --enable-audiotoolbox --enable-neon
> libavutil 59. 39.100 / 59. 39.100
> libavcodec 61. 19.100 / 61. 19.100
> libavformat 61. 7.100 / 61. 7.100
> libavdevice 61. 3.100 / 61. 3.100
> libavfilter 10. 4.100 / 10. 4.100
> libswscale 8. 3.100 / 8. 3.100
> libswresample 5. 3.100 / 5. 3.100
> libpostproc 58. 3.100 / 58. 3.100
> [AVFormatContext @ 0x145e068d0] Unable to choose an output format for
> 'version'; use a standard extension for the filename or specify the
> format manually.
> [out#0 @ 0x6000017a03c0] Error initializing the muxer for version:
> Invalid argument
> Error opening output file version.
> Error opening output files: Invalid argument
>
> Patches should be submitted to the ffmpeg-devel mailing list and not this
> bug tracker.
New description:
Summary of the bug:
How to reproduce:
{{{
% ffmpeg -i audio.mp4 audio.opus
opusinfo audio.opus
}}}
The generated `audio.opus` cannot be decoded with `opusdec` provided by
`opus-tools`(version: 0.2)
{{{
% opusdec audio.opus audio.wav
Failed to open 'audio.opus'.
}}}
Debugging with `opusfile`(underlying `opusdec`), the error is
`OP_EBADTIMESTAMP`(The first or last granule position of a link failed
basic validity checks.)
And with `opusinfo` provided by `opus-tools`, there are many warnings:
{{{
% opusinfo audio.opus
Processing file "audio.opus"...
New logical stream (#1, serial: 610d6c9d): type opus
Encoded with Lavf61.7.100
User comments section follows...
language=und
handler_name=SoundHandler
vendor_id=[0][0][0][0]
encoder=Lavc61.19.100 libopus
major_brand=isom
minor_version=512
compatible_brands=isomiso2mp41
WARNING: Samples with negative granpos in stream 1
WARNING: Sample count behind granule (96000<96001) in stream 1
WARNING: Sample count ahead of granule (144960>144958) in stream 1
WARNING: Sample count ahead of granule (193920>193915) in stream 1
Opus stream 1:
Pre-skip: 312
Playback gain: 0 dB
Channels: 1
Original sample rate: 48000 Hz
Packet duration: 20.0ms (max), 20.0ms (avg), 20.0ms (min)
Page duration: 1020.0ms (max), 836.0ms (avg), 140.0ms (min)
Total data length: 30465 bytes (overhead: 2.08%)
Playback length: 0m:04.159s
Average bitrate: 58.59 kbit/s, w/o overhead: 57.37 kbit/s
Logical stream 1 ended
}}}
ffmpeg info:
{{{
% ffmpeg version
ffmpeg version 7.1 Copyright (c) 2000-2024 the FFmpeg developers
built with Apple clang version 16.0.0 (clang-1600.0.26.4)
configuration: --prefix=/opt/homebrew/Cellar/ffmpeg/7.1_3 --enable-
shared --enable-pthreads --enable-version3 --cc=clang --host-cflags=
--host-ldflags='-Wl,-ld_classic' --enable-ffplay --enable-gnutls --enable-
gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-
libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame
--enable-libopus --enable-librav1e --enable-librist --enable-librubberband
--enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1
--enable-libtesseract --enable-libtheora --enable-libvidstab --enable-
libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-
libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma
--enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-
libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-
libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-
libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox
--enable-audiotoolbox --enable-neon
libavutil 59. 39.100 / 59. 39.100
libavcodec 61. 19.100 / 61. 19.100
libavformat 61. 7.100 / 61. 7.100
libavdevice 61. 3.100 / 61. 3.100
libavfilter 10. 4.100 / 10. 4.100
libswscale 8. 3.100 / 8. 3.100
libswresample 5. 3.100 / 5. 3.100
libpostproc 58. 3.100 / 58. 3.100
[AVFormatContext @ 0x145e068d0] Unable to choose an output format for
'version'; use a standard extension for the filename or specify the format
manually.
[out#0 @ 0x6000017a03c0] Error initializing the muxer for version: Invalid
argument
Error opening output file version.
Error opening output files: Invalid argument
Patches should be submitted to the ffmpeg-devel mailing list and not this
bug tracker.
--
--
Ticket URL: <https://trac.ffmpeg.org/ticket/11402#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list