Jump to content

New QNAP Package for Testing


Luke

Recommended Posts

alucryd

@@PenkethBoy

 

Does firmware 4.2.6 have the addgroup, useradd and passwd commands available ? The script goes until the emby folder creation so I'm assuming it does, but I find it weird that the emby user doesn't appear in the web interface.

 

Also could you please share the output of these 3 commands:

getent passwd emby
getent group emby
getent group administrators

If everything looks fine, could you modify the emby-server.sh script in the qpkg folder, specifically the line:

sudo -u emby $QPKG_DIR/bin/emby-server &

Please remove the '&' at the end and try launching it manually:

./emby-server.sh start

Unfortunately dotnet core is still very rough around the edges on architectures other than x86_64. It's already confirmed not working for our needs on ARM which is why there is no ARM package yet. We are working with Microsoft to fix this, I'm guessing x86 is the same but I had no chance to try it out until now because I don't have any x86 NAS on hand.

 

As for x86_ce53xx, QNAP distinguishes these models from regular x86 in their template, the package is for models based off of Atom CE53xx processsors.

Link to comment
Share on other sites

PenkethBoy

Ok not unsurprisingly the first two getent return nothing as no emby user or emby group was created. group administrators return all users in that group as expected.

 

The "owner" of the new EmbyServer directory in .qpkg is "511" which i assume was supposed to be the emby user - this is actually the same as the x64 install - which did create a new emby user but still the user 511 was assigned - hmmmm

 

Changing the .sh script and running manually - returned that the server was already running when its not.

 

If i "stop" the emby server from App Centre - then try and run the script manually - it returns the server is disabled.

 

when i start from the app centre - emby starts almost instantly - which is suspicious as this NAS is not quick - so i think its misleading and actually failing to start.

 

Up to a point dont mind testing on x86 but sounds like its a bit more "unrefined" and if you dont have a x86 NAS well good luck :)

 

One other point "sudo" is not needed on QNAP or does not work - depends on a few things :)

 

As for the x86_ce53xx - a more useful way to define them would be by model type - which most users would know them by - been on the QNAP forum for years and dont remember the users refering to that Atom at all.

Link to comment
Share on other sites

alucryd

Ok not unsurprisingly the first two getent return nothing as no emby user or emby group was created. group administrators return all users in that group as expected.

 

Thanks, that's precisely why I wanted to know first if addgroup, useradd and passwd are available on that firmware version, could you please check that? It's already weird enough that the latest firmware would have useradd but no groupadd and instead addgroup which is very limited, I wouldn't be surprised if older firmwares had a weirder mix of commands. Also it's unclear if packages created with a newer version of QDK can be installed properly on a NAS sporting an older QPKG version.

 

If these commands aren't available I will try to make do without, but yeah creating a working package without an actual unit is going to be a chore, plus the fact that QNAP discontinued x86 models and you can't really buy one anymore isn't helping.

 

Lastly, sudo is needed, they don't have start-stop-daemon, only a weird daemon_mgr without any kind of documentation so i'm not even sure what it does, sudo is the only way to run emby-server as the emby user instead of root/admin.

Edited by alucryd
Link to comment
Share on other sites

PenkethBoy

how do you want me to check if addgroup useradd and passwd on in the firmware? do you have something in mind?

 

Oh by the way on the x64 install the emby user did not have a password assigned and was disabled

Edited by PenkethBoy
Link to comment
Share on other sites

alucryd

how do you want me to check if addgroup useradd and passwd on in the firmware? do you have something in mind?

 

Sure:

which addgroup
which useradd
which passwd
Link to comment
Share on other sites

PenkethBoy

Ok looking in /bin

 

we have 

 

addgroup

adduser

delgroup

deluser

pwd

 

no - groupadd or useradd or passwd

Link to comment
Share on other sites

PenkethBoy
Using username "admin".
[~] # which addgroup
/bin/addgroup
[~] # which useradd
/usr/local/bin/useradd
[~] # which passwd
/usr/bin/passwd
[~] #


Ha typical QNAP all over the place

 

Just did the same on my 853A(x64) and the location of the files is the same

Edited by PenkethBoy
Link to comment
Share on other sites

alucryd

