Jump to content

Unable to register with API sync


stuartma

Recommended Posts

stuartma

I've started having a problem with my Emby 3.2.26.0 - I can't say 100% it started in 3.2.26.0 but that the version I have installed when when I first noticed

 

I can no longer get my python sync script (source is available on GitHub) to register with Emby as a sync destination. I don't get any error messages, but when I try and use the WebUI to sync any media I just get told I have no sync providers installed and am directed to install FolderSync.

 

I'm posting the following JSON to "http://10.1.1.1:8096/emby/Sessions/Capabilities/Full"

{"PlayableMediaTypes":["Audio","Video"],"SupportsPersistentIdentifier":true,"SupportsMediaControl":false,"SupportsOfflineAccess":true,"SupportsSync":true,"SupportsContentUploading":false,"DeviceProfile":{"MaxStreamingBitrate":176551724,"MaxStaticBitrate":100000000,"MusicStreamingTranscodingBitrate":192000,"DirectPlayProfiles":[{"Container":"mp4,m4v","Type":"Video","VideoCodec":"h264","AudioCodec":"mp3,aac"},{"Container":"mkv","Type":"Video","VideoCodec":"h264","AudioCodec":"mp3,aac"},{"Container":"mov","Type":"Video","VideoCodec":"h264","AudioCodec":"mp3,aac"},{"Container":"opus","Type":"Audio"},{"Container":"mp3","Type":"Audio"},{"Container":"aac","Type":"Audio"},{"Container":"m4a","AudioCodec":"aac","Type":"Audio"},{"Container":"webma,webm","Type":"Audio"},{"Container":"wav","Type":"Audio"},{"Container":"webm","Type":"Video"},{"Container":"m4v,3gp,ts,mpegts,mov,xvid,vob,mkv,wmv,asf,ogm,ogv,m2v,avi,mpg,mpeg,mp4,webm,wtv","Type":"Video","AudioCodec":"aac,aac_latm,mp2,mp3,ac3,wma,dca,dts,pcm,PCM_S16LE,PCM_S24LE,opus,flac"},{"Container":"aac,mp3,mpa,wav,wma,mp2,ogg,oga,webma,ape,opus,flac,m4a","Type":"Audio"}],"TranscodingProfiles":[{"Container":"opus","Type":"Audio","AudioCodec":"opus","Context":"Streaming","Protocol":"http","MaxAudioChannels":"2"},{"Container":"opus","Type":"Audio","AudioCodec":"opus","Context":"Static","Protocol":"http","MaxAudioChannels":"2"},{"Container":"mp3","Type":"Audio","AudioCodec":"mp3","Context":"Streaming","Protocol":"http","MaxAudioChannels":"2"},{"Container":"mp3","Type":"Audio","AudioCodec":"mp3","Context":"Static","Protocol":"http","MaxAudioChannels":"2"},{"Container":"aac","Type":"Audio","AudioCodec":"aac","Context":"Streaming","Protocol":"http","MaxAudioChannels":"2"},{"Container":"aac","Type":"Audio","AudioCodec":"aac","Context":"Static","Protocol":"http","MaxAudioChannels":"2"},{"Container":"wav","Type":"Audio","AudioCodec":"wav","Context":"Streaming","Protocol":"http","MaxAudioChannels":"2"},{"Container":"wav","Type":"Audio","AudioCodec":"wav","Context":"Static","Protocol":"http","MaxAudioChannels":"2"},{"Container":"mkv","Type":"Video","AudioCodec":"mp3,aac,ac3","VideoCodec":"h264","Context":"Streaming","MaxAudioChannels":"2","CopyTimestamps":false},{"Container":"ts","Type":"Video","AudioCodec":"aac,mp3,ac3","VideoCodec":"h264","Context":"Streaming","Protocol":"hls","MaxAudioChannels":"2","EnableSplittingOnNonKeyFrames":false},{"Container":"webm","Type":"Video","AudioCodec":"vorbis","VideoCodec":"vpx","Context":"Streaming","Protocol":"http","MaxAudioChannels":"2"},{"Container":"mp4","Type":"Video","AudioCodec":"mp3,aac,ac3","VideoCodec":"h264","Context":"Streaming","Protocol":"http","MaxAudioChannels":"2"},{"Container":"mp4","Type":"Video","AudioCodec":"mp3,aac,ac3","VideoCodec":"h264","Context":"Static","Protocol":"http"}],"ContainerProfiles":[],"CodecProfiles":[{"Type":"Video","Container":"avi","Conditions":[{"Condition":"NotEqual","Property":"CodecTag","Value":"xvid"}]},{"Type":"Video","Codec":"h264","Conditions":[{"Condition":"EqualsAny","Property":"VideoProfile","Value":"high|main|baseline|constrained baseline"},{"Condition":"LessThanEqual","Property":"VideoLevel","Value":"41"}]},{"Type":"Audio","Conditions":[{"Condition":"LessThanEqual","Property":"AudioChannels","Value":"2"}]}],"SubtitleProfiles":[{"Format":"srt","Method":"External"},{"Format":"ssa","Method":"External"},{"Format":"ass","Method":"External"},{"Format":"srt","Method":"Embed"},{"Format":"subrip","Method":"Embed"},{"Format":"ass","Method":"Embed"},{"Format":"ssa","Method":"Embed"},{"Format":"dvb_teletext","Method":"Embed"},{"Format":"dvb_subtitle","Method":"Embed"},{"Format":"dvbsub","Method":"Embed"},{"Format":"pgs","Method":"Embed"},{"Format":"pgssub","Method":"Embed"},{"Format":"dvdsub","Method":"Embed"},{"Format":"vtt","Method":"Embed"},{"Format":"sub","Method":"Embed"},{"Format":"idx","Method":"Embed"},{"Format":"smi","Method":"Embed"}],"ResponseProfiles":[{"Type":"Video","Container":"m4v","MimeType":"video/mp4"},{"Type":"Video","Container":"mov","MimeType":"video/webm"}],"MaxStaticMusicBitrate":null}}

