MinimStreamer not transcoding
|
05-12-2018, 02:25
Post: #1
|
|||
|
|||
MinimStreamer not transcoding
I am trying to transcode DSD128 to 24/352 or just downsample to DSD64 because my Lumin A1 only supports DSD64 or up to 24/352.
I added the MinimStreamer package to MinimServer on my Synology NAS so it can transcode DSD128 to 24/352 but is not working. Music is not playing on the Lumin. Track information is displayed on the Lumin then nothing is played and skips to next track. I put the following statements in the MinimWatch Systems properties tab: Stream.transcode: dsf(128):wav24;384, flac:wav Stream.options convOut=-af volume=+8dB Installed Packages on my Synology NAS from MinimWatch 0.8.5.2 on my Mac * minimjre-9.0.1.1 minimserver-0.8-update-126 * minimserver-0.8.5.3 minimstreamer-0.7.10 Also adding log debug info below as it looks like all is ok but I could be be missing something. Any help/advice would be greatly appreciated. Johnny D Log file debug. 20:05:21.010 main: MinimServer: module version for MinimStreamer is 0.7.110 20:05:21.011 main: getPropertyObject: compName=stream propName=resourceFactory propValue=com.minimstreamer.Streamer$ResourceFactory@11274d2 20:05:21.011 main: getPropertyObject: compName=stream propName=urlFactory propValue=com.minimstreamer.Streamer$URLFactory@136e4cd 20:05:21.011 main: setProperty: compName=stream propName=serverVersion propValue=0.8.307 20:05:21.011 main: starting component stream in context context0 20:05:21.011 main: >>> EVENT >>> componentStarting: stream 20:05:21.011 main: ServerControl: componentStarting event for stream 20:05:21.012 main: Monitor: componentStarting event for stream in context context0 20:05:21.012 main: Streamer: start 20:05:21.021 main: getUpdateNames: getting update list 20:05:21.022 main: getUpdatePackages: updateFile=minimjre-9.jmupd 20:05:21.218 main: getUpdatePackages: updateFile=minimstreamer-0.5.jmupd 20:05:21.302 main: ServerControl.isPackageRequired: packageName=minimstreamer-0.7.10 20:05:21.302 main: isPackageRequired: minimstreamer-0.7.10 is already installed 20:05:21.303 main: getUpdatePackages: updateFile=minimserver-0.8.5.jmupd 20:05:21.389 main: ServerControl.isPackageRequired: packageName=minimserver-0.8-update-126 20:05:21.389 main: isPackageRequired: minimserver-0.8-update-126 is already installed 20:05:21.389 main: getUpdateNames: returned updateNames=[] 20:05:21.412 main: checkConverter: running command 20:05:21.412 main: Streamer.runConverter: commandArray is [/bin/ffmpeg, -ar, 48000, -f, s16le, -i, -, -f, s16le, -y, -] 20:05:21.432 main: Streamer.runConverter: process error stream is java.lang.ProcessImpl$ProcessPipeInputStream@cf294c 20:05:21.434 main: Streamer.runConverter: process output stream is java.lang.ProcessImpl$ProcessPipeInputStream@17aaca2 20:05:21.434 main: Streamer.runConverter: process input stream is java.lang.ProcessImpl$ProcessPipeOutputStream@4b1e1d 20:05:21.435 main: Streamer.runConverter: started process Process[pid=9204, exitValue="not exited"] 20:05:21.435 main: WaitForFFmpeg: waiting 20:05:21.435 Thread-733: Streamer: waiting for end of process Process[pid=9204, exitValue="not exited"] 20:05:21.759 Thread-732: Streamer: process output reader thread reached end of stream 20:05:21.760 Thread-731: Streamer: process output reader thread reached end of stream 20:05:21.763 Thread-733: Streamer: ended process Process[pid=9204, exitValue=0] 20:05:21.764 main: WaitForFFmpeg: ffmpegEnded=true 20:05:21.764 main: Streamer.runConverter: process status is 0 20:05:21.764 main: checkFFmpegRequestSampleFmt: running command 20:05:21.764 main: Streamer.runConverter: commandArray is [ffmpeg, -ar, 48000, -f, s16le, -request_sample_fmt, flt, -i, /dev/null, -f, s16le, -y, /dev/null] 20:05:21.767 main: Streamer.runConverter: process error stream is java.lang.ProcessImpl$ProcessPipeInputStream@566842 20:05:21.773 main: Streamer.runConverter: process output stream is java.lang.ProcessImpl$ProcessPipeInputStream@11ea80d 20:05:21.774 main: Streamer.runConverter: process input stream is java.lang.ProcessImpl$ProcessPipeOutputStream@1191ef0 20:05:21.775 main: Streamer.runConverter: started process Process[pid=9209, exitValue="not exited"] 20:05:21.775 main: WaitForFFmpeg: waiting 20:05:21.775 Thread-736: Streamer: waiting for end of process Process[pid=9209, exitValue="not exited"] 20:05:21.822 Thread-735: Streamer: process output reader thread reached end of stream 20:05:21.824 Thread-734: Streamer: process output reader thread reached end of stream 20:05:21.824 Thread-736: Streamer: ended process Process[pid=9209, exitValue=0] 20:05:21.824 main: WaitForFFmpeg: ffmpegEnded=true 20:05:21.825 main: Streamer.runConverter: process status is 0 20:05:21.825 main: checkDSFPCMSupport: running command 20:05:21.825 main: Streamer.runConverter: commandArray is [ffmpeg, -ar, 48000, -f, s16le, -c, dsd_lsbf_planar, -i, -, -f, s16le, -y, -] 20:05:21.827 main: Streamer.runConverter: process error stream is java.lang.ProcessImpl$ProcessPipeInputStream@df2821 20:05:21.827 main: Streamer.runConverter: process output stream is java.lang.ProcessImpl$ProcessPipeInputStream@dbad37 20:05:21.828 main: Streamer.runConverter: process input stream is java.lang.ProcessImpl$ProcessPipeOutputStream@14acdc2 20:05:21.835 main: Streamer.runConverter: started process Process[pid=9213, exitValue="not exited"] 20:05:21.836 main: WaitForFFmpeg: waiting 20:05:21.836 Thread-739: Streamer: waiting for end of process Process[pid=9213, exitValue="not exited"] 20:05:21.887 Thread-738: Streamer: process output reader thread reached end of stream 20:05:21.888 Thread-737: Streamer: process output reader thread reached end of stream 20:05:21.889 Thread-739: Streamer: ended process Process[pid=9213, exitValue=0] 20:05:21.890 main: WaitForFFmpeg: ffmpegEnded=true 20:05:21.890 main: Streamer.runConverter: process status is 0 20:05:21.890 main: checkConvOutSupport: converter=ffmpeg convOut=-af volume=+8dB 20:05:21.891 main: Streamer.runConverter: commandArray is [ffmpeg, -ar, 48000, -f, s16le, -i, -, -af, volume=+8dB, -f, s16le, -y, -] 20:05:21.905 main: Streamer.runConverter: process error stream is java.lang.ProcessImpl$ProcessPipeInputStream@a262d6 20:05:21.905 main: Streamer.runConverter: process output stream is java.lang.ProcessImpl$ProcessPipeInputStream@11bd803 20:05:21.906 main: Streamer.runConverter: process input stream is java.lang.ProcessImpl$ProcessPipeOutputStream@f07f02 20:05:21.906 main: Streamer.runConverter: started process Process[pid=9218, exitValue="not exited"] 20:05:21.906 main: WaitForFFmpeg: waiting 20:05:21.907 Thread-742: Streamer: waiting for end of process Process[pid=9218, exitValue="not exited"] 20:05:21.950 Thread-741: Streamer: process output reader thread reached end of stream 20:05:21.951 Thread-740: Streamer: process output reader thread reached end of stream 20:05:21.952 Thread-742: Streamer: ended process Process[pid=9218, exitValue=0] 20:05:21.953 main: WaitForFFmpeg: ffmpegEnded=true 20:05:21.953 main: Streamer.runConverter: process status is 0 20:05:21.953 main: Streamer: FFmpeg request_sample_fmt option value is flt 20:05:21.964 main: Streamer: FFmpeg DSF to PCM support is available 20:05:21.964 main: Streamer: transcoding converter is 'ffmpeg' 20:05:21.964 main: Streamer: transcode setting is 'dsf(128):wav24;384, flac:wav' 20:05:21.964 main: setPropertyObject: compName=stream propName=transcodePairs propValue={flac=wav} 20:05:21.965 main: started component stream in context context0 20:05:21.965 main: >>> EVENT >>> componentRunning: stream 20:05:21.965 main: ServerControl: componentRunning event for stream 20:05:21.965 main: Monitor: componentRunning event for stream in context context0 20:05:21.966 main: setting initial values for MinimServer Language setting is 'enu' |
|||
05-12-2018, 10:34
Post: #2
|
|||
|
|||
RE: MinimStreamer not transcoding
You said the LUMIN can handle up to 24/352 but you have set MinimStreamer to transcode to 24/384.
|
|||
05-12-2018, 13:47
Post: #3
|
|||
|
|||
RE: MinimStreamer not transcoding
(05-12-2018 10:34)simoncn Wrote: You said the LUMIN can handle up to 24/352 but you have set MinimStreamer to transcode to 24/384. Thanks Simon, my mistake it can transcode to 384. I think I might have figured out my issue. MinimStreamer is transcoding but I think the issues is with my NAS. It does not have the necessary compute and memory to transcode it fast enough. My NAS is a Synology DS411slim. It's 6-7 years old and only has one processor/core at 1.6Ghz and 256MB of memory. It does eventually start to play on my Lumin but takes about 10-15 seconds to begin playing and then the music gets garbled. Is there a way I can prove this theory? Thanks Johnny D |
|||
05-12-2018, 15:40
Post: #4
|
|||
|
|||
RE: MinimStreamer not transcoding
Your theory is correct. The processor in the DS411 doesn't support floating-point operations (required for DSD transcoding) and this will cause the CPU to jump to 100% when you try to stream the file (you can use Resource Monitor to confirm this).
You would get slightly lower CPU consumption and probably slightly better results by using dsf(128):wav. This transcodes to 352.8 kHz 32 bits, which is is a closer multiple of the original DSD sample rate. The LUMIN A1 should be able to handle this. However, I don't think this would work with the DS411. |
|||
05-12-2018, 22:20
Post: #5
|
|||
|
|||
RE: MinimStreamer not transcoding
(05-12-2018 15:40)simoncn Wrote: Your theory is correct. The processor in the DS411 doesn't support floating-point operations (required for DSD transcoding) and this will cause the CPU to jump to 100% when you try to stream the file (you can use Resource Monitor to confirm this). Thanks Simon, I was able to verify. The NAS CPU just gets pegged. ffmpeg is the culprit. Surprised that memory only reached 60%. Time for a new NAS. I needed a reason and now have one. Torn between the DS418 (Realtek RTD1296 quad core 1.4Ghz w/2GB mem) or DS418play (Intel Celeron J3355 Dual Core 2.0 burst up to 2.5 GHz w/2GB mem). Leaning towards the DS418. Your thoughts? Thanks Johnny D. |
|||
05-12-2018, 22:57
(This post was last modified: 06-12-2018 09:22 by simoncn.)
Post: #6
|
|||
|
|||
RE: MinimStreamer not transcoding
Either the DS418 or DS418play would be more than adequate for any MinimStreamer/ffmpeg transcoding that you might need to do. The prices seem similar. From a quick glance at the specs, the main advantage of the DS418play is that you could expand the memory to 6GB in the future.
|
|||
06-12-2018, 02:01
Post: #7
|
|||
|
|||
RE: MinimStreamer not transcoding
(05-12-2018 22:57)simoncn Wrote: Either the DS418 or DS418play would be more than adequate for any MinimStreamer/ffmpeg transcoding that you might need to do. The prices seem similar. From a quick glance at the specs, the main advantage of the DS418 is that you could expand the memory to 6GB in the future. The play also does btrfs. I don't really need that. It comes down to Intel vs ARM dual core vs quad core. DS418 is ARM and quad core. Sounds like a winner to me. A bit cheaper too. Thanks for all your help and support. Johhny D |
|||
06-12-2018, 09:22
(This post was last modified: 06-12-2018 09:23 by simoncn.)
Post: #8
|
|||
|
|||
RE: MinimStreamer not transcoding
Apologies, I had that the wrong way round. It is the DS418play that is expandable to 6GB, not the DS418. I have corrected my earlier post.
|
|||
« Next Oldest | Next Newest »
|
User(s) browsing this thread: 1 Guest(s)