I have been working on an internet radio plugin for SageTV.

It currently uses vlc 0.9.8 to create a video from a station logo and use VLCs -input-slave option to mux in an mp3 sound track from the radio station.

vlc.exe fake:// --fake-file="stationlogo.jpg" --fake-duration=9999999999 --fake-file-reload=5 --input-slave="webradio.mp3" --sout="#transcode{vcodec=mp2v,vb=4000,fps=30,scale=1,acodec=mpga,ab=128,channels=2,sfilter=marq@nowplaying{marquee=' '}}:duplicate{dst=std{access=file,mux=ts,dst='output.mpg'}}" --sout-transcode-audio-sync
Which works great.

However, in later versions of VLC the input-slave feature no longer works and doesn't look like it will be fixed.

So I've been trying to use ffmpeg and mencoder to do the same job e.g.

mencoder.exe  "vlc_created_video_of_stationlogo.mpg" -audiofile webradio.mp3 -of mpeg -ovc lavc -lavcopts vcodec=mpeg2video -oac copy -o "output.mpg"

ffmpeg.exe -loop_input -vframes 10000 -i picture1.jpg -i webradio.mp3 video.mpg
where webradio.mp3 is a continually growing recording of the radio station output.

But in both cases, unlike VLC, these tools don't seem to wait for more content in the file before continuing.

The get to the end of the mp3 file and stop.

Is there any way to make these tools carry on transcoding as more content arrives?

Many thanks to anyone who can help.