Thanks, that explains a lot, I'm using useradd to create the emby user, I'll have to support both useradd and adduser, the latter is very limited unfortunately.

Link to comment
Share on other sites

alucryd

Me

 

Using username "admin".
[~] # which addgroup
/bin/addgroup
[~] # which useradd
/usr/local/bin/useradd
[~] # which passwd
/usr/bin/passwd
[~] #


Ha typical QNAP all over the place

 

Meh, so useradd is available, now I don't understand why user and group creation fail :(

Link to comment
Share on other sites

PenkethBoy

Create a simple test script and i can run it manually

 

if it causes problems - thats fine my 459 Pro is easy to re install is it gets to bad - dont use it for production now just a play thing

Link to comment
Share on other sites

raven-au

Thanks, that's precisely why I wanted to know first if addgroup, useradd and passwd are available on that firmware version, could you please check that? It's already weird enough that the latest firmware would have useradd but no groupadd and instead addgroup which is very limited, I wouldn't be surprised if older firmwares had a weirder mix of commands. Also it's unclear if packages created with a newer version of QDK can be installed properly on a NAS sporting an older QPKG version.

 

If these commands aren't available I will try to make do without, but yeah creating a working package without an actual unit is going to be a chore, plus the fact that QNAP discontinued x86 models and you can't really buy one anymore isn't helping.

 

Lastly, sudo is needed, they don't have start-stop-daemon, only a weird daemon_mgr without any kind of documentation so i'm not even sure what it does, sudo is the only way to run emby-server as the emby user instead of root/admin.

 

It's a busybox environment.

 

I think that If you want this to work on the widest number of QNAP devices with the least amount of pain, even if you need to use a different QDK version, then you probably need to only use the busybox available commands. There are exceptions as can be seen in the /bin and /usr/bin directories etc. but mostly this is the way it is.

 

sudo is probably the only critical exception and TBH I don't know if it's always available.

You might need to setup infrastructure to build it as a static binary and run it from your .qpkg binary directory to avoid additional pain, but hopefully it is available on all the QNAP devices you need.

Perhaps it would be useful to pick a (very much) simplified "run as user" open source implementation, similar to what many of the container based implementations do, and use that instead.

 

On my TS-453 Pro I see that addgroup, adduser are busybox commands in /bin and passwd is a busybox command in /usr/bin so it's probably best to use those and similar for other commands you need.

 

Ian

Edited by raven-au
Link to comment
Share on other sites

raven-au

On my TS-453 Pro I see that addgroup, adduser are busybox commands in /bin and passwd is a busybox command in /usr/bin so it's probably best to use those and similar for other commands you need.

 

Not sure about getent either, they are present on my TS-453 Pro but perhaps "grep -q "^emby" /etc/passwd" and "grep -q "^emby" /etc/group" would be safer ....

Link to comment
Share on other sites

raven-au

Not sure about getent either, they are present on my TS-453 Pro but perhaps "grep -q "^emby" /etc/passwd" and "grep -q "^emby" /etc/group" would be safer ....

 

And you don't know if /dev/dri exists.

 

I think it only exists on QTS 4.3 and later and probably only on some QNAP devices.

 

I also don't know how the emby server will cope if it doesn't exist.

I saw that in the default installed server configuration "Hardware acceleration" was set to none but VAAPI was used anyway, the configuration probably should be respected and setting HW acceleration required.

 

Ian

Edited by raven-au
Link to comment
Share on other sites

sectune

Hi Luke, 

works flawlessly for me besides that the package sometimes fails to start properly on my qnap. Please find attached log for when this happens (after manually stopping and restarting the package from the app center a few times after a while the package starts properly).

