advplyr / audiobookshelf

Self-hosted audiobook and podcast server
https://audiobookshelf.org
GNU General Public License v3.0
6.89k stars 486 forks source link

[Bug]: Playback Failure When Resuming Session on Windows 10/Firefox #3031

Closed BlwAvg closed 6 months ago

BlwAvg commented 6 months ago

What happened?

When attempting to resume playback of a downloaded (on android mobile) audio file on Windows 11 using Firefox, the session fails with an 'Output format hls is not available' error.

What did you expect to happen?

Audio session would resume normally.

Steps to reproduce the issue

  1. Download an audio file on mobile device. I was using unrooted, stock android.
  2. Listen to the audio book for a while.
  3. Pause the playback and close the session.
  4. Attempt to resume the playback session from the PC.

Audiobookshelf version

2.10.1

How are you running audiobookshelf?

Debian/PPA

What OS is your Audiobookshelf server hosted from?

Linux

If the issue is being seen in the UI, what browsers are you seeing the problem on?

Firefox

Logs

2024-05-30 20:34:25.243

DEBUG

[PlaybackSessionManager] startSessionRequest for device Windows 10 / Firefox

2024-05-30 20:34:25.243

DEBUG

[PlaybackSessionManager] "booneb" starting direct play session for item "05c49b8c-4f7b-4cef-bec8-0b101cbf2afa" with id d076804c-e1f6-4db1-9a08-0f2c60099894 (Device: Windows 10 / Firefox)

2024-05-30 20:34:25.531

DEBUG

[PlaybackSessionManager] startSessionRequest for device Windows 10 / Firefox

2024-05-30 20:34:25.531

INFO

[PlaybackSessionManager] startSession: Closing open session "Azarinth Healer: Book Two" for user "booneb" (Device: Windows 10 / Firefox)

2024-05-30 20:34:25.531

DEBUG

[PlaybackSessionManager] closeSession "d076804c-e1f6-4db1-9a08-0f2c60099894"

2024-05-30 20:34:25.532

DEBUG

[PlaybackSessionManager] Removed session "d076804c-e1f6-4db1-9a08-0f2c60099894"

2024-05-30 20:34:25.533

DEBUG

[PlaybackSessionManager] "booneb" starting stream session for item "05c49b8c-4f7b-4cef-bec8-0b101cbf2afa" (Device: Windows 10 / Firefox)

2024-05-30 20:34:25.542

INFO

[STREAM] START STREAM - Num Segments: 11631

2024-05-30 20:34:25.544

INFO

[STREAM] Starting Stream at startTime 1:35:37.0 (User startTime 1:36:07.0) and Segment #956

2024-05-30 20:34:25.544

ERROR

Ffmpeg Err "Output format hls is not available"

2024-05-30 20:34:25.544

INFO

Closing Stream 039ec34a-fef9-4316-893c-aeeaddfb2529

2024-05-30 20:34:25.546

INFO

Deleted session data /usr/share/audiobookshelf/metadata/streams/039ec34a-fef9-4316-893c-aeeaddfb2529

2024-05-30 20:34:25.546

DEBUG

[PlaybackSessionManager] Stream closed for session "039ec34a-fef9-4316-893c-aeeaddfb2529" (Device: Windows 10 / Firefox)

2024-05-30 20:34:25.561

ERROR

[HlsRouter] Stream "039ec34a-fef9-4316-893c-aeeaddfb2529" does not exist

Additional Notes

LOW PRIORITY ISSUE!

DEBUG

[PlaybackSessionManager] startSessionRequest for device Windows 10 / Edge

2024-05-30 20:44:02.366

DEBUG

[PlaybackSessionManager] "booneb" starting direct play session for item "05c49b8c-4f7b-4cef-bec8-0b101cbf2afa" with id 606589d5-3e5b-4774-9d5c-ea81bb1d0fbb (Device: Windows 10 / Edge)

BlwAvg commented 6 months ago

After doing some additional research, I found that HLS may not be natively supported by Firefox. If this is the case, I am unsure if I should make this a feature request or handle it differently. I found some HLS settings about:config. I enabled the options available to no avail.

advplyr commented 6 months ago

It's not the browser. Ffmpeg is showing an error Output format hls is not available

Did you provide your own Ffmpeg binary path?

