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.4k stars 130 forks source link

simplest video example #2225

Closed mcfiredrill closed 2 years ago

mcfiredrill commented 2 years ago

Describe the bug I'm trying to make the simplest possible video script and get it working.

To Reproduce

v = video.testsrc()                                                                                                                 
output.video(v)                                                                                                                     

I don't think it could get much simpler than that. :)

Here's the log output

➜  simple_hls liquidsoap video.liq                                                                                                  
2022/02/07 18:00:56 >>> LOG START 
2022/02/07 18:00:55 [main:3] Liquidsoap 2.0.2                                                                                       
2022/02/07 18:00:55 [main:3] Using: bytes=[distributed with OCaml 4.02 or above] pcre=7.5.0 sedlex=2.5 menhirLib=20211128 curl=0.9.2
 dtools=0.4.4 duppy=0.9.2 cry=0.6.6 mm=0.7.4 ogg=0.7.0 ogg.decoder=0.7.0 vorbis=0.8.0 vorbis.decoder=0.8.0 mad=0.5.2 dynlink=[distri
buted with Ocaml] lame=0.3.5 ffmpeg=1.1.1 samplerate=0.1.6 taglib=0.3.8 camomile=1.0.2    
2022/02/07 18:00:55 [dynamic.loader:3] Could not find dynamic module for fdkaac encoder.
2022/02/07 18:00:55 [clock:3] Using builtin (low-precision) implementation for latency control
2022/02/07 18:00:56 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz main.   
2022/02/07 18:00:56 [frame:3] Video frame size set to: 1280x720
2022/02/07 18:00:56 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2022/02/07 18:00:56 [frame:3] Targeting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2022/02/07 18:00:56 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2022/02/07 18:00:56 [sandbox:3] Sandboxing disabled                                                                                 
2022/02/07 18:00:56 [video.converter:3] Using preferred video converter: ffmpeg.
2022/02/07 18:00:56 [audio.converter:3] Using samplerate converter: ffmpeg.               
2022/02/07 18:00:56 [clock.main:3] Streaming loop starts in auto-sync mode
2022/02/07 18:00:56 [clock.main:3] Delegating synchronisation to CPU clock                
Setting interrupt to true                                                                                                           
2022/02/07 18:00:56 [input.ffmpeg_0:2] Feeding failed: Failure("Invalid type for buffer!")
2022/02/07 18:00:56 [dummy:3] Source failed (no more tracks) stopping output...           
Setting interrupt to true
2022/02/07 18:00:56 [input.ffmpeg_0:2] Feeding failed: Failure("Invalid type for buffer!")
2022/02/07 18:00:56 [dummy:3] Source failed (no more tracks) stopping output...
Setting interrupt to true                                         
2022/02/07 18:00:56 [input.ffmpeg_0:2] Feeding failed: Failure("Invalid type for buffer!")
Setting interrupt to true                                         
2022/02/07 18:00:56 [input.ffmpeg_0:2] Feeding failed: Failure("Invalid type for buffer!")
2022/02/07 18:00:56 [dummy:3] Source failed (no more tracks) stopping output...

(truncated)

Expected behavior Play the video using...ffmpeg?

Version details

Install method opam install gavl ffmpeg taglib mad lame ogg vorbis cry samplerate ocurl liquidsoap -y

mcfiredrill commented 2 years ago

fwiw I've gotten the video.testsrc to work with HLS output, but I'm still not sure what package I need to install to get output.video working.

toots commented 2 years ago

This is fixed now, thanks for reporting!