2017-10-03 12:13:58.489 Info Main: Application path: /share/CACHEDEV1_DATA/.qpkg/EmbyServer/system/EmbyServer.dll
2017-10-03 12:13:58.500 Info Main: Emby
Command line: /share/CACHEDEV1_DATA/.qpkg/EmbyServer/system/EmbyServer.dll -programdata /home/emby -ffmpeg /share/CACHEDEV1_DATA/.qpkg/EmbyServer/bin/ffmpeg -ffprobe /share/CACHEDEV1_DATA/.qpkg/EmbyServer/bin/ffprobe -updatepackage emby-server-qnap-x64.qpkg
Operating system: Unix 4.2.8.0
64-Bit OS: True
64-Bit Process: True
User Interactive: True
Processor count: 4
Program data path: /home/emby
Application directory: /share/CACHEDEV1_DATA/.qpkg/EmbyServer/system
2017-10-03 12:13:58.735 Info App: Application version: 3.2.32.12
2017-10-03 12:13:58.817 Info App: Application configuration:
{"EnableUPnP":true,"PublicPort":8096,"PublicHttpsPort":8920,"HttpServerPortNumber":8096,"HttpsPortNumber":8920,"EnableHttps":false,"EnableLocalizedGuids":true,"EnableNormalizedItemByNameIds":true,"IsPortAuthorized":true,"EnableCaseSensitiveItemIds":true,"DisableLiveTvChannelUserDataName":true,"MetadataPath":"","MetadataNetworkPath":"","PreferredMetadataLanguage":"en","MetadataCountryCode":"US","SortReplaceCharacters":[".","+","%"],"SortRemoveCharacters":[",","&","-","{","}","'"],"SortRemoveWords":["the","a","an"],"MinResumePct":5,"MaxResumePct":90,"MinResumeDurationSeconds":300,"LibraryMonitorDelay":60,"EnableDashboardResponseCaching":true,"ImageSavingConvention":"Compatible","MetadataOptions":[{"ItemType":"Book","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280}],"DisabledMetadataSavers":[],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"Movie","ImageOptions":[{"Type":"Primary","Limit":1,"MinWidth":0},{"Type":"Art","Limit":1,"MinWidth":0},{"Type":"BoxRear","Limit":1,"MinWidth":0},{"Type":"Banner","Limit":1,"MinWidth":0},{"Type":"Box","Limit":1,"MinWidth":0},{"Type":"Disc","Limit":1,"MinWidth":0},{"Type":"Logo","Limit":1,"MinWidth":0},{"Type":"Menu","Limit":1,"MinWidth":0},{"Type":"Thumb","Limit":1,"MinWidth":0},{"Type":"Backdrop","Limit":1,"MinWidth":1280},{"Type":"Screenshot","Limit":1,"MinWidth":0}],"DisabledMetadataSavers":[],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":["The Open Movie Database","TheMovieDb"],"DisabledImageFetchers":[],"ImageFetcherOrder":["TheMovieDb","FanArt","The Open Movie Database","Screen Grabber"]},{"ItemType":"MusicVideo","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280},{"Type":"Art","Limit":0,"MinWidth":0},{"Type":"Disc","Limit":0,"MinWidth":0},{"Type":"Primary","Limit":1,"MinWidth":0},{"Type":"Banner","Limit":0,"MinWidth":0},{"Type":"Thumb","Limit":1,"MinWidth":0},{"Type":"Logo","Limit":1,"MinWidth":0}],"DisabledMetadataSavers":["Emby Xml"],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":["FanArt"],"ImageFetcherOrder":[]},{"ItemType":"Series","ImageOptions":[{"Type":"Primary","Limit":1,"MinWidth":0},{"Type":"Art","Limit":1,"MinWidth":0},{"Type":"BoxRear","Limit":1,"MinWidth":0},{"Type":"Banner","Limit":1,"MinWidth":0},{"Type":"Box","Limit":1,"MinWidth":0},{"Type":"Disc","Limit":1,"MinWidth":0},{"Type":"Logo","Limit":1,"MinWidth":0},{"Type":"Menu","Limit":1,"MinWidth":0},{"Type":"Thumb","Limit":1,"MinWidth":0},{"Type":"Backdrop","Limit":1,"MinWidth":1280},{"Type":"Screenshot","Limit":1,"MinWidth":0}],"DisabledMetadataSavers":[],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":["The Open Movie Database","TheTVDB","TheMovieDb"],"DisabledImageFetchers":[],"ImageFetcherOrder":["TheTVDB","FanArt","TheMovieDb"]},{"ItemType":"MusicAlbum","ImageOptions":[{"Type":"Backdrop","Limit":0,"MinWidth":1280},{"Type":"Disc","Limit":0,"MinWidth":0}],"DisabledMetadataSavers":["Emby Xml"],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":["TheAudioDB"],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"MusicArtist","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280},{"Type":"Banner","Limit":0,"MinWidth":0},{"Type":"Art","Limit":0,"MinWidth":0},{"Type":"Logo","Limit":1,"MinWidth":0}],"DisabledMetadataSavers":["Emby Xml"],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":["TheAudioDB"],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"BoxSet","ImageOptions":[{"Type":"Backdrop","Limit":1,"MinWidth":1280},{"Type":"Primary","Limit":1,"MinWidth":0},{"Type":"Thumb","Limit":1,"MinWidth":0},{"Type":"Logo","Limit":1,"MinWidth":0},{"Type":"Art","Limit":0,"MinWidth":0},{"Type":"Disc","Limit":0,"MinWidth":0},{"Type":"Banner","Limit":0,"MinWidth":0}],"DisabledMetadataSavers":[],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]},{"ItemType":"Season","ImageOptions":[{"Type":"Backdrop","Limit":0,"MinWidth":1280},{"Type":"Primary","Limit":1,"MinWidth":0},{"Type":"Banner","Limit":0,"MinWidth":0},{"Type":"Thumb","Limit":0,"MinWidth":0}],"DisabledMetadataSavers":["Emby Xml"],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":["TheMovieDb"],"MetadataFetcherOrder":[],"DisabledImageFetchers":["FanArt"],"ImageFetcherOrder":[]},{"ItemType":"Episode","ImageOptions":[{"Type":"Backdrop","Limit":0,"MinWidth":1280},{"Type":"Primary","Limit":1,"MinWidth":0}],"DisabledMetadataSavers":["Emby Xml"],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":["The Open Movie Database","TheMovieDb"],"MetadataFetcherOrder":[],"DisabledImageFetchers":["The Open Movie Database","TheMovieDb"],"ImageFetcherOrder":[]},{"ItemType":"Video","ImageOptions":[{"Type":"Backdrop","Limit":3,"MinWidth":1280}],"DisabledMetadataSavers":["Emby Xml"],"LocalMetadataReaderOrder":[],"DisabledMetadataFetchers":[],"MetadataFetcherOrder":[],"DisabledImageFetchers":[],"ImageFetcherOrder":[]}],"EnableAutomaticRestart":true,"SkipDeserializationForBasicTypes":true,"WanDdns":"http://xxx.ddns.me","UICulture":"en-us","SaveMetadataHidden":false,"ContentTypes":[],"RemoteClientBitrateLimit":1500000,"SharingExpirationDays":30,"SchemaVersion":0,"EnableAnonymousUsageReporting":false,"EnableFolderView":false,"EnableGroupingIntoCollections":true,"DisplaySpecialsWithinSeasons":true,"DisplayCollectionsView":false,"LocalNetworkAddresses":[],"CodecsUsed":[],"EnableChannelView":false,"EnableExternalContentInSuggestions":false,"ImageExtractionTimeoutMs":0,"PathSubstitutions":[],"EnableSimpleArtistDetection":true,"EnableDebugLevelLogging":false,"EnableAutoUpdate":true,"LogFileRetentionDays":3,"RunAtStartup":false,"IsStartupWizardCompleted":true,"CachePath":""}
2017-10-03 12:13:58.834 Info App: Loading Emby.Kodi.SyncQueue, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading AutoBoxSets, Version=1.1.1.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading TimeLordMovies, Version=17.10.2.1426, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading TimeLordTV, Version=17.10.2.1426, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading MediaBrowser.Plugins.PushBulletNotifications, Version=3.1.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading MediaBrowser.Api, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading MediaBrowser.WebDashboard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading MediaBrowser.Model, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading MediaBrowser.Common, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading MediaBrowser.Controller, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading MediaBrowser.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading Emby.Photos, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading Emby.Server.Implementations, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading Emby.Server.MediaEncoding, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading Emby.Dlna, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading MediaBrowser.LocalMetadata, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading MediaBrowser.XbmcMetadata, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading Emby.Server.CinemaMode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading Emby.Server.Connect, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading Emby.Server.Sync, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.834 Info App: Loading EmbyServer, Version=3.2.32.12, Culture=neutral, PublicKeyToken=null
2017-10-03 12:13:58.980 Info SqliteUserRepository: Sqlite version: 3.20.1
2017-10-03 12:13:58.981 Info SqliteUserRepository: Sqlite compiler options: COMPILER=gcc-6.3.0,ENABLE_COLUMN_METADATA,ENABLE_DBSTAT_VTAB,ENABLE_FTS3,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS3_TOKENIZER,ENABLE_FTS5,ENABLE_JSON1,ENABLE_PREUPDATE_HOOK,ENABLE_RTREE,ENABLE_SESSION,ENABLE_UNLOCK_NOTIFY,ENABLE_UPDATE_DELETE_LIMIT,LIKE_DOESNT_MATCH_BLOBS,MAX_SCHEMA_RETRY=25,MAX_VARIABLE_NUMBER=250000,OMIT_LOOKASIDE,SECURE_DELETE,THREADSAFE=1
2017-10-03 12:13:59.006 Info SqliteUserRepository: Default journal_mode for /home/emby/data/users.db is wal
2017-10-03 12:13:59.009 Info SqliteUserRepository: PRAGMA synchronous=1
2017-10-03 12:13:59.019 Info AuthenticationRepository: Default journal_mode for /home/emby/data/authentication.db is wal
2017-10-03 12:13:59.019 Info AuthenticationRepository: PRAGMA synchronous=1
2017-10-03 12:13:59.075 Info SharingRepository: Default journal_mode for /home/emby/data/shares.db is wal
2017-10-03 12:13:59.075 Info SharingRepository: PRAGMA synchronous=1
2017-10-03 12:13:59.077 Info ActivityRepository: Default journal_mode for /home/emby/data/activitylog.db is wal
2017-10-03 12:13:59.077 Info ActivityRepository: PRAGMA synchronous=1
2017-10-03 12:13:59.079 Info SqliteDisplayPreferencesRepository: Default journal_mode for /home/emby/data/displaypreferences.db is wal
2017-10-03 12:13:59.079 Info SqliteDisplayPreferencesRepository: PRAGMA synchronous=1
2017-10-03 12:13:59.081 Info SqliteItemRepository: Default journal_mode for /home/emby/data/library.db is wal
2017-10-03 12:13:59.081 Info SqliteItemRepository: PRAGMA synchronous=1
2017-10-03 12:13:59.106 Info SqliteNotificationsRepository: Default journal_mode for /home/emby/data/notifications.db is wal
2017-10-03 12:13:59.106 Info SqliteNotificationsRepository: PRAGMA synchronous=1
2017-10-03 12:13:59.281 Info App: Emby.Kodi.SyncQueue IS NOW STARTING!!!
2017-10-03 12:13:59.282 Info App: Emby.Kodi.SyncQueue: Creating DB Repository...
2017-10-03 12:13:59.390 Info App: Emby.Kodi.SyncQueue:  SyncAPI Created and Listening at "/Emby.Kodi.SyncQueue/{UserID}/{LastUpdateDT}/GetItems?format=json" - {LastUpdateDT} must be a UTC DateTime formatted as yyyy-MM-ddTHH:mm:ssZ
2017-10-03 12:13:59.390 Info App: Emby.Kodi.SyncQueue:  SyncAPI Created and Listening at "/Emby.Kodi.SyncQueue/{UserID}/GetItems?LastUpdateDT={LastUpdateDT}&format=json" - {LastUpdateDT} must be a UTC DateTime formatted as yyyy-MM-ddTHH:mm:ssZ
2017-10-03 12:13:59.390 Info App: Emby.Kodi.SyncQueue:  The following parameters also exist to filter the results:
2017-10-03 12:13:59.390 Info App: Emby.Kodi.SyncQueue:  filter=movies,tvshows,music,musicvideos,boxsets