HLS is only used if the audio file fails to direct play in the browser. Is this an m4b audiobook? Firefox has a specific issue playing some m4b audio files so it will fallback to transcoding in that case.

BlwAvg commented 6 months ago

I have not changed any of the defaults. Here is my /etc/defaults/audiobookshelf. user@server:/etc/default$ cat audiobookshelf METADATA_PATH=/usr/share/audiobookshelf/metadata CONFIG_PATH=/usr/share/audiobookshelf/config FFMPEG_PATH=/usr/lib/audiobookshelf-ffmpeg/ffmpeg FFPROBE_PATH=/usr/lib/audiobookshelf-ffmpeg/ffprobe TONE_PATH=/usr/lib/audiobookshelf-ffmpeg/tone PORT=13378 HOST=0.0.0.0

This is an single M4B file. Essentially all of my library is a single M4B file for each book (with very limited exceptions for MP3s). The previous book that did work, via firefox was also an M4b.

advplyr commented 6 months ago

Is the M4B that is not direct playing in firefox an M4B from Audible?

These old audible M4B audio files don't play in firefox and a new issue gets opened every few weeks about one of those. https://github.com/advplyr/audiobookshelf/issues/2848#issuecomment-2053779811

However, Abs should still be able to play these bad files by transcoding them. I'm curious about that Output format hls is not available error you are getting.

Can you check if HLS is shown in the list of demuxers for ffmpeg by running: /usr/lib/audiobookshelf-ffmpeg/ffmpeg -demuxers

BlwAvg commented 6 months ago

The M4B is from audible but converted to M4B using OpenAudible. The current book I am having an issue with was released in 2023. The first book series released in 2022 does not have the playback issue. I am happy to provide source files for testing/replication.

HLS is supported, no idea why it claims that when using Firefox vs Edge where it just plays.

Short Output

/usr/lib/audiobookshelf-ffmpeg/ffmpeg -demuxers | grep hls
ffmpeg version N-70388-gaff24c1658-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      59. 20.100 / 59. 20.100
  libavcodec     61.  5.104 / 61.  5.104
  libavformat    61.  3.104 / 61.  3.104
  libavdevice    61.  2.100 / 61.  2.100
  libavfilter    10.  2.102 / 10.  2.102
  libswscale      8.  2.100 /  8.  2.100
  libswresample   5.  2.100 /  5.  2.100
  libpostproc    58.  2.100 / 58.  2.100
 D   hls             Apple HTTP Live Streaming

Long Output

/usr/lib/audiobookshelf-ffmpeg/ffmpeg -demuxers
ffmpeg version N-70388-gaff24c1658-static https://johnvansickle.com/ffmpeg/  Copyright (c) 2000-2024 the FFmpeg developers
  built with gcc 8 (Debian 8.3.0-6)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-debug --disable-ffplay --disable-indev=sndio --disable-outdev=sndio --cc=gcc --enable-fontconfig --enable-frei0r --enable-gnutls --enable-gmp --enable-libgme --enable-gray --enable-libaom --enable-libfribidi --enable-libass --enable-libvmaf --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librubberband --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libvorbis --enable-libopus --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libdav1d --enable-libxvid --enable-libzvbi --enable-libzimg
  libavutil      59. 20.100 / 59. 20.100
  libavcodec     61.  5.104 / 61.  5.104
  libavformat    61.  3.104 / 61.  3.104
  libavdevice    61.  2.100 / 61.  2.100
  libavfilter    10.  2.102 / 10.  2.102
  libswscale      8.  2.100 /  8.  2.100
  libswresample   5.  2.100 /  5.  2.100
  libpostproc    58.  2.100 / 58.  2.100
