MinimServer Forum

Full Version: Setting up MinimStreamer for SynoCommunity ffmpeg4
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
How to set up MinimStreamer to work with Synocommunity ffmpeg4 in DSM7?

I installed the latest version of ffmpeg4 (4.4.4-49). It is located in:
Code:
Micha@DS720p:/var/packages/ffmpeg/target/bin$ ls -l ffmpeg*
-rwxr-xr-x 1 sc-ffmpeg synocommunity 283656 May  7  2023 ffmpeg
lrwxrwxrwx 1 sc-ffmpeg synocommunity      6 May  7  2023 ffmpeg4 -> ffmpeg

When calling ffmpeg obviously an old version ist started:
Code:
Micha@DS720p:/var/packages/ffmpeg/target/bin$ ffmpeg
ffmpeg version 4.1.9 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 12.2.0 (GCC)

Calling ffmpeg4 starts the latest version:
Code:
Micha@DS720p:/var/packages/ffmpeg/target/bin$ ffmpeg4
ffmpeg version 4.4.4-49 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 8.5.0 (GCC)

But setting streamer.converter to /var/packages/ffmpeg/target/bin/ffmpeg4
is refused by Minimstreamer (pls. refer to attached screenshot).

How to make MinimStreamer working with the latest version of ffmpeg4 or even ffmpeg6?

Finally I would like to convert AAC LC streams from Astra digital Radio to MP3.

BR

Micha
The correct setting in stream.converter to use FFmpeg 4.4.4 is /var/packages/ffmpeg/target/bin/ffmpeg.

You are getting version 4.1.9 when you type ffmpeg because this version of ffmpeg is installed somewhere else in your PATH setting. On Linux (unlike Windows), typing ffmpeg does not look in the current directory first but searches the PATH directories. To be sure you are using the version in the current directory, you need to type type ./ffmpeg.

You are getting version 4.4.4 when you type ffmpeg4 because there is no other ffmpeg4 executable in your PATH that is taking priority over the version in your current directory.

You need to use an executable named ffmpeg in the stream.converter property so that MinimStreamer can detect this as an FFmpeg converter (not avconv).

When you have the stream.converter setting correct, you should set stream.transcode to aac:mp3.
Simon, many thanks for your support.

Does ffmpeg6 work also? It is installed in:
Code:
/var/packages/ffmpeg6/target/bin
and setting stream.converter to /var/packages/ffmpeg6/target/bin/ffmpeg doesn't cause an error message at least. Or should I stick to ffmpeg4?

No I've to convince MinimStreamer to play and transcode my local live streams provided by DVBlogic.

DVBLink is a server creating live streams from a USB DVB-S receiver connected to my Synology.

This streams can be played by VLC for example by connecting to a URL like:
Code:
http://192.168.178.24:8101/dvblink/direct?client=5123f60a4e2ccf7095cee369187cfd89&channel=21790000

DVB-S radio stations from German public radio is coded in AAC-LC.

I created an m3u playlist with above mentioned link, working well in VLC but I can't get it palying with BubbleUPNP (Control Point) and Volumio (Renderer).

BR

Micha
From ths page it appears the iutput from DVBLink Server might be iin TS format. If so, you might be able to use MinimStreamer and FFmpeg to transcode the stream into a format that can be played by Volumio.

To set this up, do the following:

1) In your m3u playlist, change the entry to [DVBLink]http://192.168.178.24:8101/dvblink/direct?client=5123f60a4e2ccf7095cee369187cfd89&channel=21790000
2) Set the stream.transcode property to *:wav
3) Rescan your library

Adding [DVBLink] causes the stream to be routed from the DVBLink server to MinimStreamer. Setting *:wav causes MinimStreamer to use FFmpeg to transcode the stream to WAV, which should be compatible with Volumio.

This should work with either FFmpeg 4 or FFmpeg 6. There are some new features in FFmpeg 6 but none of these features seems relevant when using FFmpeg with MinimStreamer.
Unfortunately it doesn't work this way.

The m3u I'm using is:

Code:
#EXTM3U
#EXTINF:-1,[DVBSWR1BW] SWR1 BW
http://192.168.178.24:8101/dvblink/direct?client=5123f60a4e2ccf7095cee369187cfd89&channel=21790000

In BubbleUPNP I can see that the stream is routed through MinimServer and transcoded to WAV, 16/44100. But it's not been played.

And there must be something wrong in general:

Setting stream.transcode to *.wav transcodes all streams if routed through MinimServer.

Now the internet streams routed trough MinimServer are not played any longer!

For example:
Code:
#EXTM3U
#EXTINF:-1,[+BR1] BR1 Franken
https://dispatcher.rndfnk.com/br/br1/franken/mp3/mid

Prior both ways did work, directly and thorugh MinimServer. Now, only direct playback is working!
(04-12-2023 17:58)fm-maniac Wrote: [ -> ]
Code:
#EXTM3U
#EXTINF:-1,[+BR1] BR1 Franken
https://dispatcher.rndfnk.com/br/br1/franken/mp3/mid

Prior both ways did work, directly and thorugh MinimServer. Now, only direct playback is working!

I tried this and the MinimStreamer version '[BR1] BR1 Franken' is playing for me both with and without *:wav transcoding. The direct version 'BR1 Franken' plays on one of my renderers but not on another of my renderers.

Perhaps your renderer is unable to play WAV streams. This might also explain why the DVBLink stream does not play for you with *:wav transcoding. You could try *:mp3 or *:aac instead of *:wav to see if that works.
I'm using Volumio on an RasPi3 as a renderer. And it for sure play's WAV-Files. I'll give mp3 a try.
A transcoded WAV stream (not local file) has a length of zero in the WAV header. Some renderers can't handle this.

To enable these renderers to play a transcoded WAV stream, MinimServer provides the option to specify a length for the WAV header in the transcoded stream. For example, settting stream.transcode to *:wav-2GB sets the header length to 2GB-1 and settting stream.transcode to *:wav-4GB sets the header length to 4GB-1. Setting a header length in this way imposes a limit on how long the stream will play for.

Another option is to transcode to L16. This doesn't have a header length field.
Some feedback on this:

Transcoding to wav of a specified length (e.g. *:wav-2GB) doesn't work.

Only transcoding to linear PCM (*:L16) is accepted by Volumio.
Reference URL's