and the error:

System.AggregateException: One or more errors occurred. (One or more errors occurred. (Address already in use)) ---> System.AggregateException: One or more errors occurred. (Address already in use) ---> System.Net.Sockets.SocketException: Address already in use
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at SocketHttpListener.Net.EndPointListener.CreateSocket()
   at SocketHttpListener.Net.EndPointManager.<GetEPListener>d__6.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at SocketHttpListener.Net.EndPointManager.AddPrefixInternal(ILogger logger, String p, HttpListener listener)
   at SocketHttpListener.Net.EndPointManager.AddListener(ILogger logger, HttpListener listener)
   at SocketHttpListener.Net.HttpListener.Start()
   at Emby.Server.Implementations.ServerManager.ServerManager.ReloadHttpServer(String[] urlPrefixes)
   at Emby.Server.Implementations.ApplicationHost.StartServer()
   at Emby.Server.Implementations.ApplicationHost.FindParts()
   at Emby.Server.Implementations.ApplicationHost.<Init>d__292.MoveNext()
   --- End of inner exception stack trace ---
   at System.ThrowHelper.ThrowAggregateException(List`1 exceptions)
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at EmbyServer.Program.RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, IEnvironmentInfo environmentInfo, StartupOptions options)
   at EmbyServer.Program.Main(String[] args)
---> (Inner Exception #0) System.AggregateException: One or more errors occurred. (Address already in use) ---> System.Net.Sockets.SocketException: Address already in use
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at SocketHttpListener.Net.EndPointListener.CreateSocket()
   at SocketHttpListener.Net.EndPointManager.<GetEPListener>d__6.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at SocketHttpListener.Net.EndPointManager.AddPrefixInternal(ILogger logger, String p, HttpListener listener)
   at SocketHttpListener.Net.EndPointManager.AddListener(ILogger logger, HttpListener listener)
   at SocketHttpListener.Net.HttpListener.Start()
   at Emby.Server.Implementations.ServerManager.ServerManager.ReloadHttpServer(String[] urlPrefixes)
   at Emby.Server.Implementations.ApplicationHost.StartServer()
   at Emby.Server.Implementations.ApplicationHost.FindParts()
   at Emby.Server.Implementations.ApplicationHost.<Init>d__292.MoveNext()
---> (Inner Exception #0) System.Net.Sockets.SocketException (0x80004005): Address already in use
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at SocketHttpListener.Net.EndPointListener.CreateSocket()
   at SocketHttpListener.Net.EndPointManager.<GetEPListener>d__6.MoveNext()<---
<---
System.AggregateException
   at System.ThrowHelper.ThrowAggregateException(List`1 exceptions)
   at System.Threading.Tasks.Task.WaitAll(Task[] tasks, Int32 millisecondsTimeout, CancellationToken cancellationToken)
   at EmbyServer.Program.RunApplication(ServerApplicationPaths appPaths, ILogManager logManager, IEnvironmentInfo environmentInfo, StartupOptions options)
   at EmbyServer.Program.Main(String[] args)