Formats:
 D.. = Demuxing supported
 .E. = Muxing supported
 ..d = Is a device
 ---
 D   3dostr          3DO STR
 D   4xm             4X Technologies
 D   aa              Audible AA format files
 D   aac             raw ADTS AAC (Advanced Audio Coding)
 D   aax             CRI AAX
 D   ac3             raw AC-3
 D   ac4             raw AC-4
 D   ace             tri-Ace Audio Container
 D   acm             Interplay ACM
 D   act             ACT Voice file format
 D   adf             Artworx Data Format
 D   adp             ADP
 D   ads             Sony PS2 ADS
 D   adx             CRI ADX
 D   aea             MD STUDIO audio
 D   afc             AFC
 D   aiff            Audio IFF
 D   aix             CRI AIX
 D   alaw            PCM A-law
 D   alias_pix       Alias/Wavefront PIX image
 D   alp             LEGO Racers ALP
 D d alsa            ALSA audio input
 D   amr             3GPP AMR
 D   amrnb           raw AMR-NB
 D   amrwb           raw AMR-WB
 D   anm             Deluxe Paint Animation
 D   apac            raw APAC
 D   apc             CRYO APC
 D   ape             Monkey's Audio
 D   apm             Ubisoft Rayman 2 APM
 D   apng            Animated Portable Network Graphics
 D   aptx            raw aptX
 D   aptx_hd         raw aptX HD
 D   aqtitle         AQTitle subtitles
 D   argo_asf        Argonaut Games ASF
 D   argo_brp        Argonaut Games BRP
 D   argo_cvg        Argonaut Games CVG
 D   asf             ASF (Advanced / Active Streaming Format)
 D   asf_o           ASF (Advanced / Active Streaming Format)
 D   ass             SSA (SubStation Alpha) subtitle
 D   ast             AST (Audio Stream)
 D   au              Sun AU
 D   av1             AV1 Annex B
 D   avi             AVI (Audio Video Interleaved)
 D   avr             AVR (Audio Visual Research)
 D   avs             Argonaut Games Creature Shock
 D   avs2            raw AVS2-P2/IEEE1857.4
 D   avs3            raw AVS3-P2/IEEE1857.10
 D   bethsoftvid     Bethesda Softworks VID
 D   bfi             Brute Force & Ignorance
 D   bfstm           BFSTM (Binary Cafe Stream)
 D   bin             Binary text
 D   bink            Bink
 D   binka           Bink Audio
 D   bit             G.729 BIT file format
 D   bitpacked       Bitpacked
 D   bmp_pipe        piped bmp sequence
 D   bmv             Discworld II BMV
 D   boa             Black Ops Audio
 D   bonk            raw Bonk
 D   brender_pix     BRender PIX image
 D   brstm           BRSTM (Binary Revolution Stream)
 D   c93             Interplay C93
 D   caf             Apple CAF (Core Audio Format)
 D   cavsvideo       raw Chinese AVS (Audio Video Standard)
 D   cdg             CD Graphics
 D   cdxl            Commodore CDXL video
 D   cine            Phantom Cine
 D   codec2          codec2 .c2 demuxer
 D   codec2raw       raw codec2 demuxer
 D   concat          Virtual concatenation script
 D   cri_pipe        piped cri sequence
 D   dash            Dynamic Adaptive Streaming over HTTP
 D   data            raw data
 D   daud            D-Cinema audio
 D   dcstr           Sega DC STR
 D   dds_pipe        piped dds sequence
 D   derf            Xilam DERF
 D   dfa             Chronomaster DFA
 D   dfpwm           raw DFPWM1a
 D   dhav            Video DAV
 D   dirac           raw Dirac
 D   dnxhd           raw DNxHD (SMPTE VC-3)
 D   dpx_pipe        piped dpx sequence
 D   dsf             DSD Stream File (DSF)
 D   dsicin          Delphine Software International CIN
 D   dss             Digital Speech Standard (DSS)
 D   dts             raw DTS
 D   dtshd           raw DTS-HD
 D   dv              DV (Digital Video)
 D   dvbsub          raw dvbsub
 D   dvbtxt          dvbtxt
 D   dxa             DXA
 D   ea              Electronic Arts Multimedia
 D   ea_cdata        Electronic Arts cdata
 D   eac3            raw E-AC-3
 D   epaf            Ensoniq Paris Audio File
 D   evc             EVC Annex B
 D   exr_pipe        piped exr sequence
 D   f32be           PCM 32-bit floating-point big-endian
 D   f32le           PCM 32-bit floating-point little-endian
 D   f64be           PCM 64-bit floating-point big-endian
 D   f64le           PCM 64-bit floating-point little-endian
 D d fbdev           Linux framebuffer
 D   ffmetadata      FFmpeg metadata in text
 D   film_cpk        Sega FILM / CPK
 D   filmstrip       Adobe Filmstrip
 D   fits            Flexible Image Transport System
 D   flac            raw FLAC
 D   flic            FLI/FLC/FLX animation
 D   flv             FLV (Flash Video)
 D   frm             Megalux Frame
 D   fsb             FMOD Sample Bank
 D   fwse            Capcom's MT Framework sound
 D   g722            raw G.722
 D   g723_1          G.723.1
 D   g726            raw big-endian G.726 ("left aligned")
 D   g726le          raw little-endian G.726 ("right aligned")
 D   g729            G.729 raw format demuxer
 D   gdv             Gremlin Digital Video
 D   gem_pipe        piped gem sequence
 D   genh            GENeric Header
 D   gif             CompuServe Graphics Interchange Format (GIF)
 D   gif_pipe        piped gif sequence
 D   gsm             raw GSM
 D   gxf             GXF (General eXchange Format)
 D   h261            raw H.261
 D   h263            raw H.263
 D   h264            raw H.264 video
 D   hca             CRI HCA
 D   hcom            Macintosh HCOM
 D   hdr_pipe        piped hdr sequence
 D   hevc            raw HEVC video
 D   hls             Apple HTTP Live Streaming
 D   hnm             Cryo HNM v4
 D   iamf            Raw Immersive Audio Model and Formats
 D   ico             Microsoft Windows ICO
 D   idcin           id Cinematic
 D   idf             iCE Draw File
 D   iff             IFF (Interchange File Format)
 D   ifv             IFV CCTV DVR
 D   ilbc            iLBC storage
 D   image2          image2 sequence
 D   image2pipe      piped image2 sequence
 D   imf             IMF (Interoperable Master Format)
 D   ingenient       raw Ingenient MJPEG
 D   ipmovie         Interplay MVE
 D   ipu             raw IPU Video
 D   ircam           Berkeley/IRCAM/CARL Sound Format
 D   iss             Funcom ISS
 D   iv8             IndigoVision 8000 video
 D   ivf             On2 IVF
 D   ivr             IVR (Internet Video Recording)
 D   j2k_pipe        piped j2k sequence
 D   jacosub         JACOsub subtitle format
 D   jpeg_pipe       piped jpeg sequence
 D   jpegls_pipe     piped jpegls sequence
 D   jpegxl_anim     Animated JPEG XL
 D   jpegxl_pipe     piped jpegxl sequence
 D   jv              Bitmap Brothers JV
 D   kux             KUX (YouKu)
 D   kvag            Simon & Schuster Interactive VAG
 D   laf             LAF (Limitless Audio Format)
 D d lavfi           Libavfilter virtual input device
 D   lc3             LC3 (Low Complexity Communication Codec)
 D   libgme          Game Music Emu demuxer
 D   live_flv        live RTMP FLV (Flash Video)
 D   lmlm4           raw lmlm4
 D   loas            LOAS AudioSyncStream
 D   lrc             LRC lyrics
 D   luodat          Video CCTV DAT
 D   lvf             LVF
 D   lxf             VR native stream (LXF)
 D   m4v             raw MPEG-4 video
 D   matroska,webm   Matroska / WebM
 D   mca             MCA Audio Format
 D   mcc             MacCaption
 D   mgsts           Metal Gear Solid: The Twin Snakes
 D   microdvd        MicroDVD subtitle format
 D   mjpeg           raw MJPEG video
 D   mjpeg_2000      raw MJPEG 2000 video
 D   mlp             raw MLP
 D   mlv             Magic Lantern Video (MLV)
 D   mm              American Laser Games MM
 D   mmf             Yamaha SMAF
 D   mods            MobiClip MODS
 D   moflex          MobiClip MOFLEX
 D   mov,mp4,m4a,3gp,3g2,mj2 QuickTime / MOV
 D   mp3             MP2/3 (MPEG audio layer 2/3)
 D   mpc             Musepack
 D   mpc8            Musepack SV8
 D   mpeg            MPEG-PS (MPEG-2 Program Stream)
 D   mpegts          MPEG-TS (MPEG-2 Transport Stream)
 D   mpegtsraw       raw MPEG-TS (MPEG-2 Transport Stream)
 D   mpegvideo       raw MPEG video
 D   mpjpeg          MIME multipart JPEG
 D   mpl2            MPL2 subtitles
 D   mpsub           MPlayer subtitles
 D   msf             Sony PS3 MSF
 D   msnwctcp        MSN TCP Webcam stream
 D   msp             Microsoft Paint (MSP))
 D   mtaf            Konami PS2 MTAF
 D   mtv             MTV
 D   mulaw           PCM mu-law
 D   musx            Eurocom MUSX
 D   mv              Silicon Graphics Movie
 D   mvi             Motion Pixels MVI
 D   mxf             MXF (Material eXchange Format)
 D   mxg             MxPEG clip
 D   nc              NC camera feed
 D   nistsphere      NIST SPeech HEader REsources
 D   nsp             Computerized Speech Lab NSP
 D   nsv             Nullsoft Streaming Video
 D   nut             NUT
 D   nuv             NuppelVideo
 D   obu             AV1 low overhead OBU
 D   ogg             Ogg
 D   oma             Sony OpenMG audio
 D   osq             raw OSQ
 D d oss             OSS (Open Sound System) capture
 D   paf             Amazing Studio Packed Animation File
 D   pam_pipe        piped pam sequence
 D   pbm_pipe        piped pbm sequence
 D   pcx_pipe        piped pcx sequence
 D   pdv             PlayDate Video
 D   pfm_pipe        piped pfm sequence
 D   pgm_pipe        piped pgm sequence
 D   pgmyuv_pipe     piped pgmyuv sequence
 D   pgx_pipe        piped pgx sequence
 D   phm_pipe        piped phm sequence
 D   photocd_pipe    piped photocd sequence
 D   pictor_pipe     piped pictor sequence
 D   pjs             PJS (Phoenix Japanimation Society) subtitles
 D   pmp             Playstation Portable PMP
 D   png_pipe        piped png sequence
 D   pp_bnk          Pro Pinball Series Soundbank
 D   ppm_pipe        piped ppm sequence
 D   psd_pipe        piped psd sequence
 D   psxstr          Sony Playstation STR
 D   pva             TechnoTrend PVA
 D   pvf             PVF (Portable Voice Format)
 D   qcp             QCP
 D   qdraw_pipe      piped qdraw sequence
 D   qoa             QOA
 D   qoi_pipe        piped qoi sequence
 D   r3d             REDCODE R3D
 D   rawvideo        raw video
 D   rcwt            RCWT (Raw Captions With Time)
 D   realtext        RealText subtitle format
 D   redspark        RedSpark
 D   rka             RKA (RK Audio)
 D   rl2             RL2
 D   rm              RealMedia
 D   roq             id RoQ
 D   rpl             RPL / ARMovie
 D   rsd             GameCube RSD
 D   rso             Lego Mindstorms RSO
 D   rtp             RTP input
 D   rtsp            RTSP input
 D   s16be           PCM signed 16-bit big-endian
 D   s16le           PCM signed 16-bit little-endian
 D   s24be           PCM signed 24-bit big-endian
 D   s24le           PCM signed 24-bit little-endian
 D   s32be           PCM signed 32-bit big-endian
 D   s32le           PCM signed 32-bit little-endian
 D   s337m           SMPTE 337M
 D   s8              PCM signed 8-bit
 D   sami            SAMI subtitle format
 D   sap             SAP input
 D   sbc             raw SBC (low-complexity subband codec)
 D   sbg             SBaGen binaural beats script
 D   scc             Scenarist Closed Captions
 D   scd             Square Enix SCD
 D   sdns            Xbox SDNS
 D   sdp             SDP
 D   sdr2            SDR2
 D   sds             MIDI Sample Dump Standard
 D   sdx             Sample Dump eXchange
 D   ser             SER (Simple uncompressed video format for astronomical capturing)
 D   sga             Digital Pictures SGA
 D   sgi_pipe        piped sgi sequence
 D   shn             raw Shorten
 D   siff            Beam Software SIFF
 D   simbiosis_imx   Simbiosis Interactive IMX
 D   sln             Asterisk raw pcm
 D   smjpeg          Loki SDL MJPEG
 D   smk             Smacker
 D   smush           LucasArts Smush
 D   sol             Sierra SOL
 D   sox             SoX (Sound eXchange) native
 D   spdif           IEC 61937 (compressed data in S/PDIF)
 D   srt             SubRip subtitle
 D   stl             Spruce subtitle format
 D   subviewer       SubViewer subtitle format
 D   subviewer1      SubViewer v1 subtitle format
 D   sunrast_pipe    piped sunrast sequence
 D   sup             raw HDMV Presentation Graphic Stream subtitles
 D   svag            Konami PS2 SVAG
 D   svg_pipe        piped svg sequence
 D   svs             Square SVS
 D   swf             SWF (ShockWave Flash)
 D   tak             raw TAK
 D   tedcaptions     TED Talks captions
 D   thp             THP
 D   tiertexseq      Tiertex Limited SEQ
 D   tiff_pipe       piped tiff sequence
 D   tmv             8088flex TMV
 D   truehd          raw TrueHD
 D   tta             TTA (True Audio)
 D   tty             Tele-typewriter
 D   txd             Renderware TeXture Dictionary
 D   ty              TiVo TY Stream
 D   u16be           PCM unsigned 16-bit big-endian
 D   u16le           PCM unsigned 16-bit little-endian
 D   u24be           PCM unsigned 24-bit big-endian
 D   u24le           PCM unsigned 24-bit little-endian
 D   u32be           PCM unsigned 32-bit big-endian
 D   u32le           PCM unsigned 32-bit little-endian
 D   u8              PCM unsigned 8-bit
 D   usm             CRI USM
 D   v210            Uncompressed 4:2:2 10-bit
 D   v210x           Uncompressed 4:2:2 10-bit
 D   vag             Sony PS2 VAG
 D   vbn_pipe        piped vbn sequence
 D   vc1             raw VC-1
 D   vc1test         VC-1 test bitstream
 D   vidc            PCM Archimedes VIDC
 D d video4linux2,v4l2 Video4Linux2 device grab
 D   vividas         Vividas VIV
 D   vivo            Vivo
 D   vmd             Sierra VMD
 D   vobsub          VobSub subtitle format
 D   voc             Creative Voice
 D   vpk             Sony PS2 VPK
 D   vplayer         VPlayer subtitles
 D   vqf             Nippon Telegraph and Telephone Corporation (NTT) TwinVQ
 D   vvc             raw H.266/VVC video
 D   w64             Sony Wave64
 D   wady            Marble WADY
 D   wav             WAV / WAVE (Waveform Audio)
 D   wavarc          Waveform Archiver
 D   wc3movie        Wing Commander III movie
 D   webm_dash_manifest WebM DASH Manifest
 D   webp_pipe       piped webp sequence
 D   webvtt          WebVTT subtitle
 D   wsaud           Westwood Studios audio
 D   wsd             Wideband Single-bit Data (WSD)
 D   wsvqa           Westwood Studios VQA
 D   wtv             Windows Television (WTV)
 D   wv              WavPack
 D   wve             Psion 3 audio
 D d x11grab         X11 screen capture, using XCB
 D   xa              Maxis XA
 D   xbin            eXtended BINary text (XBIN)
 D   xbm_pipe        piped xbm sequence
 D   xmd             Konami XMD
 D   xmv             Microsoft XMV
 D   xpm_pipe        piped xpm sequence
 D   xvag            Sony PS3 XVAG
 D   xwd_pipe        piped xwd sequence
 D   xwma            Microsoft xWMA
 D   yop             Psygnosis YOP
 D   yuv4mpegpipe    YUV4MPEG pipe
