savonet / liquidsoap

Liquidsoap is a statically typed scripting general-purpose language with dedicated operators and backend for all thing media, streaming, file generation, automation, HTTP backend and more.
http://liquidsoap.info
GNU General Public License v2.0
1.44k stars 131 forks source link

Fail decoding MP3 from directory #653

Closed MisTERR0000 closed 6 years ago

MisTERR0000 commented 6 years ago

Hi! During the launch of liquidsoap, the script cannot launch mp3 files from the folder.

Start script

set("init.daemon.pidfile.path", "/run/liquidsoap/radio.pid")
set("log.file",false)
set("log.level",5)
set("log.stdout",true)

# Music
rotation = audio_to_stereo(playlist("/var/music/rotation"))
rotation = mksafe(rotation)

output.harbor(
        %mp3(bitrate=128),
        port = 8000, encoding = "UTF-8",
        mount = "live",
rotation)

Error Log

liquidsoap@misterr:/root$ 2018/11/10 15:18:19 >>> LOG START
2018/11/10 15:18:19 [main:3] Liquidsoap 1.3.4
2018/11/10 15:18:19 [main:3] Using: bytes=[distributed with OCaml 4.02 or above]pcre=7.3.5 dtools=0.4.1 duppy=0.7.3 duppy.syntax=0.7.3 cry=0.6.2 mm=0.4.0 dynlink=[distributed with Ocaml] lame=0.3.3 samplerate=0.1.4 taglib=0.3.3 ssl=0.5.7 camomile=1.0.1 inotify=2.3 lo=0.1.1
2018/11/10 15:18:19 [dynamic.loader:3] Could not find dynamic module for fdkaacencoder.
2018/11/10 15:18:19 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz master.
2018/11/10 15:18:19 [frame:3] Frame size must be a multiple of 1764 ticks = 1764audio samples = 1 video samples.
2018/11/10 15:18:19 [frame:3] Targetting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2018/11/10 15:18:19 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2018/11/10 15:18:19 [video.converter:4] Couldn't find preferred video converter:gavl.
2018/11/10 15:18:19 [audio.converter:4] Using preferred samplerate converter: libsamplerate.
2018/11/10 15:18:19 [threads:3] Created thread "generic queue #1".
2018/11/10 15:18:19 [threads:3] Created thread "generic queue #2".
2018/11/10 15:18:19 [threads:3] Created thread "non-blocking queue #1".
2018/11/10 15:18:19 [threads:3] Created thread "non-blocking queue #2".
2018/11/10 15:18:19 [clock:4] Currently 1 clocks allocated.
2018/11/10 15:18:19 [clock.wallclock_main:4] Starting 1 sources...
2018/11/10 15:18:19 [source:4] Source output.harbor_6440 gets up.
2018/11/10 15:18:19 [source:4] Source mksafe gets up.
2018/11/10 15:18:19 [source:4] Source audio_to_stereo_6435 gets up.
2018/11/10 15:18:19 [audio_to_stereo_6435:4] Content kind is {audio=2;video=0;midi=0}.
2018/11/10 15:18:19 [source:4] Source playlist_6434 gets up.
2018/11/10 15:18:19 [rotation:3] Loading playlist...
2018/11/10 15:18:19 [rotation:3] Playlist is a directory.
2018/11/10 15:18:19 [rotation:3] Successfully loaded a playlist of 1 tracks.
2018/11/10 15:18:19 [rotation:4] Content kind is {audio=1+;video=0;midi=0}.
2018/11/10 15:18:19 [rotation:4] Activations changed: static=[audio_to_stereo_6435:mksafe:live:live], dynamic=[].
2018/11/10 15:18:19 [audio_to_stereo_6435:4] Activations changed: static=[], dynamic=[mksafe:live:live].
2018/11/10 15:18:19 [source:4] Source safe_blank gets up.
2018/11/10 15:18:19 [safe_blank:4] Content kind is {audio=2;video=0;midi=0}.
2018/11/10 15:18:19 [safe_blank:4] Activations changed: static=[], dynamic=[mksafe:live:live].
2018/11/10 15:18:19 [mksafe:4] Activations changed: static=[live:live], dynamic=[].
2018/11/10 15:18:19 [rotation:5] Queue is empty!
2018/11/10 15:18:19 [rotation:5] Failed to prepare track: no file.
2018/11/10 15:18:19 [live:4] Activations changed: static=[live], dynamic=[].
2018/11/10 15:18:19 [live:4] Enabling caching mode: active source.
2018/11/10 15:18:19 [harbor:4] Opening port 8000 with icy = false
2018/11/10 15:18:19 [decoder:4] Trying method "META" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:4] Trying method "WAV" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder.wav/aiff:4] Invalid file extension for "/var/music/rotation/track.mp3"!
2018/11/10 15:18:19 [decoder:4] Trying method "AIFF" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder.wav/aiff:4] Invalid file extension for "/var/music/rotation/track.mp3"!
2018/11/10 15:18:19 [decoder:4] Trying method "MIDI" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:4] Trying method "IMAGE" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:3] Unable to decode "/var/music/rotation/track.mp3"as {audio=1+;video=0;midi=0}!
2018/11/10 15:18:19 [decoder:4] Trying method "META" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:4] Trying method "WAV" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder.wav/aiff:4] Invalid file extension for "/var/music/rotation/track.mp3"!
2018/11/10 15:18:19 [decoder:4] Trying method "AIFF" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder.wav/aiff:4] Invalid file extension for "/var/music/rotation/track.mp3"!
2018/11/10 15:18:19 [decoder:4] Trying method "MIDI" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:4] Trying method "IMAGE" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:3] Unable to decode "/var/music/rotation/track.mp3"as {audio=1+;video=0;midi=0}!
2018/11/10 15:18:19 [decoder:4] Trying method "META" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:4] Trying method "WAV" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder.wav/aiff:4] Invalid file extension for "/var/music/rotation/track.mp3"!
2018/11/10 15:18:19 [decoder:4] Trying method "AIFF" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder.wav/aiff:4] Invalid file extension for "/var/music/rotation/track.mp3"!
2018/11/10 15:18:19 [decoder:4] Trying method "MIDI" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:4] Trying method "IMAGE" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:3] Unable to decode "/var/music/rotation/track.mp3"as {audio=1+;video=0;midi=0}!
2018/11/10 15:18:19 [decoder:4] Trying method "META" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:4] Trying method "WAV" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [harbor:3] Adding handler for 'GET /live' on port 8000
2018/11/10 15:18:19 [threads:3] Created thread "wallclock_main" (1 total).
2018/11/10 15:18:19 [clock:4] Main phase starts.
2018/11/10 15:18:19 [decoder.wav/aiff:4] Invalid file extension for "/var/music/rotation/track.mp3"!
2018/11/10 15:18:19 [decoder:4] Trying method "AIFF" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder.wav/aiff:4] Invalid file extension for "/var/music/rotation/track.mp3"!
2018/11/10 15:18:19 [decoder:4] Trying method "MIDI" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:4] Trying method "IMAGE" for "/var/music/rotation/track.mp3"...
2018/11/10 15:18:19 [decoder:3] Unable to decode "/var/music/rotation/track.mp3"as {audio=1+;video=0;midi=0}!
2018/11/10 15:18:19 [clock.wallclock_main:3] Streaming loop starts, synchronizedwith wallclock.
2018/11/10 15:18:19 [mksafe:3] Switch to safe_blank.
2018/11/10 15:18:19 [safe_blank:4] Activations changed: static=[mksafe:live:live], dynamic=[mksafe:live:live].
2018/11/10 15:18:19 [rotation:5] Queue is empty!
2018/11/10 15:18:19 [rotation:5] Failed to prepare track: no file.
2018/11/10 15:18:19 [rotation:5] Queue is empty!
2018/11/10 15:18:19 [rotation:5] Failed to prepare track: no file.
2018/11/10 15:18:19 [rotation:5] Queue is empty!
2018/11/10 15:18:19 [rotation:5] Failed to prepare track: no file.
2018/11/10 15:18:20 [rotation:5] Queue is empty!
2018/11/10 15:18:20 [rotation:5] Failed to prepare track: no file.
2018/11/10 15:18:20 [rotation:5] Queue is empty!
2018/11/10 15:18:20 [rotation:5] Failed to prepare track: no file.
2018/11/10 15:18:20 [rotation:5] Queue is empty!
2018/11/10 15:18:20 [rotation:5] Failed to prepare track: no file.

