Improve feedback from service to console

Issue #328 wontfix
Former user created an issue

As a new user there is one thing that I feel is missing from Serviio 0.5.2: The ability to know what the "service" is doing. This means knowing status of scanning for new files, what files are actually included in my library, what is the problem if a file is not able to play back on my TV, is there a problem with transcoding a file etc.

As it is now you have to guess what is going on. I know it is possible to enable logging to a file and look at that, but I think it would greatly improve the GUI if you were able to find this information there.

Perhaps this can be done as easy as showing the last 10 lines of a log in a separate tab or adding some functionality to each of the respective screens with a status.

Thanks for listening and thanks for a great product!

Comments (2)

  1. Paul York

    I'll +1 this one, and add some specific REST API suggestions. This kind of polling API isn't ideal for real-time, but I don't think we'd be talking about banging on it too hard. Probably no more than once every 10 seconds or so. Just a more detailed peek into the innards...

    Modify /rest/library-status or create a second /rest/library-status-ex call.

    <libraryStatus>
        <libraryUpdatesCheckerRunning>false</libraryUpdatesCheckerRunning>
        <libraryAdditionsCheckerRunning>false</libraryAdditionsCheckerRunning>
        <libraryUpdatesCheckerStatus>
            <lastStartTime>2011-05-21 15:52:56</lastStartTime>
            <lastStatusMessageTime>2011-05-21 15:52:56</lastStatusMessageTime>
            <lastStatusMessageLevel>INFO</lastStatusMessageLevel>
            <lastStatusMessageText>Started looking for updates to currently shared files</lastStatusMessageText>
        </libraryUpdatesCheckerStatus>
        <libraryAdditionsCheckerStatus>
            <lastStartTime>2011-05-21 15:52:56,250</lastStartTime>
            <lastStatusMessageTime>2011-05-21 15:52:56,250</lastStatusMessageTime>
            <lastStatusMessageLevel>INFO</lastStatusMessageLevel>
            <lastStatusMessageText>Started looking for newly added files</lastStatusMessageText>
        </libraryAdditionsCheckerStatus>
    </libraryStatus>
    

    Seems like that should be pretty easy--perhaps just a new log4j appender.

    It'd also be nice to have real time status for renderers. That may not be as easy. But again, either a non-breaking change to /rest/status or a /rest/status-ex

    <status>
        <serverStatus>STARTED</serverStatus>
        <renderers>
            <renderer>
                <uuid>fd189287-8b6b-4bc3-a4a0-7e70dc3a9c1a</uuid>
                <ipAddress>192.168.0.15</ipAddress>
                <name>Unrecognized device</name>
                <profileId>1</profileId>
                <status>ACTIVE</status>
                <playbackStatus>
                    <playbackActive>true</playbackActive>
                    <currentMediaFile>
                        <type>VIDEO</type>
                        <filePath>c:\media\movies\mymovie.mkv</filePath>
                        <fileSize>12345689</fileSize> (in bytes)
                        <videoDetails>
                            <title>A Cool Movie</title>
                            <duration>234</duration> (in seconds)
                            <container>matroska</container>
                            <videoCodec>h264</videoCodec>
                            <audioCodec>ac3</audioCodec>
                            <audioBitRate>384</audioBitRate>
                            <playbackStartTime>2011-05-21 15:52:56,250</playbackStartTime>
                            <currentPosition>1326</currentPosition> (in seconds--possible??)
                        </videoDetails>
                    </currentMediaFile>
                    <transcoding>
                        <active>true</active>
                        <container>mpegts</container>
                        <videoCodec>mpeg2video</videoCodec>
                        <audioCodec>ac3</audioCodec>
                        <audioBitRate>384</audioBitRate>
                    </transcoding>
                </playbackStatus>
            </renderer>
                ...
        </renderers>
        <boundIPAddress>192.168.0.10</boundIPAddress>
    </status>
    

    Obviously need different details for each media file type, but video would definitely be the most intense.

    I think it'd also be nice to have to API's for querying the library itself. Maybe as simple as passing in a browsing category (e.g., /rest/library/filelist/A_A) and getting back a list of titles, Essentially the rest version of the UPnP stuff. Might could do away with some of the above with a quick call to something like /rest/library/filedetails/<GUID>.

  2. Log in to comment