BlwAvg commented 6 months ago

I will do a probe and try and re-encode the file to see if it is similar to what was mentioned in https://rentry.co/n4ost.

advplyr commented 6 months ago

HLS is supported, no idea why it claims that when using Firefox vs Edge where it just plays.

Edge is a chromium based browser and doesn't have an issue direct playing these specific M4B audiobooks. It is only firefox. Also, HLS is ONLY used when the audio file fails to play directly in the browser, since firefox cannot play them Abs falls back to using HLS.

Good to know this is a recent Audible audiobook because I was under the impression that the poor encodings are from older Audible files.

To re-encode you should only need to run: /usr/lib/audiobookshelf-ffmpeg/ffmpeg -i /path/to/your/audiofile.m4b -c:a copy output.m4b

advplyr commented 6 months ago

It is possible that OpenAudible is doing this actually since most people use that

advplyr commented 6 months ago

I believe I found the issue with "Output format is not available" and will try to patch it soon. https://github.com/advplyr/audiobookshelf/issues/3029#issuecomment-2143493712

Turns out this is the same issue reported in #3029 so I'm going to merge these 2 issues.

It will still be helpful if you test re-encoding that M4B audio file so we can have more data on this firefox specific issue.

advplyr commented 6 months ago

Duplicate of #3029