digitalmediaserver / digitalmediaserver Goto Github PK
View Code? Open in Web Editor NEWA UPnP AV/DLNA Media Server.
License: GNU General Public License v2.0
A UPnP AV/DLNA Media Server.
License: GNU General Public License v2.0
This has never worked properly and isn't really relevant anymore.
INFO: <<< UPnP service started successfully
Exception in thread "main" java.lang.NullPointerException
at net.pms.network.PlayerControlHandler.(PlayerControlHandler.java:56)
at net.pms.network.PlayerControlHandler.(PlayerControlHandler.java:43)
at net.pms.network.UPNPHelper.getHttpControlHandler(UPNPHelper.java:125)
at net.pms.network.UPNPHelper.init(UPNPHelper.java:116)
at net.pms.PMS.init(PMS.java:625)
at net.pms.PMS.createInstance(PMS.java:1177)
at net.pms.PMS.main(PMS.java:1500)
On macOS:
DEBUG 2018-10-15 22:38:49.248 [pool-2-thread-2] root req /
ERROR 2018-10-15 22:38:49.248 [pool-2-thread-2] An error occurred while generating a HTTP response: No method or field with name 'favicons' on line 8
TRACE 2018-10-15 22:38:49.249 [pool-2-thread-2]
com.samskivert.mustache.MustacheException$Context: No method or field with name 'favicons' on line 8
at com.samskivert.mustache.Template.checkForMissing(Template.java:316)
at com.samskivert.mustache.Template.getValue(Template.java:224)
at com.samskivert.mustache.Template.getValueOrDefault(Template.java:269)
at com.samskivert.mustache.Mustache$VariableSegment.execute(Mustache.java:802)
at com.samskivert.mustache.Template.executeSegs(Template.java:150)
at com.samskivert.mustache.Template.execute(Template.java:127)
at com.samskivert.mustache.Template.execute(Template.java:118)
at net.pms.remote.RemoteWeb$RemoteStartHandler.handle(RemoteWeb.java:435)
at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
at sun.net.httpserver.AuthFilter.doFilter(AuthFilter.java:83)
at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:82)
at sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:675)
at com.sun.net.httpserver.Filter$Chain.doFilter(Filter.java:79)
at sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:647)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
DEBUG 2018-11-02 16:25:52.718 [Thread-311] IPC pipe interrupted after writing 0 bytes, shutting down...
TRACE 2018-11-02 16:25:52.718 [Thread-311]
java.io.InterruptedIOException: null
at java.io.PipedInputStream.awaitSpace(PipedInputStream.java:275)
at java.io.PipedInputStream.receive(PipedInputStream.java:231)
at java.io.PipedOutputStream.write(PipedOutputStream.java:149)
at net.pms.io.PipeIPCProcess.run(PipeIPCProcess.java:81)
Like getComputerSystem()
, getMacaddr
and getNetworkIFs()
The MAC address shouldn't be displayed in the log but saved and used later for the probable VM detection status.
To be able to use that code:
oshi/oshi#648 (comment)
I don't if it's worst mention it, but DCRaw fail on ARI. Nothing to do except perhaps eventually defer it to FFmpeg, in the case it support it, i dinst tried yet.
https://we.tl/ZFFBG2ewrb
DEBUG 2017-08-13 20:59:58.109 [Library Scanner] Starting "C:\Program Files\Universal Media Server\win32\dcrawMS.exe" -e -c -M -w "F:\!MEDIA_TEST_FILES\UMS Video Testing Suite (20150121)\TESTS\A006C021_150902_R0D0.0044458.ari"
DEBUG 2017-08-13 20:59:58.125 [dcrawMS.exe-4-2] F:\!MEDIA_TEST_FILES\UMS Video Testing Suite (20150121)\TESTS\A006C021_150902_R0D0.0044458.ari has no thumbnail.
INFO 2017-08-13 20:59:58.140 [Library Scanner] Process "C:\Program Files\Universal Media Server\win32\dcrawMS.exe" has a return code of 1! Maybe an error occurred... check the log file
DEBUG 2017-08-13 20:59:58.140 [Library Scanner] Starting ""C:\Program Files\Universal Media Server\win32\dcrawMS.exe"" -h -c -M -w ""F:\!MEDIA_TEST_FILES\UMS Video Testing Suite (20150121)\TESTS\A006C021_150902_R0D0.0044458.ari""
I have found DMS. And I have built it.
Its UI is stylish and cool! Its behavior is light!
I become to like DMS.
Can I PR? though the PRs may include PRed to UMS.
Some problems I found
The belows are not displayed.
the explanation of wizard
confirm after change language
bitrate and channel of general tab of transcoding tab
It shouldn't have been added there in first place as it is only related to AviSynth.
TODO: Avoid choose the DTS stream if not selected in the audio parameters and if other audio choice is possible.
Will avoid unecessary transcoding.
Perhaps a supplementary message line should be added?
Like "Verify your firewall(s)".
The PS3 will offer to stream mpeg4sp avi files while wanting to transcode mpeg4asp avi files. The PS4 will want to do the reverse.
Actually both renderers will stream both types of avi files. I have both devices and have included both mpeg4sp and mpeg4asp in both configuration files, and can confirm that they stream on both devices.
Original title: Database exception while saving image thumbnail
TRACE 2017-11-13 16:50:07.125 [Library Scanner] Creating thumbnail for "capture_08132017_140129.jpg"
TRACE 2017-11-13 16:50:07.125 [Library Scanner] Converting input stream image source to SOURCE format and type DLNAThumbnail using the following parameters: ScaleType = MAX, Width = 320, Height = 320, PadToSize = False
DEBUG 2017-11-13 16:50:07.140 [Thread-40] Stopping UPNP Services...
TRACE 2017-11-13 16:50:07.375 [Library Scanner] Image conversion DLNA compliance check for JPEG_RES_320_231: The source image colors are compliant, format is non-compliant and resolution (1024 x 738) is non-compliant.
Failures:
JPEG_RES_320_231 DLNA compliance failed with wrong resolution 1024 x 738 (limits are 320 x 231)
JPEG DLNA compliance failed with too low JFIF version "1.01"
JPEG DLNA compliance failed with non-typical Huffman tables
DEBUG 2017-11-13 16:50:07.406 [DMS Shutdown] Forcing shutdown of all active processes
INFO 2017-11-13 16:50:07.406 [DMS Shutdown] Stopping server on host 192.168.1.29 and port 5001...
TRACE 2017-11-13 16:50:07.671 [Library Scanner] Finished converting 1024×738 JPEG image. Output image resolution: 320×231, profile: JPEG_RES_320_231. Flags: Convert colors = False, Re-encode = True
ERROR 2017-11-13 16:50:07.687 [Library Scanner] Error updating cached thumbnail for "Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-196]": {}
TRACE 2017-11-13 16:50:07.687 [Library Scanner]
org.h2.jdbc.JdbcSQLException: Database is already closed (to disable automatic closing at VM shutdown, add ";DB_CLOSE_ON_EXIT=FALSE" to the db URL) [90121-196]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:179)
at org.h2.message.DbException.get(DbException.java:155)
at org.h2.message.DbException.get(DbException.java:144)
at org.h2.jdbc.JdbcConnection.checkClosed(JdbcConnection.java:1484)
at org.h2.jdbc.JdbcConnection.checkClosedForWrite(JdbcConnection.java:1469)
TRACE 2018-12-07 22:31:16.279 [Thread-37] net.pms.io.WindowsNamedPipe
java.io.InterruptedIOException: null
at java.io.PipedInputStream.awaitSpace(PipedInputStream.java:276)
at java.io.PipedInputStream.receive(PipedInputStream.java:232)
at java.io.PipedOutputStream.write(PipedOutputStream.java:149)
at java.io.OutputStream.write(OutputStream.java:75)
at net.pms.io.WindowsNamedPipe.run(WindowsNamedPipe.java:276)
I considered that it deserved it own "issue", and share my documentations compilation here, in case i forget them somewhere 😉
https://github.com/andreyvit/create-dmg
https://github.com/LinusU/node-appdmg
https://asmaloney.com/2013/07/howto/packaging-a-mac-os-x-application-using-a-dmg/
https://gist.github.com/jadeatucker/5382343
https://github.com/MagerValp/AutoDMG
http://www.rkuntz.org/pmwiki.php?n=Code.AntDiskImage
http://centerkey.com/mac/java/
http://www.elstensoftware.com/blog/2013/04/17/scripting-dmg-build-osx-linux/
https://dragly.org/2012/01/13/deploy-qt-applications-for-mac-os-x/
http://www.avoiderrors.net/create-dmg-file-macos/
http://www.scala-sbt.org/sbt-native-packager/formats/jdkpackager.html
http://planet.jboss.org/post/packaging_java_applications_for_mac_os_javapackager
http://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html
http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/packagingAppsForMac.html
And of course the last i found...as said the proverb ;-)
Note to myself for later deeper check: (to see if building under Windows will be possible)
https://github.com/Jorl17/jar2app
https://github.com/libgdx/packr
EDIT: @Optimusprimeums, who maintained and have done macOS builds, and @sebos was the ones that worked on it when Mac OS build has been upgraded to Java 7.
http://www.universalmediaserver.com/forum/viewtopic.php?f=14&t=868&p=5865&hilit=build+Mac+os#p5976
http://www.universalmediaserver.com/forum/viewtopic.php?f=11&t=612
See original log here: http://www.universalmediaserver.com/forum/download/file.php?id=4251
It seem that the URI is not correctly formed at some step ?
<upnp:albumArtURI dlna:profileID="PNG_LRG" xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/">http://192.168.1.4:5001/get/29$Temp/thumbnail0000PNG_LRG_Arrow.S06E09.FASTSUB.VOSTFR.720p.HDTV.x264-ZT.WwW.Zone-Telechargement.Ws.mkv.png</upnp:albumArtURI><dc:date>2017-12-08T21:24:52</dc:date><upnp:class>object.item.videoItem</upnp:class></item>] to PCH-A500 (FF9D6500-8455-4D05-A481-B602C92852D0)[0]
ERROR 2017-12-09 22:30:11.921 [AWT-EventQueue-0] Failed to send action "SetAVTransportURI" to PCH-A500 (FF9D6500-8455-4D05-A481-B602C92852D0): Error: Unsupported format (HTTP response was: 500 Internal)
TRACE 2017-12-09 22:30:11.923 [AWT-EventQueue-0]
org.fourthline.cling.model.action.ActionException: Unsupported format
at org.fourthline.cling.transport.impl.SOAPActionProcessorImpl.readFaultElement(SOAPActionProcessorImpl.java:491)
at org.fourthline.cling.transport.impl.SOAPActionProcessorImpl.readBodyFailure(SOAPActionProcessorImpl.java:212)
at org.fourthline.cling.transport.impl.SOAPActionProcessorImpl.readBody(SOAPActionProcessorImpl.java:166)
at org.fourthline.cling.protocol.sync.SendingAction.handleResponseFailure(SendingAction.java:155)
at org.fourthline.cling.protocol.sync.SendingAction.invokeRemote(SendingAction.java:89)
at org.fourthline.cling.protocol.sync.SendingAction.executeSync(SendingAction.java:63)
at org.fourthline.cling.protocol.sync.SendingAction.executeSync(SendingAction.java:51)
at org.fourthline.cling.protocol.SendingSync.execute(SendingSync.java:54)
at org.fourthline.cling.protocol.SendingAsync.run(SendingAsync.java:54)
at org.fourthline.cling.controlpoint.ActionCallback.run(ActionCallback.java:151)
at net.pms.network.UPNPControl.send(UPNPControl.java:678)
at net.pms.network.UPNPControl.setAVTransportURI(UPNPControl.java:859)
at net.pms.network.UPNPHelper$Player.setURI(UPNPHelper.java:805)
at net.pms.util.BasicPlayer$Logical.pressPlay(BasicPlayer.java:315)
at net.pms.newgui.PlayerControlPanel$4.actionPerformed(PlayerControlPanel.java:124)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchTh
For the poor masOS user, consider set the default wizard for "Ask if they want DMS to start minimized" to false.
Please ;)
There are multiple issues with the PmsConfiguration
implementation, especially when it comes to different instances and the lack of synchronization. Clues for cleanup can be found here: UniversalMediaServer/UniversalMediaServer#655
DEBUG 2018-10-30 20:20:43.218 [HTTPv2 Request Worker 2] Caught exception: null
TRACE 2018-10-30 20:20:43.218 [HTTPv2 Request Worker 2]
java.lang.NullPointerException: null
at net.pms.network.RequestV2.answer(RequestV2.java:339)
at net.pms.network.RequestHandlerV2.writeResponse(RequestHandlerV2.java:392)
at net.pms.network.RequestHandlerV2.messageReceived(RequestHandlerV2.java:266)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:142)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:145)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:459)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:536)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
http://www.universalmediaserver.com/forum/viewtopic.php?f=9&t=12515&start=10
INFO 2018-06-05 19:55:17.782 [ffmpeg64.exe-55-Timer] Exception in thread "ffmpeg64.exe-55-Timer" java.lang.ArithmeticException: / by zero
INFO 2018-06-05 19:55:17.782 [ffmpeg64.exe-55-Timer] at net.pms.newgui.StatusTab$RendererItem.actionPerformed(StatusTab.java:99)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at net.pms.util.BasicPlayer$Minimal.alert(BasicPlayer.java:150)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at net.pms.util.BasicPlayer$Logical.alert(BasicPlayer.java:351)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at net.pms.util.BasicPlayer$Minimal.reset(BasicPlayer.java:117)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at net.pms.util.BasicPlayer$Minimal.<init>(BasicPlayer.java:103)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at net.pms.util.BasicPlayer$Logical.<init>(BasicPlayer.java:262)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at net.pms.network.UPNPHelper$Player.<init>(UPNPHelper.java:787)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at net.pms.configuration.RendererConfiguration.getPlayer(RendererConfiguration.java:1585)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at net.pms.configuration.RendererConfiguration.setBuffer(RendererConfiguration.java:2737)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at net.pms.io.BufferedOutputFileImpl$1.run(BufferedOutputFileImpl.java:815)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at java.util.TimerThread.mainLoop(Unknown Source)
INFO 2018-06-05 19:55:17.783 [ffmpeg64.exe-55-Timer] at java.util.TimerThread.run(Unknown Source)
SEC.COM_DIDLSIMAGE
SEC.COM_DIDLSAUDIO
SEC.COM_DIDLSVIDEO
TRACE 2017-08-26 05:32:41.316 [cling-82] net.pms.dlna.protocolinfo.ProtocolInfoAttribute$ProtocolInfoAttributeFactory Creating unknown ProtocolInfoAttribute "SEC.COM_DIDLSIMAGE" with value "1"
TRACE 2017-08-26 05:32:41.317 [cling-82] net.pms.dlna.protocolinfo.ProtocolInfoAttribute$ProtocolInfoAttributeFactory Creating unknown ProtocolInfoAttribute "SEC.COM_DIDLSAUDIO" with value "1"
TRACE 2017-08-26 05:32:41.317 [cling-82] net.pms.dlna.protocolinfo.ProtocolInfoAttribute$ProtocolInfoAttributeFactory Creating unknown ProtocolInfoAttribute "SEC.COM_DIDLSVIDEO" with value "1"
TRACE 2017-08-26 05:32:41.318 [cling-82] net.pms.network.UPNPControl Received GetProtocolInfo from "[TV] Samsung":
The project could not be analyzed because of maven build errors. Please review the error messages here. Another build will be scheduled within 24 hours. If the build is successful this issue will be closed, otherwise the error message will be updated.
This is an automated GitHub Issue created by Sonatype DepShield. GitHub Apps, including DepShield, can be managed from the Developer settings of the repository administrators.
@madoka did suggested, requested that feature because he burn its movies and external subtitles on DVDs, but years later better ASS subtitles come and he put it on its hardrive, so he have to change the subtitles folder every time as he use external subtitles for every movie.
A such specific add should only be added in the DMS.conf to avoid to crowd more the GUI IMO.
EDIT:
If that can help, here is the original PR that have been slightly modified since that era.
Even if they aren't perfect, I'm sure they are better than what we currently have: UniversalMediaServer/UniversalMediaServer#1235
There is
acodec += "libfaac";
l. 1240 on MEncoderVideo.java.
Is this ok?
ffmpeg git lavc: remove libfaac wrapper
Consider if an implementation based on UniversalMediaServer/UniversalMediaServer#798 is viable.
We should add a BUILD.md like in UniversalMediaServer/UniversalMediaServer#1622 but adapted to our build process.
Not using /String
MediaInfo parameters will enhance the media parsing speed.
And some more optimizations are also possible, that give also some additional ADTS bitrate informations.
From my test, we can get around 5% speed enhancement.
The Web interface overlayed message doesn't appear at the right place.
When staying on the Restart server button then go to the Web interface button, and do it again and again, make all the messages overlay under the Restart server button.
The OGG files without video stream have to be considered as OGA in the web renderer.
Because as it is now they fail to play.
Note for myself.
Verify if our code still use the bitrate parsing and fix if it that is the case for been able to use the latest MediaInfo version.
I think that "Engines are in descending order..." should be better displayed as a popup while crossing the entry over the engines windows ?
Unusual warnings are throwed in the log at starting time concerning the renderers:
WARN 2017-08-01 00:08:08.265 [AWT-EventQueue-0] Renderer Yamaha RX-V671 found twice, ignoring repeated entry
EDIT:
Streamium
renderer should have been grouped under "Philips" renderer folder and not leaved alone.With the new Subtitles build, DMS will scan "Subtitles" and "Subs" subfolders as well as a user defined folder in the Alternative Subtitles folder field.
In my experience, DMS will offer the first subtitle found in the main folder window when browsing into a folder. If all subtitles are in the main folder along with the video files, this will usually lead to .ass files offered over .srt files on Windows as ,ass is listed/encountered before .srt. This is ideal as styled subs are usually preferred over plain text subs.
The situation becomes more complicated with the additional folders. If I have a burned DVD with .srt subs in a "Subtitles" subfolder, and .ass subs in a user defined folder on my HD (entered into the Alternative Subtitle Folder field), DMS will use the .srt subs in the main folder window. I can, however, use the transcode folder to select the .ass subs I want.
However, as styled subs are usually preferred, it would be nice to have the option to prioritize .ass over .srt such that in the above example, DMS will use the ,ass subs in the user defined folder over the .srt subs on the DVD when browsing the main folder window.
WARN 2018-10-15 23:53:05.339 [macOS Sleep Worker] Unable to release idle sleep prevention assertion: IOPMAssertionRelease failed with error code: kIOReturnBadArgument (0xe00002c2)
TRACE 2018-10-15 23:53:05.341 [macOS Sleep Worker]
net.pms.exception.IOKitException: IOPMAssertionRelease failed with error code: kIOReturnBadArgument (0xe00002c2)
at net.pms.util.jna.macos.iokit.IOKitUtils.enableGoToSleep(IOKitUtils.java:255)
at net.pms.service.SleepManager$MacOsSleepWorker.doAllowSleep(SleepManager.java:525)
at net.pms.service.SleepManager$AbstractSleepWorker.run(SleepManager.java:415)
INFO 2018-10-15 23:53:05.341 [DMS Shutdown] Stopping Digital Media Server 0.0.1-SNAPSHOT
Component: org.beanshell:bsh-core:2.0b4
CVSS Score: 8.1
Vulnerability: [CVE-2016-2510] Data Handling
Details about the vulnerability are available on the OSS Index page for [CVE-2016-2510] Data Handling.
This is an automated GitHub Issue created by Sonatype DepShield. GitHub Apps, including DepShield, can be managed from the Developer settings of the repository administrators.
DVR-MS has been omitted from format tests and from LibMediaInfoParser
No error is found into the log.
I don't think that it is related but i've found that in medias.trace.db:
2018-05-13 23:26:48 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Table "FILES" not found; SQL statement:
SELECT count(*) FROM FILES [42102-196]
2018-05-13 23:26:48 jdbc[3]: exception
org.h2.jdbc.JdbcSQLException: Table "FILES" not found; SQL statement:
DROP TABLE FILES [42102-196]
More informations will be added when i will able to reproduce it.
Possibly arise when few files are parsed and get fixed when more media folders are added to be parsed?
After having changed some parameter in the tab (Navigation/Share), it only blink the first time you change something, not anymore later.
Fail when started too soon. The start should be delayed, waiting until DMS is available before start IMO.
Instead of having:
http://192.168.1.29:6363/
it fail with:
null:6363
It come from UMS 7.0.1 but i suspect that it should be same in DMS.
DEBUG 2018-06-07 09:01:19.709 [HTTPv2 Request Worker 6] Recognized media renderer "[LG] webOS TV UH770V"
TRACE 2018-06-07 09:01:19.710 [HTTPv2 Request Worker 6] Received a browse request from [LG] webOS TV UH770V [LG WebOS TV] (192.168.1.2:44542):
POST /upnp/control/content_directory HTTP/1.1
HEADER:
SOAPAction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
DLNADeviceName.lge.com: %5bLG%5d%20webOS%20TV%20UH770V
User-Agent: Linux/3.10.19-p.43.dharug.k2l.4 UPnP/1.0 LGE WebOS TV LGE_DLNA_SDK/1.6.0/05.30.03 DLNADOC/1.50
Host: 192.168.1.7:5001
Content-Length: 676
Content-Type: text/xml; charset="utf-8"
CONTENT:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>71</ObjectID>
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>res@resolution,res@nrAudioChannels,res@sampleFrequency,res@bitrate,dc:creator,res@dlna:cleartextSize,dc:date,upnp:genre,res,res@duration,res@size,upnp:albumArtURI,upnp:originalTrackNumber,upnp:album,upnp:artist,upnp:author</Filter>
<StartingIndex>0</StartingIndex>
<RequestedCount>30</RequestedCount>
<SortCriteria/>
</u:Browse>
</s:Body>
</s:Envelope>
DEBUG 2018-06-07 09:01:19.712 [DLNAResource resolver thread 11-1] Retrieving http://podcasts.engadget.com/rss.xml
ERROR 2018-06-07 09:01:19.778 [DLNAResource resolver thread 11-1] Error in parsing stream: http://podcasts.engadget.com/rss.xml
java.net.UnknownHostException: podcasts.engadget.com
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at net.pms.network.HTTPResource.downloadAndSendBinary(HTTPResource.java:208)
at net.pms.network.HTTPResource.downloadAndSendBinary(HTTPResource.java:182)
at net.pms.dlna.Feed.parse(Feed.java:109)
at net.pms.dlna.Feed.resolveOnce(Feed.java:94)
at net.pms.dlna.DLNAResource.resolve(DLNAResource.java:1612)
at net.pms.dlna.DLNAResource.syncResolve(DLNAResource.java:1592)
at net.pms.dlna.DLNAResource.run(DLNAResource.java:1389)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
TRACE 2018-06-07 09:01:19.779 [HTTPv2 Request Worker 6] End of analysis for Podcasts
TRACE 2018-06-07 09:01:19.781 [HTTPv2 Request Worker 6] Response sent to [LG] webOS TV UH770V [LG WebOS TV]:
HEADER:
HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Server: Windows_10-amd64-10.0, UPnP/1.0 DLNADOC/1.50, UMS/7.1.0-SNAPSHOT
Content-Length: 2604
CONTENT:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
TRACE 2018-09-14 21:01:03.125 [HTTPv2 Request Worker 1] Matched format FLAC to "F:_DEVELOPPEMENT_TOOLS!MEDIA_TEST_FILES\AUDIO\FLAC\2L-056_03_stereo-44kHz-16b.flac"
DEBUG 2018-09-14 21:01:03.203 [HTTPv2 Request Worker 1] Cached information about 2L-056_03_stereo-44kHz-16b.flac seems to be from a previous version, reparsing information
TRACE 2018-09-14 21:01:03.218 [HTTPv2 Request Worker 1]
java.io.InvalidClassException: net.pms.image.ImageInfo; local class incompatible: stream classdesc serialVersionUID = 8947090782856389500, local class serialVersionUID = 4247040093720562338
at java.io.ObjectStreamClass.initNonProxy(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at org.h2.util.JdbcUtils.deserialize(JdbcUtils.java:420)
at org.h2.jdbc.JdbcConnection.convertToDefaultObject(JdbcConnection.java:2023)
at org.h2.jdbc.JdbcResultSet.getObject(JdbcResultSet.java:534)
at net.pms.dlna.DLNAMediaDatabase.getData(DLNAMediaDatabase.java:363)
at net.pms.dlna.RealFile.resolve(RealFile.java:185)
at net.pms.dlna.DLNAResource.syncResolve(DLNAResource.java:1511)
at net.pms.dlna.DLNAResource.run(DLNAResource.java:1346)
at net.pms.dlna.RealFile.isValid(RealFile.java:70)
at net.pms.dlna.DLNAResource.addChild(DLNAResource.java:644)
at net.pms.dlna.DLNAResource.addChild(DLNAResource.java:608)
at net.pms.dlna.MapFile.manageFile(MapFile.java:311)
at net.pms.dlna.MapFile.analyzeChildren(MapFile.java:364)
at net.pms.dlna.DLNAResource.discoverWithRenderer(DLNAResource.java:1310)
at net.pms.dlna.DLNAResource.getDLNAResources(DLNAResource.java:1225)
at net.pms.network.RequestV2.answer(RequestV2.java:804)
at net.pms.network.RequestHandlerV2.writeResponse(RequestHandlerV2.java:392)
at net.pms.network.RequestHandlerV2.messageReceived(RequestHandlerV2.java:266)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:142)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.handler.codec.http.HttpChunkAggregator.messageReceived(HttpChunkAggregator.java:145)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:791)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:459)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:536)
at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:485)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:108)
at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:337)
at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:89)
at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Unecessary code that crowd the log for nothing.
The current service implementation leaves much to be desired, and doesn't even work on 64 bit JVMs: UniversalMediaServer/UniversalMediaServer#798
Replace that old and already not correct code part:
https://github.com/DigitalMediaServer/DigitalMediaServer/tree/master/src/main/java/net/pms/util/CodecUtil.java#L49-L68
by ffmpeg -codecs
parsing, as the FFmpeg capabilities is already implemented.
Codecs:
D..... = Decoding supported
.E.... = Encoding supported
..V... = Video codec
..A... = Audio codec
..S... = Subtitle codec
...I.. = Intra frame-only codec
....L. = Lossy compression
.....S = Lossless compression
@Sami32 I remember that you've talked about this, but I can't remember what was the issue. I now have some files with EIA-608 subtitles and would like to get them to work. Can you remind me what you already know about the issue?
DMS automatically share Desktop and Downloads folders.
I think this is not good on security and the burdens of PC.
Desktop and Downloads folders are privacy itself.
It is a cause for unexpected outflows by beginners.
And I think agreements by users are need, including what folders is shared, when automatically sharing folders,
Not system font is automatically set by default since UMS 6.0.0 or later.
So as most users don't force it manually it give many issue report saying that they don't get subtitles or that FFmpeg fail.
Example:
DEBUG 2017-08-21 01:23:32.660 [HTTPv2 Request Worker 2] Starting transcode/remux of Lossless_FFv1 Test.avi with media info: Container: AVI, Size: 371995296, Video Bitrate: 422721920, Video Tracks: 1, Video Codec: rgb, Duration: 0:00:07.000, Video Resolution: 1024 x 688, Frame Rate: 25.000, DLNAThumbnail: [Format = JPEG, Resolution = 268×180, Size = 33984, DLNA Profile = JPEG_RES_268_180], Mime Type: video/avi
<Result><DIDL-Lite xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:sec="http://www.sec.co.kr/" xmlns:pv="http://www.pv.com/pvns/"><item id="86" parentID="53" restricted="1"><dc:title>Lossless_FFv1 Test</dc:title><res xmlns:dlna="urn:schemas-dlna-org:metadata-1-0/" protocolInfo="http-get:*:video/mp4:DLNA.ORG_OP=01" size="1000000" duration="0:00:07.000" resolution="1024x688" bitrate="52840240">
That part of the code is flawed, IMO.
As some renderers are more sensible to it because they have a bitrate limitation, as 25 Mb/s, it was more obvious to detect it with one of them.
I've fixed it with an ugly trick for a user, having AVI with rawvideo codec (from camera), but i'm sure a proper fix can and should be found. I just can't find one right now, so i'll appreciate any idea to get the real bitrate while transcoding, though i could not afford a big refactory myself if it need it.
I thought about using the below idea and divide that "more real" transcoded size by the total video duration.
TranscodedVideoFileSize = 1000000
(and certainly others), i don't know if it will possible, but i thought about checking at the size of the first second transcoded (or the full 2.5 s that it buffer) (in the buffer ?) and multiply that by the total duration of the video. This value should be rounded up.EDIT: getRealVideoBitrate()
What a joke ;-)
Only tested under Linux and VLC for now. It work correctly while using the GUI.
Whatever the user's folders are, it only show one DMS instance showing all the default folders with default settings and one other with "Recently played", also if none of these are enabled in the configuration and display as expected when using the GUI.
The below happens even in English env..
Some terms are not displayed on Transcoding tab.
Scroll bars are not displayed on Transcoding tab.
Explanation and buttons are not displayed on restart confirm dialogue of language of general tab.
Explanation and buttons are not displayed when selecting "Ask" on Close action of general tab and closing the window of DMS.
Explanation and buttons are not displayed on the dialogue of Question, Configuration wizard Question 1 of 2, Configuration wizard Question 2 of 2, Wizard complete! on the wizard.
I do not touch these because I do not know causes.
Only mac?
I fixed "Some terms are not displayed on Transcoding tab".
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.