Has there been any changes to the way syncing works in the Emby Web UI, or have I done something wrong?

Link to comment
Share on other sites

stuartma
As quick update I've done some more searching.

 

Using both the Android and Windows 10 app's I can't get ether of these to appear as sync destinations ether - but both sync fine if the download is setup from the client.

 

I also ran a WireShark to see what the Windows 10 app is sending to /emby/Sessions/Capabilities/Full and can't see any major differences between what it is POSTing and the JSON I used above.

 

Any help or advice anyone can would be much appreciated

Link to comment
Share on other sites

Hi.  All syncing is now initiated from the device receiving the synced content.

 

That was just a much clearer and cleaner way of doing it and ensures that the sync process is available and ready to go.

  • Like 1
Link to comment
Share on other sites

perfect thank you @@ebr

 

I'd better head back to the drawing board an update my script 

 

It's not much different internally, it just means that downloads have to be initiated by the app itself. With mobile devices nowadays and all of their power savings features, if you initiate from elsewhere, then we can't guarantee it will start immediately, we can only guarantee that it will download sometime in the future. We've been pounded into submission with reports of "not working" and "i want it now", and this has forced us to adjust.

Link to comment
Share on other sites

stuartma

That okay @@Luke, the change does make sense. Just means I'll have to write some way for the script to get the correct Id numbers and create sync jobs

 

So far my testing of what I've thrown together seems to be working already

Link to comment
Share on other sites

Thanks and just be aware as one of the few known non-emby consumers of the sync api, a lot of these api's were written before the features actually matured in the UI, and now that we're finally getting to the UI we are seeing where the api needs to evolve. So over time it will change a little, and move in the direction of being more app-managed than server managed.

Link to comment
Share on other sites

stuartma

As long as I know what the changes are I can work on them. 

 

As long as I can do what i need in the UI. If things move to plugin interface I'll struggle since I'm not a .NET programer

Link to comment
Share on other sites

stuartma

Incase anyone comes look. I'm all done. Could of hours work the scripts working again - but I still need to document it

 

@@Luke The reason I'm having to script my syncing is because I'm syncing files to an external hard drive. I created a portable Kodi system for when I'm away on holiday and wanted to sync media, and since I can't be sure where I'm going has good internet sync all the supporting thumbs and NFO details too

Link to comment
Share on other sites

  • 2 months later...
stuartma

I've just notices the web UI in my chrome browser is letting me sync media to other devices again. Has this feature been reinstated?

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...