Version details

opam depext cry taglib lame pcre dtools duppy mm inotify lo ssl samplerate opam install cry taglib lame pcre dtools duppy mm inotify lo ssl samplerate

opam list:

Packages matching: installed

Name # Installed # Synopsis

base v0.11.1 Full standard library replacement for OCaml base-bigarray base base-bytes base Bytes library distributed with the OCaml compiler base-threads base base-unix base camlp4 4.07+1 Camlp4 is a system for writing extensible parsers for programming languages camomile 1.0.1 A Unicode library conf-libpcre 1 Virtual package relying on a libpcre system installation conf-m4 1 Virtual package relying on m4 conf-openssl 1 Virtual package relying on an OpenSSL system installation conf-pkg-config 1.1 Virtual package relying on pkg-config installation cry 0.6.2 The cry library is an implementation of the shout protocol to connect to audio diffusion servers such as icecast depext transition opam-depext transition package dtools 0.4.1 Library providing various helper functions to make daemons dune 1.5.1 Fast, portable and opinionated build system duppy 0.7.3 Library providing monadic threads inotify 2.3 Inotify bindings for ocaml. jbuilder transition This is a transition package, jbuilder is now named dune. Use the dune lame 0.3.3 Bindings for the lame library which provides functions for encoding mp3 files liquidsoap 1.3.4 Swiss-army knife for multimedia streaming lo 0.1.1 Bindings for the lo library which provides functions for communicating with input controls using the OSC protocol mm 0.4.0 The mm library contains high-level to create and manipulate multimedia streams (audio, video, MIDI) ocaml 4.07.1 The OCaml compiler (virtual package) ocaml-base-compiler 4.07.1 Official release 4.07.1 ocaml-config 1 OCaml Switch Configuration ocamlbuild 0.12.0 OCamlbuild is a build system with builtin rules to easily build most OCaml projects. ocamlfind 1.8.0 A library manager for OCaml opam-depext 1.1.2 Query and install external dependencies of OPAM packages pcre 7.3.5 Bindings to the Perl Compatibility Regular Expressions library samplerate 0.1.4 Bindings for the samplerate library which provides functions for changing samplerate of audio data sexplib0 v0.11.0 Library containing the definition of S-expressions and some base converters ssl 0.5.7 Bindings for OpenSSL taglib 0.3.3 Bindings for the taglib library which provides functions for reading tags in headers of audio files

toots commented 6 years ago

Hi,

I believe that you need to install the mad decoder through opam:

opam depext mad
opam install mad