InnerException: System.AggregateException
System.AggregateException: One or more errors occurred. (Address already in use) ---> System.Net.Sockets.SocketException: Address already in use
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at SocketHttpListener.Net.EndPointListener.CreateSocket()
   at SocketHttpListener.Net.EndPointManager.<GetEPListener>d__6.MoveNext()
   --- End of inner exception stack trace ---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at SocketHttpListener.Net.EndPointManager.AddPrefixInternal(ILogger logger, String p, HttpListener listener)
   at SocketHttpListener.Net.EndPointManager.AddListener(ILogger logger, HttpListener listener)
   at SocketHttpListener.Net.HttpListener.Start()
   at Emby.Server.Implementations.ServerManager.ServerManager.ReloadHttpServer(String[] urlPrefixes)
   at Emby.Server.Implementations.ApplicationHost.StartServer()
   at Emby.Server.Implementations.ApplicationHost.FindParts()
   at Emby.Server.Implementations.ApplicationHost.<Init>d__292.MoveNext()
---> (Inner Exception #0) System.Net.Sockets.SocketException (0x80004005): Address already in use
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at SocketHttpListener.Net.EndPointListener.CreateSocket()
   at SocketHttpListener.Net.EndPointManager.<GetEPListener>d__6.MoveNext()<---
   at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
   at SocketHttpListener.Net.EndPointManager.AddPrefixInternal(ILogger logger, String p, HttpListener listener)
   at SocketHttpListener.Net.EndPointManager.AddListener(ILogger logger, HttpListener listener)
   at SocketHttpListener.Net.HttpListener.Start()
   at Emby.Server.Implementations.ServerManager.ServerManager.ReloadHttpServer(String[] urlPrefixes)
   at Emby.Server.Implementations.ApplicationHost.StartServer()
   at Emby.Server.Implementations.ApplicationHost.FindParts()
   at Emby.Server.Implementations.ApplicationHost.<Init>d__292.MoveNext()
InnerException: System.Net.Sockets.SocketException
System.Net.Sockets.SocketException (0x80004005): Address already in use
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at SocketHttpListener.Net.EndPointListener.CreateSocket()
   at SocketHttpListener.Net.EndPointManager.<GetEPListener>d__6.MoveNext()
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at SocketHttpListener.Net.EndPointListener.CreateSocket()
   at SocketHttpListener.Net.EndPointManager.<GetEPListener>d__6.MoveNext()

Hope that helps! Also just in case updated to your latest package (.14) in the first post to see if it might be fixed and still got the same error.

Edited by sectune
Link to comment
Share on other sites

Thanks. After shutting down you need to give it a little time before starting up again.

Link to comment
Share on other sites

peanutismint

Hey Luke, really glad you guys are working on this again. 

 

I have a QNAP TS-231 with an ARM Cortex v7 processor. Just wondering whether you have any plans to offer a build of Emby that will work with ARM CPUs? I know you've done it in the past but I'd love to give this latest one a try. 

Link to comment
Share on other sites

@@Luke I did notice that the plugins don't show up to install.  But otherwise, it has worked perfectly.  Just letting you know.

 

Ensure your server has an active internet connection and that nothing is preventing access to mb3admin.com.

Link to comment
Share on other sites

raven-au

Hi all,

 

I have installed the package here on my TS-433 Pro (currently 3.2.32.14) and have been using it a few days.

 

The hardware transcoding is very effective in the release, it's actually viable for me to make a 1080p movie transcode if it isn't working quite right now.

 

I have noticed the restart problem, it's worth more investigation. If you have access to the socket open call you should be able to use specific flags to avoid this, unfortunately I can't remember now what those flags need to be, sorry.

 

I have also noticed two zombie ffmpeg processes are always created when the server is started. But I don't see zombies created after transcoding with ffmpeg so something is happening whereby the server is not reaping these processes when it starts, also worth investigating but not a serious problem.

 

Another thing I have noticed when direct playing movies (1080p) is the audio breaks up a little every minute or two for a few seconds. I don't see this when the movie is transcoded. It is hard to tell if the problem exists with my 720p and 576p TV shows but I think I heard it briefly last night on a 720p show (so perhaps it is bit rate related).

 

I see this with the Android TV client on a Sony KD-55X8500C, the audio tracks being used on my movies and TV shows are DD 5.1 @ 448k (including the SD TV Shows) which works with the Sony TV.

 

I can't say if this happens with the AppleTV 4. Before a recent tvOS update it would normally transcode shows but I saw last night it was direct streaming, also different to the direct playing of shows on the Sony.

 

Other than this the package is working well.

 

Ian

Edited by raven-au
Link to comment
Share on other sites

raven-au

Hi all,

 

I have installed the package here on my TS-433 Pro (currently 3.2.32.14) and have been using it a few days.

 

Oops!

 

That's TS-453 Pro.

Link to comment
Share on other sites

sectune

One more minor issue I have: when I am logged in inside emby, hitting f5/browser refresh page button brings up the log-in page for me. In former packages I did not experience such behaviour as emby server recognized correctly the active session (yes I checked the remember me tickbox - has no effect). Not sure if it has something to do with it, but I have hidden my user from the user list and have to manually log-in, just in case you would need to reproduce this issue.

 

Thank you!

Link to comment
Share on other sites

peanutismint

Thanks for the feedback !

 

Not sure if you saw my post but any plans on Emby for QNAP NASs with ARM processors?? I'd love to test it out. 

Link to comment
Share on other sites

One more minor issue I have: when I am logged in inside emby, hitting f5/browser refresh page button brings up the log-in page for me. In former packages I did not experience such behaviour as emby server recognized correctly the active session (yes I checked the remember me tickbox - has no effect). Not sure if it has something to do with it, but I have hidden my user from the user list and have to manually log-in, just in case you would need to reproduce this issue.

 

Thank you!

 

Make sure browsing data isn't being cleared for whatever reason.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...