Closed BlwAvg closed 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.
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.
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.
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
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
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.
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
It is possible that OpenAudible is doing this actually since most people use that
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.
Duplicate of #3029
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
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
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)