Jump to content

PlayingItems API changes + small bug


Tolriq

Recommended Posts

Tolriq

Opening a new post here to discuss as it might touch others @Luke

So for the PlayingItems now always requiring a PlaySessionId what is the proper way to generate a session ID when playing from cache so that the user can see the current playback state in the console even if the file is not played from the server?

And a small bug we discussed earlier and you said I should try again in 4.8 but can't find were :(

When we start a transcoding session, if the first call to PlayingItems happens after the transcoding is ended then it will fail and the PlaySessionId becomes invalid.

This happen if the transcoding is ultra fast but network is slow to buffer enough for playback to start immediately, or when we pre start the transcoding to ensure gapless playback.

The gapless usage means that I can't cheat and send a fake event play with paused since the second media is prepared in advanced but not played yet.

 

Link to comment
Share on other sites

Tolriq

It also seems that we can not have multiple PlaySessionId for the same user on the same device ?

The moment I start a new session to pre load the next item, the dashboard stop showing the previous session despite sending /PlayingItems POST.

Link to comment
Share on other sites

7 minutes ago, Tolriq said:

It also seems that we can not have multiple PlaySessionId for the same user on the same device ?

The moment I start a new session to pre load the next item, the dashboard stop showing the previous session despite sending /PlayingItems POST.

You can. The server dashboard only displays one per device but on the back end there can be multiple.

Link to comment
Share on other sites

Tolriq
12 hours ago, Luke said:

You can. The server dashboard only displays one per device but on the back end there can be multiple.

Well that's the point it does not behave like that. When the pre cache start the dashboard shows nothing current item disappear despite sending events and there's not the new one shown either. Then when I push events with the new PlaySessionId it sometimes display the new item playing or sometimes the previous one.

And still wondering what is the proper official way to play from a playback cache but still show a session in the dashboard to please the users.

 

The resume point / playcounts and everything works, it's really just display issues in the dashboard.

Edit: When sending the DELETE after the session disappeared from the dashboard server returns :

V  --> [940] DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044&PlaySessionId=3e163850cd7841d385c06400cb3ff5ac (49-byte body)
V  --> [940] {"PositionTicks":0,"PlayMethod":"","IsPaused":""}
V  <-- [940] 500 Internal Server Error http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044&PlaySessionId=3e163850cd7841d385c06400cb3ff5ac (14ms, 83-byte body)
V  <-- [940] Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).

There's definitively something not working in 4.8.1.0 about multiple sessions.

 

Edited by Tolriq
  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...
Quote

When we start a transcoding session, if the first call to PlayingItems happens after the transcoding is ended then it will fail and the PlaySessionId becomes invalid.

@TolriqI cannot reproduce this with transcoded audio or video, using the emby web app for testing. Are you sure about this one? I might need to see a server log.  Was it at least 4.8.1 that you tested with?

Link to comment
Share on other sites

Quote

So for the PlayingItems now always requiring a PlaySessionId what is the proper way to generate a session ID when playing from cache so that the user can see the current playback state in the console even if the file is not played from the server?

Two part answer for this. The PlaySessionId is only used to tie progress reports to streams together. You can generate your own value for music playback, and in fact, Emby apps do this. I would suggest generating a numeric value based on time of day.

The important is just to make sure it's the same for all your progress reports when playing that file during that user session.

Link to comment
Share on other sites

The second part of my answer, is more of just an FYI. Emby apps don't use /playbackinfo for audio because the http request required takes time, which can cause a gap between playback.

So if you want to use our universal audio api then I can help you do that. Essentially you put everything you support onto the query string and the server will figure out what to send back. (e.g. direct play vs hls). so you have to be able to handle that variability but it allows you to avoid the request.

So this is where Emby apps generate their own audio playSessionId and attach it to the universal audio url. Then the progress reports make sure to use the same value.

Link to comment
Share on other sites

Tolriq
8 hours ago, Luke said:

I cannot reproduce this with transcoded audio or video, using the emby web app for testing. Are you sure about this one? I might need to see a server log.  Was it at least 4.8.1 that you tested with?

Yes it was 4.8.1 and I workarounded that by sending a ping just after the start, but it seems it works in 4.8.3 now even without the ping.

playbackinfo is not an issue for gapless, even if you just start the transcoding session you still need to do it before the end of the previous media for real gapless. and this returns all the necessary info for PlaybackStopInfo to call /Sessions/Playing/Stopped and ensure proper cleanup. I guess some users can still have some cases of LiveStreamId for music.

I'll test sending fake sessionId for cached media but the main issue is still present in 4.8.3 see server logs below.

1) I start a media, so playback info, stream, post status.

2) At some point enough of the current media is buffered, so the player prepare the next media with a playbackinfo call

3) The current media disappear from the dashboard. (Probably because SessionManager: Adding playSession 8b6b81b732ee4d059d19d54e06539d2c to session 0a5e113308a3910c9b62cddd56c6e6a3)

4) When the media end the stop command fails

5) the new media start to report and is visible on dashboard.

 

I suppose not using PlaybackInfo would solve this, but ExoPlayer needs to know before hand if it's hls or not.

2024-03-02 08:53:04.181 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/160044/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:53:04.181 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-03-02 08:53:04.181 Info App: Bitrate exceeds DirectStream limit: media bitrate: 2044143, max bitrate: 160000
2024-03-02 08:53:04.181 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 2044143, max bitrate: 160000
2024-03-02 08:53:04.181 Info App: Bitrate exceeds DirectStream limit: media bitrate: 2044143, max bitrate: 160000
2024-03-02 08:53:04.181 Info SessionManager: Adding playSession cfd9858fae9d4131bbf56009ce9b19bf to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-03-02 08:53:04.181 Info Server: http/1.1 Response 200 to host1. Time: 1ms. POST http://192.168.1.80:8096/Items/160044/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000
2024-03-02 08:53:04.206 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/160044/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=53f953864f6c502baac55315487d9e3d&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf&api_key=x_secret5_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Accept=*/*, Connection=close, Host=host2, User-Agent=Lavf/60.3.100, Range=bytes=0-, Icy-MetaData=1
2024-03-02 08:53:04.216 Info App: ProcessRun 'StreamTranscode b9cf0c' Execute: C:\Prog\Emby\system\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Prog\Emby\logs\ffmpeg-transcode-b9cf0c6e-1096-4f61-89ae-94b49c2b64cf_1graph.txt" -f flac -c:v:0 mjpeg -i "\\server\music\Classical\Einaudi, Ludovico\Seven Days Walking (2019 - Decca Records)\101 Low Mist (var 1).flac" -map 0:0 -vn -sn -c:a:0 libopus -ab:a:0 160000 -ac:a:0 2 "C:\Prog\Emby\transcoding-temp\32BADC\32BADC.ogg"
2024-03-02 08:53:05.188 Info App: AppendExtraLogData - Read graph file: C:\Prog\Emby\logs\ffmpeg-transcode-b9cf0c6e-1096-4f61-89ae-94b49c2b64cf_1graph.txt
2024-03-02 08:53:05.189 Info App: AppendExtraLogData - Deserialized GraphData fileStream: 5,913.000 bytes Graph Count: 1
2024-03-02 08:53:05.189 Info App: AppendExtraLogData - File Deleted
2024-03-02 08:53:05.189 Info App: ProcessRun 'StreamTranscode b9cf0c' Process exited with code 0 - Succeeded
2024-03-02 08:53:05.376 Info Server: http/1.1 Response 200 to host1. Time: 1170ms. GET http://192.168.1.80:8096/audio/160044/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=53f953864f6c502baac55315487d9e3d&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf&api_key=x_secret5_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-03-02 08:53:05.529 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/160044/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=53f953864f6c502baac55315487d9e3d&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf&api_key=x_secret5_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Connection=keep-alive, Host=host2, User-Agent=Symfonium/9.1.0B1 (Linux;Android 14), Accept-Encoding=identity, Icy-MetaData=1, X-MediaBrowser-Token=4c630dd4d5fe41a0a5169eaa2d7644ff, X-Emby-Authorization=MediaBrowser Client="Android", Device="Google Pixel 6 Pro", DeviceId="6CD5513EAB54D9DCCC60D70E7B25E44B", Version="14"
2024-03-02 08:53:05.601 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044?PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:53:05.602 Info SessionManager: Playback start reported by app Android 14 playing Low Mist (var 1). Started at unknown ms
2024-03-02 08:53:05.607 Info Server: http/1.1 Response 204 to host1. Time: 6ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044?PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf
2024-03-02 08:53:05.649 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:53:05.649 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf
2024-03-02 08:53:07.101 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=10000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:53:07.103 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=10000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf
2024-03-02 08:53:07.806 Info Server: http/1.1 Response 200 to host1. Time: 2277ms. GET http://192.168.1.80:8096/audio/160044/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=53f953864f6c502baac55315487d9e3d&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf&api_key=x_secret5_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-03-02 08:53:37.908 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=320000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:53:37.908 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=320000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf
2024-03-02 08:53:44.626 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/160045/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:53:44.627 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-03-02 08:53:44.627 Info App: Bitrate exceeds DirectStream limit: media bitrate: 1993318, max bitrate: 160000
2024-03-02 08:53:44.627 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 1993318, max bitrate: 160000
2024-03-02 08:53:44.627 Info App: Bitrate exceeds DirectStream limit: media bitrate: 1993318, max bitrate: 160000
2024-03-02 08:53:44.627 Info SessionManager: Adding playSession 8b6b81b732ee4d059d19d54e06539d2c to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-03-02 08:53:44.627 Info Server: http/1.1 Response 200 to host1. Time: 1ms. POST http://192.168.1.80:8096/Items/160045/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000
2024-03-02 08:53:44.661 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/160045/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=098d16cd680dad6085969f7885135eca&PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c&api_key=x_secret5_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Accept=*/*, Connection=close, Host=host2, User-Agent=Lavf/60.3.100, Range=bytes=0-, Icy-MetaData=1
2024-03-02 08:53:44.663 Info App: ProcessRun 'StreamTranscode a2e87b' Execute: C:\Prog\Emby\system\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Prog\Emby\logs\ffmpeg-transcode-a2e87bbd-0773-40ab-9503-6d29bc791f6d_1graph.txt" -f flac -c:v:0 mjpeg -i "\\server\music\Classical\Einaudi, Ludovico\Seven Days Walking (2019 - Decca Records)\102 Low Mist.flac" -map 0:0 -vn -sn -c:a:0 libopus -ab:a:0 160000 -ac:a:0 2 "C:\Prog\Emby\transcoding-temp\03D0A1\03D0A1.ogg"
2024-03-02 08:53:45.818 Info Server: http/1.1 Response 200 to host1. Time: 1157ms. GET http://192.168.1.80:8096/audio/160045/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=098d16cd680dad6085969f7885135eca&PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c&api_key=x_secret5_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-03-02 08:53:45.967 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/160045/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=098d16cd680dad6085969f7885135eca&PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c&api_key=x_secret5_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Connection=keep-alive, Host=host2, User-Agent=Symfonium/9.1.0B1 (Linux;Android 14), Accept-Encoding=identity, Icy-MetaData=1, X-MediaBrowser-Token=4c630dd4d5fe41a0a5169eaa2d7644ff, X-Emby-Authorization=MediaBrowser Client="Android", Device="Google Pixel 6 Pro", DeviceId="6CD5513EAB54D9DCCC60D70E7B25E44B", Version="14"
2024-03-02 08:53:46.043 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/160045/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=098d16cd680dad6085969f7885135eca&PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c&api_key=x_secret5_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Connection=keep-alive, Host=host2, User-Agent=Symfonium/9.1.0B1 (Linux;Android 14), Accept-Encoding=identity, Icy-MetaData=1, X-MediaBrowser-Token=4c630dd4d5fe41a0a5169eaa2d7644ff, X-Emby-Authorization=MediaBrowser Client="Android", Device="Google Pixel 6 Pro", DeviceId="6CD5513EAB54D9DCCC60D70E7B25E44B", Version="14"
2024-03-02 08:53:46.123 Info Server: http/1.1 Response 200 to host1. Time: 156ms. GET http://192.168.1.80:8096/audio/160045/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=098d16cd680dad6085969f7885135eca&PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c&api_key=x_secret5_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-03-02 08:53:46.612 Info App: AppendExtraLogData - Read graph file: C:\Prog\Emby\logs\ffmpeg-transcode-a2e87bbd-0773-40ab-9503-6d29bc791f6d_1graph.txt
2024-03-02 08:53:46.612 Info App: AppendExtraLogData - Deserialized GraphData fileStream: 5,913.000 bytes Graph Count: 1
2024-03-02 08:53:46.612 Info App: AppendExtraLogData - File Deleted
2024-03-02 08:53:46.613 Info App: ProcessRun 'StreamTranscode a2e87b' Process exited with code 0 - Succeeded
2024-03-02 08:54:09.463 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=630000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:54:09.464 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=630000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf
2024-03-02 08:54:38.332 Info Server: http/1.1 Response 200 to host1. Time: 52289ms. GET http://192.168.1.80:8096/audio/160045/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=098d16cd680dad6085969f7885135eca&PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c&api_key=x_secret5_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-03-02 08:54:40.246 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=940000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:54:40.246 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=940000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf
2024-03-02 08:55:11.045 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=1250000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:11.046 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=1250000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf
2024-03-02 08:55:35.028 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Stopped. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:35.029 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing Low Mist (var 1). Stopped at 0 ms
2024-03-02 08:55:35.029 Info SessionManager: Removing playSession cfd9858fae9d4131bbf56009ce9b19bf from session 0a5e113308a3910c9b62cddd56c6e6a3
2024-03-02 08:55:35.029 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Sessions/Playing/Stopped
2024-03-02 08:55:35.049 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:35.049 Info SessionManager: Adding playSession cfd9858fae9d4131bbf56009ce9b19bf to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-03-02 08:55:35.051 Info Server: http/1.1 Response 204 to host1. Time: 2ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf
2024-03-02 08:55:35.081 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayedItems/160044?datePlayed=20240302075534. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:35.082 Info Server: http/1.1 Response 200 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayedItems/160044?datePlayed=20240302075534
2024-03-02 08:55:35.093 Info Server: http/1.1 DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:35.093 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing unknown item. Stopped at 0 ms
2024-03-02 08:55:35.093 Info Server: http/1.1 Response 204 to host1. Time: 0ms. DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044
2024-03-02 08:55:36.527 Info Server: http/1.1 DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:36.528 Error Server: Error processing request
	*** Error Report ***
	Version: 4.8.3.0
	Command line: C:\Prog\Emby\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows 10.0.22631
	Framework: .NET 6.0.27
	OS/Process: x64/x64
	Runtime: C:/Prog/Emby/system/System.Private.CoreLib.dll
	Processor count: 32
	Data path: C:\Prog\Emby
	Application path: C:\Prog\Emby\system
	System.FormatException: System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
	   at System.Guid.GuidResult.SetFailure(Boolean overflow, String failureMessageID)
	   at System.Guid.TryParseExactN(ReadOnlySpan`1 guidString, GuidResult& result)
	   at System.Guid.TryParseGuid(ReadOnlySpan`1 guidString, GuidResult& result)
	   at Emby.Server.Implementations.Library.LibraryManager.GetInternalId(ReadOnlySpan`1 id)
	   at Emby.Server.Implementations.Library.LibraryManager.GetInternalId(String id)
	   at Emby.Server.Implementations.Session.SessionManager.OnPlaybackStopped(PlaybackStopInfo info, SessionInfo session, PlaySessionInfo playSessionInfo)
	   at Emby.Server.MediaEncoding.Api.PlaystateService.Post(ReportPlaybackStopped request)
	   at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task)
	   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, IStreamHelper streamHelper, RestPath restPath, String responseContentType, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken)
	Source: System.Private.CoreLib
	TargetSite: Void SetFailure(Boolean, System.String)
	
2024-03-02 08:55:36.528 Info Server: http/1.1 Response 500 to host1. Time: 1ms. DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044&PlaySessionId=cfd9858fae9d4131bbf56009ce9b19bf
2024-03-02 08:55:36.541 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160045?PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:36.541 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160045?PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:36.542 Info SessionManager: Playback start reported by app Android 14 playing Low Mist. Started at unknown ms
2024-03-02 08:55:36.542 Info SessionManager: Playback start reported by app Android 14 playing Low Mist. Started at unknown ms
2024-03-02 08:55:36.562 Info Server: http/1.1 Response 204 to host1. Time: 21ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160045?PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c
2024-03-02 08:55:36.562 Info Server: http/1.1 Response 204 to host1. Time: 21ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160045?PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c
2024-03-02 08:55:36.589 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160045/Progress?PositionTicks=10000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:36.589 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160045/Progress?PositionTicks=10000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c
2024-03-02 08:55:52.154 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160045/Progress?PositionTicks=160000000&PlayMethod=Transcode&IsPaused=True&PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:52.155 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160045/Progress?PositionTicks=160000000&PlayMethod=Transcode&IsPaused=True&PlaySessionId=8b6b81b732ee4d059d19d54e06539d2c
2024-03-02 08:55:52.222 Info Server: http/1.1 DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160045. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:52.223 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing unknown item. Stopped at 16000 ms
2024-03-02 08:55:52.223 Info Server: http/1.1 Response 204 to host1. Time: 0ms. DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160045
2024-03-02 08:55:55.243 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Stopped. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 08:55:55.243 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing Low Mist. Stopped at 0 ms
2024-03-02 08:55:55.243 Info SessionManager: Removing playSession 8b6b81b732ee4d059d19d54e06539d2c from session 0a5e113308a3910c9b62cddd56c6e6a3
2024-03-02 08:55:55.243 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Sessions/Playing/Stopped

 

 

 

Link to comment
Share on other sites

I see two stop commands being sent there. Is there a reason the first one is missing the playSessionId?

2024-03-02 08:55:35.093 Info Server: http/1.1 DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160044. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)

 

Link to comment
Share on other sites

Tolriq

Yes some commands are sent to manually manage the playcounts and resume points according to setting in the app and not the defaults of Emby.

The error did not exist in 4.7 but the main issue is the media disappearing from dashboard way before I send any stop commands. They disappear at the playbackinfo call.

Link to comment
Share on other sites

Tolriq

@LukeWhat happens if I call playbackinfo but ignore the sessionId and replace it with a generated one? Does it keep some stuff inside Emby running?

Link to comment
Share on other sites

8 minutes ago, Tolriq said:

Yes some commands are sent to manually manage the playcounts and resume points according to setting in the app and not the defaults of Emby.

 

What do you mean by this?

Well regardless, you're going to have to put a playSessionId there, especially considering you're transitioning from one play session to another. Without that value what will happen is the server will pick whichever one was more recently accessed, and that may lead to unpredictable results.

Link to comment
Share on other sites

5 minutes ago, Tolriq said:

@LukeWhat happens if I call playbackinfo but ignore the sessionId and replace it with a generated one? Does it keep some stuff inside Emby running?

Any SessionId you pass in to these api's is ignored because the server just gets it from the auth context. 

I think it's probably best that I know what your requirements are and then I can tell you what the best approach is and even make changes for you if necessary.

Link to comment
Share on other sites

By the way, you mentioned the server dashboard only showing one of them. That's because the UI and the remote control api's haven't been updated for all of this yet.

But that is the ultimate goal and is what will be happening now that the back-end is equipped for it. So that is why we need these playsessionid values, to allow the server to juggle multiple simultaneous playbacks for a single device.

Link to comment
Share on other sites

Tolriq

The requirements are not that complex.

1) I need to be able to start multiple transcoding sessions without them impacting the current one in the dashboard so the merging of sessions that seems to happens with playbackinfo is an issue for now. This is for gapless playback and queue pre caching. The next media are pre loaded before the current one is finished, and with pre cache the next X media will also be cached on the phone during playback. (As soon as the new playbackinfo call is made the dashboard no more display anything playing, even if the app sends status with previous sessionID)

2) I need to know what it will transcode to, to initialize the player properly for hls, so seems I need the playback info calls.

3) Users want to know what is playing even if I play from the phone cache if the server is available so I need to report start / pause / play and stop of media not prepared or read from the server. (Seems I can with fake sessionIds)

4) I need full control over resume points and playcounts applied to media, so when I stop the session I always send 0 as position, then send other calls to set resume points or not and increase play count or not.

5) I need to be able to manage point 4 for fully offline playbacks too, so without any fake sessionId used.

6) I'd love to be able to handle everything relatively simply and not have tons of different use case depending on offline / online, cached / not cached, transcoding or not, ....

Seems 4 and 5 requires me to move to the offline endpoint you talked about, I still have not fully tested that.

 

4 minutes ago, Luke said:

By the way, you mentioned the server dashboard only showing one of them.

No what I say if that the dashboard displays NOTHING after the second playbackinfo call. So the dashboard is empty while there's media playing and reporting the status. I do not think users care about media being pre transcoded for cache, but they want to see the media that is playing even if there's another session running.

 

And in all cases according to your last comment it's important to be able to differentiate sessions for actual playback from sessions to cache or download media. If a user download a transcoded album, I'm not sure he'd want to see all the media as being played in the dashboard.

Maybe there's a need to have something to identify the pre cache and download sessions so they can be seen in the dashboard and activity logs but as what they are.

 

Link to comment
Share on other sites

Tolriq
Posted (edited)

Did a quick test to always use fake ids, there's still the same problem with playbackinfo merging session and dashboard displaying nothing.

Seems it's even worse as there's always merging of session to a session that was never closed since never used but returned by playbackinfo

That sessionId even persists a server restart.

The ids references in the logs that does not start by fake are never sent by Symfonium, they are only the values returned by playbackinfo

 

2024-03-02 12:02:30.048 Info SessionManager: Adding playSession fake4bfe716801344b208aab2adac0e99a88 to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-03-02 12:02:30.057 Info SessionManager: Playback start reported by app Android 14 playing Low Mist (var 1). Started at unknown ms

2024-03-02 12:02:30.186 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/160044/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 12:02:30.202 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-03-02 12:02:30.204 Info App: Bitrate exceeds DirectStream limit: media bitrate: 2044143, max bitrate: 160000
2024-03-02 12:02:30.205 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 2044143, max bitrate: 160000
2024-03-02 12:02:30.208 Info App: Bitrate exceeds DirectStream limit: media bitrate: 2044143, max bitrate: 160000
2024-03-02 12:02:30.212 Info SessionManager: Adding playSession 4f2e92804d134a33b62a7ff3337a5614 to session 0a5e113308a3910c9b62cddd56c6e6a3

2024-03-02 12:03:10.712 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/160045/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 12:03:10.713 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-03-02 12:03:10.713 Info App: Bitrate exceeds DirectStream limit: media bitrate: 1993318, max bitrate: 160000
2024-03-02 12:03:10.713 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 1993318, max bitrate: 160000
2024-03-02 12:03:10.713 Info App: Bitrate exceeds DirectStream limit: media bitrate: 1993318, max bitrate: 160000
2024-03-02 12:03:10.713 Info SessionManager: Adding playSession 9867273139e34ef0954e2848e695cf44 to session 0a5e113308a3910c9b62cddd56c6e6a3

 

Edit: Playing from cache with fakeIds (So without calling playbackinfo does work).

So the issue is how to stop those session merge

 

Edit2: The merge of sessions also breaks reporting the stop events they are no more seen in the activity log :(

2024-03-02 14:28:08.690 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/160025/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 14:28:08.691 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-03-02 14:28:08.691 Info App: Bitrate exceeds DirectStream limit: media bitrate: 2491120, max bitrate: 160000
2024-03-02 14:28:08.691 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 2491120, max bitrate: 160000
2024-03-02 14:28:08.691 Info App: Bitrate exceeds DirectStream limit: media bitrate: 2491120, max bitrate: 160000
2024-03-02 14:28:08.691 Info SessionManager: Adding playSession 7aafdd7b3ff24df89c5d071bf50e2f31 to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-03-02 14:28:08.691 Info Server: http/1.1 Response 200 to host1. Time: 1ms. POST http://192.168.1.80:8096/Items/160025/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000
2024-03-02 14:28:08.730 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 14:28:08.730 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94
2024-03-02 14:28:08.774 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/160025/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=0d5d2fc2215cb9d215da43c7778c3dd5&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Accept=*/*, Connection=close, Host=host2, User-Agent=Lavf/60.3.100, Range=bytes=0-, Icy-MetaData=1
2024-03-02 14:28:08.780 Info App: ProcessRun 'StreamTranscode 56473d' Execute: C:\Prog\Emby\system\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Prog\Emby\logs\ffmpeg-transcode-56473d3f-136c-4aa0-a397-95ed5272800c_1graph.txt" -f flac -c:v:0 mjpeg -i "\\server\music\Classical\Einaudi, Ludovico\Elements (2015 - Ponderosa Music & Art)\01 Ludovico Einaudi; Daniel Hope - Petricor.flac" -map 0:0 -vn -sn -c:a:0 libopus -ab:a:0 160000 -ac:a:0 2 "C:\Prog\Emby\transcoding-temp\FB04F8\FB04F8.ogg"
2024-03-02 14:28:09.849 Info Server: http/1.1 Response 200 to host1. Time: 1075ms. GET http://192.168.1.80:8096/audio/160025/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=0d5d2fc2215cb9d215da43c7778c3dd5&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-03-02 14:28:10.034 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/160025/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=0d5d2fc2215cb9d215da43c7778c3dd5&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Connection=keep-alive, Host=host2, User-Agent=Symfonium/9.1.0B1 (Linux;Android 14), Accept-Encoding=identity, Icy-MetaData=1, X-MediaBrowser-Token=4c630dd4d5fe41a0a5169eaa2d7644ff, X-Emby-Authorization=MediaBrowser Client="Android", Device="Google Pixel 6 Pro", DeviceId="6CD5513EAB54D9DCCC60D70E7B25E44B", Version="14"
2024-03-02 14:28:10.284 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 14:28:10.284 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94
2024-03-02 14:28:11.537 Info App: AppendExtraLogData - Read graph file: C:\Prog\Emby\logs\ffmpeg-transcode-56473d3f-136c-4aa0-a397-95ed5272800c_1graph.txt
2024-03-02 14:28:11.537 Info App: AppendExtraLogData - Deserialized GraphData fileStream: 5,913.000 bytes Graph Count: 1
2024-03-02 14:28:11.537 Info App: AppendExtraLogData - File Deleted
2024-03-02 14:28:11.537 Info App: ProcessRun 'StreamTranscode 56473d' Process exited with code 0 - Succeeded
2024-03-02 14:28:11.764 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025/Progress?PositionTicks=10000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 14:28:11.765 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025/Progress?PositionTicks=10000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94
2024-03-02 14:28:15.258 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025/Progress?PositionTicks=40000000&PlayMethod=Transcode&IsPaused=True&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 14:28:15.259 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025/Progress?PositionTicks=40000000&PlayMethod=Transcode&IsPaused=True&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94
2024-03-02 14:28:15.338 Info Server: http/1.1 Response 200 to host1. Time: 5304ms. GET http://192.168.1.80:8096/audio/160025/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=0d5d2fc2215cb9d215da43c7778c3dd5&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-03-02 14:28:15.437 Info Server: http/1.1 DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 14:28:15.437 Error Server: Error processing request
	*** Error Report ***
	Version: 4.8.3.0
	Command line: C:\Prog\Emby\system\EmbyServer.dll -noautorunwebapp
	Operating system: Microsoft Windows 10.0.22631
	Framework: .NET 6.0.27
	OS/Process: x64/x64
	Runtime: C:/Prog/Emby/system/System.Private.CoreLib.dll
	Processor count: 32
	Data path: C:\Prog\Emby
	Application path: C:\Prog\Emby\system
	System.FormatException: System.FormatException: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
	   at System.Guid.GuidResult.SetFailure(Boolean overflow, String failureMessageID)
	   at System.Guid.TryParseExactN(ReadOnlySpan`1 guidString, GuidResult& result)
	   at System.Guid.TryParseGuid(ReadOnlySpan`1 guidString, GuidResult& result)
	   at Emby.Server.Implementations.Library.LibraryManager.GetInternalId(ReadOnlySpan`1 id)
	   at Emby.Server.Implementations.Library.LibraryManager.GetInternalId(String id)
	   at Emby.Server.Implementations.Session.SessionManager.OnPlaybackStopped(PlaybackStopInfo info, SessionInfo session, PlaySessionInfo playSessionInfo)
	   at Emby.Server.MediaEncoding.Api.PlaystateService.Post(ReportPlaybackStopped request)
	   at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task)
	   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IServerApplicationHost appHost, IRequest httpReq, IResponse httpRes, IStreamHelper streamHelper, RestPath restPath, String responseContentType, CancellationToken cancellationToken)
	   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken)
	Source: System.Private.CoreLib
	TargetSite: Void SetFailure(Boolean, System.String)
	
2024-03-02 14:28:15.437 Info Server: http/1.1 Response 500 to host1. Time: 1ms. DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94
2024-03-02 14:28:15.460 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Stopped. UserAgent: Symfonium/9.1.0B1 (Linux;Android 14)
2024-03-02 14:28:15.460 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing unknown item. Stopped at 0 ms
2024-03-02 14:28:15.460 Info SessionManager: Removing playSession SYMF742a8f28798c459bb09c0fb98631bb94 from session 0a5e113308a3910c9b62cddd56c6e6a3
2024-03-02 14:28:15.460 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Stopped

 

Edited by Tolriq
Link to comment
Share on other sites

Quote

1) I need to be able to start multiple transcoding sessions without them impacting the current one in the dashboard

Right this is going to happen right now because as I said, that UI screen is not yet built for this. So what I'm saying is, ignore that for the time being.

Everything else we should be able to get squared away though. You're on the right track by making sure to always send a playSessionId.

Link to comment
Share on other sites

I think the issue with this is the url:

DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94

should be:

DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025?PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94

& => ?

Link to comment
Share on other sites

Tolriq
27 minutes ago, Luke said:

I think the issue with this is the url:

DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025&PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94

should be:

DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/160025?PlaySessionId=SYMF742a8f28798c459bb09c0fb98631bb94

& => ?

Oups, thanks. The first part of the url is only generated for the "fork".

So this seems to works with fakeIDs and I do not seem to see any side effect of calling playbackInfo and ignore the sessionId it returns (so replacing it in the transcoding url when necessary).

So now if we ignore the dashboard there's just the proper official manual handling of playcounts / resume points for all cases, in Symfonium to handle all the cases including network issues everything use the same road, online or offline playback and there's settings to define if resumepoint should be set or not with a minimal played duration and configurable min played percentage to set the playcount.

  •  Sending the delete with no posititionticks properly make Emby ignore the play and not set resumepoint or playcount, is this officially supported? Or is there another official way to do that.
  • What are the proper calls to register resume points for offline playback that can be used also for online one, same to register one of more playcount at a given date. Currently still using the POST/DELETE to /PlayedItems without sessionID but while this still works, it's no more supported and I need to migrate probably to the offline endpoint?
  • Is DELETE to /Users/ID/PlayedItems/mediaID the proper official way to remove all playcounts on Emby side?

 

 

Link to comment
Share on other sites

Quote
  •  Sending the delete with no posititionticks properly make Emby ignore the play and not set resumepoint or playcount, is this officially supported? Or is there another official way to do that.

It's not going to ignore the play in this situation and never has. It's going to treat it as if you don't know what the ending position was.

Quote
  •  
  • What are the proper calls to register resume points for offline playback that can be used also for online one, same to register one of more playcount at a given date. Currently still using the POST/DELETE to /PlayedItems without sessionID but while this still works, it's no more supported and I need to migrate probably to the offline endpoint?

For offline playback there won't be any progress reports during playback, and when you come back online, then yes I would suggest the offline actions api that I mentioned earlier.

Link to comment
Share on other sites

Tolriq
3 minutes ago, Luke said:

It's not going to ignore the play in this situation and never has. It's going to treat it as if you don't know what the ending position was.

Well the result is that Emby does not increase the playcount and does not set a resume point so it reach the goal. Goal that I need to achieve when displaying data in the dashboard.

 

4 minutes ago, Luke said:

For offline playback there won't be any progress reports during playback, and when you come back online, then yes I would suggest the offline actions api that I mentioned earlier.

The need a more complex and tied to the control of when and how resume point are set and play counts are increased, online or offline and using the same API calls for both to ensure integrity of data.

Symfonium is an offline first app that needs data integrity and rely a lot on PlayCount/PlayDate to generate personal mixes. The display of the current playback in the dashboard is a bonus for some users that absolutely want it so nice to have but this should not have any impact on the handling of the data.

A media is played online or offline, if necessary the internal Symfonium database update the playcount, playdate and set resume point then send those updates to a queue that will try to sync the action to the server. This ensure that even if online if the call fail due to network issues or anything it will be properly synced later when connected again.

 

So to simplify the needs :

- Be able to display what is playing in the dashboard and have activity log says start / stop of media without automatic generation of playcount or resume point by Emby. (This seems to work now with fakeIds and the delete with no position, but probably needs a better official way.

- Be able to set playcount, playdate and resume point via API calls at any point without requiring sessionId as not tied to actual playback as could have been online or offline.

 

 

 

 

Link to comment
Share on other sites

  • 1 month later...
Quote

Oups, thanks. The first part of the url is only generated for the "fork".

Now that you've made this change, can you please provide a new log example? Thanks.

Link to comment
Share on other sites

Tolriq

Here's logs 

The dashboard shown the song playing then each time the next song was pre cached it disappeared from dashboard (but this time reappeared after the pre cache)

Seeked toward the end the dashboard was showing the media, change of media, the media is no more visible in the dashboard.

The dashboard properly shows the start and end of media

 
TOLRIQ has finished playing ed Sheeran - Drun on Google Pixel 6 Pro
4/19/2024, 8:52:11 AM
 
TOLRIQ is playing ed Sheeran - Drun on Google Pixel 6 Pro
4/19/2024, 8:51:51 AM

 

2024-04-19 08:50:37.086 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413?PlaySessionId=SYMF9f90ffe664f945bb9dc607f7d5dbf160. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:37.087 Info SessionManager: Adding playSession SYMF9f90ffe664f945bb9dc607f7d5dbf160 to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:50:37.090 Info SessionManager: Playback start reported by app Android 14 playing The A Team. Started at unknown ms
2024-04-19 08:50:37.099 Info Server: http/1.1 Response 204 to host1. Time: 13ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413?PlaySessionId=SYMF9f90ffe664f945bb9dc607f7d5dbf160
2024-04-19 08:50:37.228 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/171413/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:37.229 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-04-19 08:50:37.229 Info App: Bitrate exceeds DirectStream limit: media bitrate: 325642, max bitrate: 160000
2024-04-19 08:50:37.229 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 325642, max bitrate: 160000
2024-04-19 08:50:37.229 Info App: Bitrate exceeds DirectStream limit: media bitrate: 325642, max bitrate: 160000
2024-04-19 08:50:37.229 Info SessionManager: Adding playSession 5e0c4b3634c4428494ff4ef8b53aed0a to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:50:37.229 Info Server: http/1.1 Response 200 to host1. Time: 1ms. POST http://192.168.1.80:8096/Items/171413/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000
2024-04-19 08:50:37.235 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:37.235 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a
2024-04-19 08:50:37.238 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/171414/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:37.238 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-04-19 08:50:37.238 Info App: Bitrate exceeds DirectStream limit: media bitrate: 327393, max bitrate: 160000
2024-04-19 08:50:37.238 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 327393, max bitrate: 160000
2024-04-19 08:50:37.238 Info App: Bitrate exceeds DirectStream limit: media bitrate: 327393, max bitrate: 160000
2024-04-19 08:50:37.238 Info SessionManager: Adding playSession d912512c6d5f45c7a62e194e363bc0e7 to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:50:37.238 Info Server: http/1.1 Response 200 to host1. Time: 1ms. POST http://192.168.1.80:8096/Items/171414/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000
2024-04-19 08:50:37.247 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:37.248 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7
2024-04-19 08:50:37.262 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171414/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=12be6d3d8956b492f849c18ad4bf1745&PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Accept=*/*, Connection=close, Host=host2, User-Agent=Lavf/60.3.100, Range=bytes=0-, Icy-MetaData=1
2024-04-19 08:50:37.263 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171413/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=91d5867ba310999c14da1452527a4522&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Accept=*/*, Connection=close, Host=host2, User-Agent=Lavf/60.3.100, Range=bytes=0-, Icy-MetaData=1
2024-04-19 08:50:37.273 Info App: ProcessRun 'StreamTranscode 5e62a9' Execute: C:\Prog\Emby\system\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Prog\Emby\logs\ffmpeg-transcode-5e62a994-91c7-46a8-9606-330644a71dae_1graph.txt" -f mp3 -c:v:0 mjpeg -i "\\server\music\Rock [Folk]\Ed Sheeran\[2012] +\Ed Sheeran - + - 01 - The A Team.mp3" -map 0:0 -vn -sn -c:a:0 libopus -ab:a:0 160000 -ac:a:0 2 "C:\Prog\Emby\transcoding-temp\1E3591\1E3591.ogg"
2024-04-19 08:50:37.273 Info App: ProcessRun 'StreamTranscode 92960a' Execute: C:\Prog\Emby\system\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Prog\Emby\logs\ffmpeg-transcode-92960a34-6f9a-4116-8cae-d688aa24f75f_1graph.txt" -f mp3 -c:v:0 mjpeg -i "\\server\music\Rock [Folk]\Ed Sheeran\[2012] +\Ed Sheeran - + - 02 - Drun.mp3" -map 0:0 -vn -sn -c:a:0 libopus -ab:a:0 160000 -ac:a:0 2 "C:\Prog\Emby\transcoding-temp\FE4405\FE4405.ogg"
2024-04-19 08:50:38.816 Info Server: http/1.1 Response 200 to host1. Time: 1554ms. GET http://192.168.1.80:8096/audio/171413/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=91d5867ba310999c14da1452527a4522&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:50:38.820 Info Server: http/1.1 Response 200 to host1. Time: 1558ms. GET http://192.168.1.80:8096/audio/171414/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=12be6d3d8956b492f849c18ad4bf1745&PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:50:38.959 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171414/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=12be6d3d8956b492f849c18ad4bf1745&PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Connection=keep-alive, Host=host2, User-Agent=Symfonium/10.1.0B1 (Linux;Android 14), Accept-Encoding=identity, X-MediaBrowser-Token=4c630dd4d5fe41a0a5169eaa2d7644ff, X-Emby-Authorization=MediaBrowser Client="Android", Device="Google Pixel 6 Pro", DeviceId="6CD5513EAB54D9DCCC60D70E7B25E44B", Version="14"
2024-04-19 08:50:38.964 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171413/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=91d5867ba310999c14da1452527a4522&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Connection=keep-alive, Host=host2, User-Agent=Symfonium/10.1.0B1 (Linux;Android 14), Accept-Encoding=identity, Icy-MetaData=1, X-MediaBrowser-Token=4c630dd4d5fe41a0a5169eaa2d7644ff, X-Emby-Authorization=MediaBrowser Client="Android", Device="Google Pixel 6 Pro", DeviceId="6CD5513EAB54D9DCCC60D70E7B25E44B", Version="14"
2024-04-19 08:50:39.171 Info App: AppendExtraLogData - Read graph file: C:\Prog\Emby\logs\ffmpeg-transcode-92960a34-6f9a-4116-8cae-d688aa24f75f_1graph.txt
2024-04-19 08:50:39.175 Info App: AppendExtraLogData - Deserialized GraphData fileStream: 5,912.000 bytes Graph Count: 1
2024-04-19 08:50:39.175 Info App: AppendExtraLogData - File Deleted
2024-04-19 08:50:39.176 Info App: ProcessRun 'StreamTranscode 92960a' Process exited with code 0 - Succeeded
2024-04-19 08:50:39.261 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:39.262 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a
2024-04-19 08:50:39.413 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:39.414 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a
2024-04-19 08:50:39.515 Info App: AppendExtraLogData - Read graph file: C:\Prog\Emby\logs\ffmpeg-transcode-5e62a994-91c7-46a8-9606-330644a71dae_1graph.txt
2024-04-19 08:50:39.515 Info App: AppendExtraLogData - Deserialized GraphData fileStream: 5,912.000 bytes Graph Count: 1
2024-04-19 08:50:39.515 Info App: AppendExtraLogData - File Deleted
2024-04-19 08:50:39.515 Info App: ProcessRun 'StreamTranscode 5e62a9' Process exited with code 0 - Succeeded
2024-04-19 08:50:41.332 Info App: Sqlite: 284 - automatic index on LastWatchedEpisodes(SeriesPresentationUniqueKey)
2024-04-19 08:50:41.386 Info App: Sqlite: 284 - automatic index on LastWatchedEpisodes(AlbumId)
2024-04-19 08:50:41.508 Info Server: http/1.1 Response 200 to host1. Time: 2549ms. GET http://192.168.1.80:8096/audio/171414/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=12be6d3d8956b492f849c18ad4bf1745&PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:50:41.580 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/171415/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:41.581 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-04-19 08:50:41.581 Info App: Bitrate exceeds DirectStream limit: media bitrate: 326436, max bitrate: 160000
2024-04-19 08:50:41.581 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 326436, max bitrate: 160000
2024-04-19 08:50:41.581 Info App: Bitrate exceeds DirectStream limit: media bitrate: 326436, max bitrate: 160000
2024-04-19 08:50:41.581 Info SessionManager: Adding playSession 0d2c49d0f991464995bd30b9d595c915 to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:50:41.581 Info Server: http/1.1 Response 200 to host1. Time: 2ms. POST http://192.168.1.80:8096/Items/171415/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000
2024-04-19 08:50:41.601 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=0d2c49d0f991464995bd30b9d595c915. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:41.601 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=0d2c49d0f991464995bd30b9d595c915
2024-04-19 08:50:41.619 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171415/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=2c7a424841e48b7dde7e2d79775dcd49&PlaySessionId=0d2c49d0f991464995bd30b9d595c915&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Accept=*/*, Connection=close, Host=host2, User-Agent=Lavf/60.3.100, Range=bytes=0-, Icy-MetaData=1
2024-04-19 08:50:41.630 Info App: ProcessRun 'StreamTranscode ce9b3f' Execute: C:\Prog\Emby\system\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Prog\Emby\logs\ffmpeg-transcode-ce9b3fa2-ef26-4fd1-9087-771c25b38aea_1graph.txt" -f mp3 -c:v:0 mjpeg -i "\\server\music\Rock [Folk]\Ed Sheeran\[2012] +\Ed Sheeran - + - 03 - U.N.I..mp3" -map 0:0 -vn -sn -c:a:0 libopus -ab:a:0 160000 -ac:a:0 2 "C:\Prog\Emby\transcoding-temp\BBB34A\BBB34A.ogg"
2024-04-19 08:50:42.774 Info Server: http/1.1 Response 200 to host1. Time: 1155ms. GET http://192.168.1.80:8096/audio/171415/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=2c7a424841e48b7dde7e2d79775dcd49&PlaySessionId=0d2c49d0f991464995bd30b9d595c915&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:50:42.901 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171415/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=2c7a424841e48b7dde7e2d79775dcd49&PlaySessionId=0d2c49d0f991464995bd30b9d595c915&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Connection=keep-alive, Host=host2, User-Agent=Symfonium/10.1.0B1 (Linux;Android 14), Accept-Encoding=identity, X-MediaBrowser-Token=4c630dd4d5fe41a0a5169eaa2d7644ff, X-Emby-Authorization=MediaBrowser Client="Android", Device="Google Pixel 6 Pro", DeviceId="6CD5513EAB54D9DCCC60D70E7B25E44B", Version="14"
2024-04-19 08:50:43.496 Info App: AppendExtraLogData - Read graph file: C:\Prog\Emby\logs\ffmpeg-transcode-ce9b3fa2-ef26-4fd1-9087-771c25b38aea_1graph.txt
2024-04-19 08:50:43.496 Info App: AppendExtraLogData - Deserialized GraphData fileStream: 5,912.000 bytes Graph Count: 1
2024-04-19 08:50:43.497 Info App: AppendExtraLogData - File Deleted
2024-04-19 08:50:43.497 Info App: ProcessRun 'StreamTranscode ce9b3f' Process exited with code 0 - Succeeded
2024-04-19 08:50:45.822 Info Server: http/1.1 Response 200 to host1. Time: 2921ms. GET http://192.168.1.80:8096/audio/171415/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=2c7a424841e48b7dde7e2d79775dcd49&PlaySessionId=0d2c49d0f991464995bd30b9d595c915&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:50:45.893 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/171416/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:45.894 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-04-19 08:50:45.894 Info App: Bitrate exceeds DirectStream limit: media bitrate: 328120, max bitrate: 160000
2024-04-19 08:50:45.894 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 328120, max bitrate: 160000
2024-04-19 08:50:45.894 Info App: Bitrate exceeds DirectStream limit: media bitrate: 328120, max bitrate: 160000
2024-04-19 08:50:45.894 Info SessionManager: Adding playSession ad83790698694364b05a01e82260968a to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:50:45.894 Info Server: http/1.1 Response 200 to host1. Time: 1ms. POST http://192.168.1.80:8096/Items/171416/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000
2024-04-19 08:50:45.911 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=ad83790698694364b05a01e82260968a. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:50:45.911 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=ad83790698694364b05a01e82260968a
2024-04-19 08:50:45.927 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171416/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=3a34571938f8687c5215c9c594791f91&PlaySessionId=ad83790698694364b05a01e82260968a&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Accept=*/*, Connection=close, Host=host2, User-Agent=Lavf/60.3.100, Range=bytes=0-, Icy-MetaData=1
2024-04-19 08:50:45.928 Info App: ProcessRun 'StreamTranscode 082f71' Execute: C:\Prog\Emby\system\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Prog\Emby\logs\ffmpeg-transcode-082f715e-cdda-4902-afce-c3981423e223_1graph.txt" -f mp3 -c:v:0 mjpeg -i "\\server\music\Rock [Folk]\Ed Sheeran\[2012] +\Ed Sheeran - + - 04 - Grade 8.mp3" -map 0:0 -vn -sn -c:a:0 libopus -ab:a:0 160000 -ac:a:0 2 "C:\Prog\Emby\transcoding-temp\9EF3B7\9EF3B7.ogg"
2024-04-19 08:50:47.144 Info Server: http/1.1 Response 200 to host1. Time: 1218ms. GET http://192.168.1.80:8096/audio/171416/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=3a34571938f8687c5215c9c594791f91&PlaySessionId=ad83790698694364b05a01e82260968a&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:50:47.198 Info App: AppendExtraLogData - Read graph file: C:\Prog\Emby\logs\ffmpeg-transcode-082f715e-cdda-4902-afce-c3981423e223_1graph.txt
2024-04-19 08:50:47.198 Info App: AppendExtraLogData - Deserialized GraphData fileStream: 5,912.000 bytes Graph Count: 1
2024-04-19 08:50:47.198 Info App: AppendExtraLogData - File Deleted
2024-04-19 08:50:47.199 Info App: ProcessRun 'StreamTranscode 082f71' Process exited with code 0 - Succeeded
2024-04-19 08:50:47.255 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171416/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=3a34571938f8687c5215c9c594791f91&PlaySessionId=ad83790698694364b05a01e82260968a&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Connection=keep-alive, Host=host2, User-Agent=Symfonium/10.1.0B1 (Linux;Android 14), Accept-Encoding=identity, X-MediaBrowser-Token=4c630dd4d5fe41a0a5169eaa2d7644ff, X-Emby-Authorization=MediaBrowser Client="Android", Device="Google Pixel 6 Pro", DeviceId="6CD5513EAB54D9DCCC60D70E7B25E44B", Version="14"
2024-04-19 08:50:49.552 Info Server: http/1.1 Response 200 to host1. Time: 2297ms. GET http://192.168.1.80:8096/audio/171416/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=3a34571938f8687c5215c9c594791f91&PlaySessionId=ad83790698694364b05a01e82260968a&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:51:09.502 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=300000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:09.503 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=300000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a
2024-04-19 08:51:12.950 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Stopped. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:12.950 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing The A Team. Stopped at 0 ms
2024-04-19 08:51:12.951 Info SessionManager: Removing playSession 5e0c4b3634c4428494ff4ef8b53aed0a from session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:51:12.951 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Stopped
2024-04-19 08:51:12.967 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2570000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:12.967 Info SessionManager: Adding playSession 5e0c4b3634c4428494ff4ef8b53aed0a to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:51:12.967 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2240000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:12.968 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2240000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a
2024-04-19 08:51:12.968 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2570000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a
2024-04-19 08:51:12.976 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2570000000&PlayMethod=Transcode&IsPaused=True&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:12.977 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2570000000&PlayMethod=Transcode&IsPaused=True&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a
2024-04-19 08:51:12.979 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2240000000&PlayMethod=Transcode&IsPaused=True&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:12.979 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2240000000&PlayMethod=Transcode&IsPaused=True&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a
2024-04-19 08:51:13.006 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/171413/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=2240000000&MaxStreamingBitrate=160000. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:13.007 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-04-19 08:51:13.007 Info App: Bitrate exceeds DirectStream limit: media bitrate: 325642, max bitrate: 160000
2024-04-19 08:51:13.007 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 325642, max bitrate: 160000
2024-04-19 08:51:13.007 Info App: Bitrate exceeds DirectStream limit: media bitrate: 325642, max bitrate: 160000
2024-04-19 08:51:13.007 Info SessionManager: Adding playSession 2fe612b7518a4c909dd278c89fb3165d to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:51:13.007 Info Server: http/1.1 Response 200 to host1. Time: 1ms. POST http://192.168.1.80:8096/Items/171413/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=2240000000&MaxStreamingBitrate=160000
2024-04-19 08:51:13.021 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=2fe612b7518a4c909dd278c89fb3165d. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:13.021 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=2fe612b7518a4c909dd278c89fb3165d
2024-04-19 08:51:13.034 Info Server: http/1.1 Response 200 to host1. Time: 34070ms. GET http://192.168.1.80:8096/audio/171413/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=91d5867ba310999c14da1452527a4522&PlaySessionId=5e0c4b3634c4428494ff4ef8b53aed0a&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:51:13.035 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171413/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=91d5867ba310999c14da1452527a4522&StartTimeTicks=2240000000&PlaySessionId=2fe612b7518a4c909dd278c89fb3165d&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Accept=*/*, Connection=close, Host=host2, User-Agent=Lavf/60.3.100, Range=bytes=0-, Icy-MetaData=1
2024-04-19 08:51:13.036 Info App: ProcessRun 'StreamTranscode a7a861' Execute: C:\Prog\Emby\system\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Prog\Emby\logs\ffmpeg-transcode-a7a86173-fcee-4ad3-a0d0-da040d6c0d65_1graph.txt" -f mp3 -ss 00:03:44.000 -c:v:0 mjpeg -i "\\server\music\Rock [Folk]\Ed Sheeran\[2012] +\Ed Sheeran - + - 01 - The A Team.mp3" -map 0:0 -vn -sn -c:a:0 libopus -ab:a:0 160000 -ac:a:0 2 "C:\Prog\Emby\transcoding-temp\BB3C82\BB3C82.ogg"
2024-04-19 08:51:13.404 Info App: AppendExtraLogData - Read graph file: C:\Prog\Emby\logs\ffmpeg-transcode-a7a86173-fcee-4ad3-a0d0-da040d6c0d65_1graph.txt
2024-04-19 08:51:13.408 Info App: AppendExtraLogData - Deserialized GraphData fileStream: 7,074.000 bytes Graph Count: 1
2024-04-19 08:51:13.408 Info App: AppendExtraLogData - File Deleted
2024-04-19 08:51:13.408 Info App: ProcessRun 'StreamTranscode a7a861' Process exited with code 0 - Succeeded
2024-04-19 08:51:14.293 Info Server: http/1.1 Response 200 to host1. Time: 1258ms. GET http://192.168.1.80:8096/audio/171413/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=91d5867ba310999c14da1452527a4522&StartTimeTicks=2240000000&PlaySessionId=2fe612b7518a4c909dd278c89fb3165d&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:51:14.450 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171413/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=91d5867ba310999c14da1452527a4522&StartTimeTicks=2240000000&PlaySessionId=2fe612b7518a4c909dd278c89fb3165d&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Connection=keep-alive, Host=host2, User-Agent=Symfonium/10.1.0B1 (Linux;Android 14), Accept-Encoding=identity, Icy-MetaData=1, X-MediaBrowser-Token=4c630dd4d5fe41a0a5169eaa2d7644ff, X-Emby-Authorization=MediaBrowser Client="Android", Device="Google Pixel 6 Pro", DeviceId="6CD5513EAB54D9DCCC60D70E7B25E44B", Version="14"
2024-04-19 08:51:14.515 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2240000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=2fe612b7518a4c909dd278c89fb3165d. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:14.516 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2240000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=2fe612b7518a4c909dd278c89fb3165d
2024-04-19 08:51:16.665 Info Server: http/1.1 Response 200 to host1. Time: 2215ms. GET http://192.168.1.80:8096/audio/171413/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=91d5867ba310999c14da1452527a4522&StartTimeTicks=2240000000&PlaySessionId=2fe612b7518a4c909dd278c89fb3165d&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:51:17.334 Info App: Sqlite: 284 - automatic index on LastWatchedEpisodes(AlbumId)
2024-04-19 08:51:17.349 Info App: Sqlite: 284 - automatic index on LastWatchedEpisodes(SeriesPresentationUniqueKey)
2024-04-19 08:51:37.103 Info SessionManager: Session SYMF9f90ffe664f945bb9dc607f7d5dbf160 has gone idle while playing
2024-04-19 08:51:37.104 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing The A Team. Stopped at 59000 ms
2024-04-19 08:51:37.104 Info SessionManager: Removing playSession SYMF9f90ffe664f945bb9dc607f7d5dbf160 from session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:51:41.334 Info App: Sqlite: 284 - automatic index on LastWatchedEpisodes(SeriesPresentationUniqueKey)
2024-04-19 08:51:41.382 Info App: Sqlite: 284 - automatic index on LastWatchedEpisodes(AlbumId)
2024-04-19 08:51:44.937 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2540000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=2fe612b7518a4c909dd278c89fb3165d. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:44.938 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413/Progress?PositionTicks=2540000000&PlayMethod=Transcode&IsPaused=False&PlaySessionId=2fe612b7518a4c909dd278c89fb3165d
2024-04-19 08:51:51.824 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Stopped. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:51.824 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing The A Team. Stopped at 0 ms
2024-04-19 08:51:51.824 Info SessionManager: Removing playSession 2fe612b7518a4c909dd278c89fb3165d from session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:51:51.824 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Stopped
2024-04-19 08:51:51.830 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171414/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:51.830 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171414?PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:51.830 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171414/Progress?PositionTicks=0&PlayMethod=Transcode&IsPaused=False&PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7
2024-04-19 08:51:51.831 Info SessionManager: Playback start reported by app Android 14 playing Drun. Started at unknown ms
2024-04-19 08:51:51.832 Info Server: http/1.1 Response 204 to host1. Time: 1ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171414?PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7
2024-04-19 08:51:51.931 Info Server: http/1.1 POST http://192.168.1.80:8096/Items/171417/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:51.932 Info App: User policy for TOLRIQ. EnableAudioPlaybackTranscoding: True
2024-04-19 08:51:51.932 Info App: Bitrate exceeds DirectStream limit: media bitrate: 326431, max bitrate: 160000
2024-04-19 08:51:51.932 Info App: Bitrate exceeds DirectPlay limit: media bitrate: 326431, max bitrate: 160000
2024-04-19 08:51:51.932 Info App: Bitrate exceeds DirectStream limit: media bitrate: 326431, max bitrate: 160000
2024-04-19 08:51:51.932 Info SessionManager: Adding playSession 5ecdb41588da43eb8a5d7d4e867f9947 to session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:51:51.932 Info Server: http/1.1 Response 200 to host1. Time: 1ms. POST http://192.168.1.80:8096/Items/171417/PlaybackInfo?UserId=6196d32f642f4a29886eefaef1ae5518&AutoOpenLiveStream=true&StartTimeTicks=0&MaxStreamingBitrate=160000
2024-04-19 08:51:51.945 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=5ecdb41588da43eb8a5d7d4e867f9947. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:51.946 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Ping?PlaySessionId=5ecdb41588da43eb8a5d7d4e867f9947
2024-04-19 08:51:51.960 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171417/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=6e4c1b8c2bc5ca73247adf75ba25d2b9&PlaySessionId=5ecdb41588da43eb8a5d7d4e867f9947&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Accept=*/*, Connection=close, Host=host2, User-Agent=Lavf/60.3.100, Range=bytes=0-, Icy-MetaData=1
2024-04-19 08:51:51.966 Info App: ProcessRun 'StreamTranscode 3e626b' Execute: C:\Prog\Emby\system\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Prog\Emby\logs\ffmpeg-transcode-3e626bb3-67cb-42de-a189-f892444d3138_1graph.txt" -f mp3 -c:v:0 mjpeg -i "\\server\music\Rock [Folk]\Ed Sheeran\[2012] +\Ed Sheeran - + - 05 - Wake Me Up.mp3" -map 0:0 -vn -sn -c:a:0 libopus -ab:a:0 160000 -ac:a:0 2 "C:\Prog\Emby\transcoding-temp\48914A\48914A.ogg"
2024-04-19 08:51:52.895 Info Server: http/1.1 POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayedItems/171413?datePlayed=20240419065155. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:52.898 Info Server: http/1.1 Response 200 to host1. Time: 3ms. POST http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayedItems/171413?datePlayed=20240419065155
2024-04-19 08:51:52.905 Info Server: http/1.1 DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:51:52.905 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing unknown item. Stopped at 224000 ms
2024-04-19 08:51:52.905 Info Server: http/1.1 Response 204 to host1. Time: 0ms. DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171413
2024-04-19 08:51:53.126 Info Server: http/1.1 Response 200 to host1. Time: 1167ms. GET http://192.168.1.80:8096/audio/171417/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=6e4c1b8c2bc5ca73247adf75ba25d2b9&PlaySessionId=5ecdb41588da43eb8a5d7d4e867f9947&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:51:53.271 Info Server: http/1.1 GET http://192.168.1.80:8096/audio/171417/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=6e4c1b8c2bc5ca73247adf75ba25d2b9&PlaySessionId=5ecdb41588da43eb8a5d7d4e867f9947&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6. Connection=keep-alive, Host=host2, User-Agent=Symfonium/10.1.0B1 (Linux;Android 14), Accept-Encoding=identity, X-MediaBrowser-Token=4c630dd4d5fe41a0a5169eaa2d7644ff, X-Emby-Authorization=MediaBrowser Client="Android", Device="Google Pixel 6 Pro", DeviceId="6CD5513EAB54D9DCCC60D70E7B25E44B", Version="14"
2024-04-19 08:51:53.592 Info App: AppendExtraLogData - Read graph file: C:\Prog\Emby\logs\ffmpeg-transcode-3e626bb3-67cb-42de-a189-f892444d3138_1graph.txt
2024-04-19 08:51:53.595 Info App: AppendExtraLogData - Deserialized GraphData fileStream: 5,912.000 bytes Graph Count: 1
2024-04-19 08:51:53.595 Info App: AppendExtraLogData - File Deleted
2024-04-19 08:51:53.596 Info App: ProcessRun 'StreamTranscode 3e626b' Process exited with code 0 - Succeeded
2024-04-19 08:51:55.817 Info Server: http/1.1 Response 200 to host1. Time: 2546ms. GET http://192.168.1.80:8096/audio/171417/stream.ogg?DeviceId=6CD5513EAB54D9DCCC60D70E7B25E44B&MediaSourceId=6e4c1b8c2bc5ca73247adf75ba25d2b9&PlaySessionId=5ecdb41588da43eb8a5d7d4e867f9947&api_key=x_secret2_x&AudioCodec=opus&AudioBitrate=160000&AudioStreamIndex=0&TranscodingMaxAudioChannels=6
2024-04-19 08:51:57.331 Info App: Sqlite: 284 - automatic index on LastWatchedEpisodes(SeriesPresentationUniqueKey)
2024-04-19 08:51:57.376 Info App: Sqlite: 284 - automatic index on LastWatchedEpisodes(AlbumId)
2024-04-19 08:52:11.424 Info Server: http/1.1 DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171414?PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:52:11.424 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing Drun. Stopped at 0 ms
2024-04-19 08:52:11.424 Info SessionManager: Removing playSession d912512c6d5f45c7a62e194e363bc0e7 from session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:52:11.424 Info Server: http/1.1 Response 204 to host1. Time: 0ms. DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171414?PlaySessionId=d912512c6d5f45c7a62e194e363bc0e7
2024-04-19 08:52:11.436 Info Server: http/1.1 POST http://192.168.1.80:8096/Sessions/Playing/Stopped. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:52:11.436 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing unknown item. Stopped at 0 ms
2024-04-19 08:52:11.436 Info Server: http/1.1 Response 204 to host1. Time: 0ms. POST http://192.168.1.80:8096/Sessions/Playing/Stopped
2024-04-19 08:52:12.799 Info Server: http/1.1 DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171414. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:52:12.800 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing unknown item. Stopped at 19000 ms
2024-04-19 08:52:12.800 Info Server: http/1.1 Response 204 to host1. Time: 0ms. DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171414
2024-04-19 08:52:12.980 Info SessionManager: Session 5e0c4b3634c4428494ff4ef8b53aed0a has gone idle while playing
2024-04-19 08:52:12.980 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing The A Team. Stopped at 224000 ms
2024-04-19 08:52:12.980 Info SessionManager: Removing playSession 5e0c4b3634c4428494ff4ef8b53aed0a from session 0a5e113308a3910c9b62cddd56c6e6a3
2024-04-19 08:52:13.786 Info Server: http/1.1 DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171414. UserAgent: Symfonium/10.1.0B1 (Linux;Android 14)
2024-04-19 08:52:13.786 Info SessionManager: Playback stopped reported by app Android 14 on Google Pixel 6 Pro playing unknown item. Stopped at 19000 ms
2024-04-19 08:52:13.786 Info Server: http/1.1 Response 204 to host1. Time: 0ms. DELETE http://192.168.1.80:8096/Users/6196d32f642f4a29886eefaef1ae5518/PlayingItems/171414
2024-04-19 08:52:17.333 Info App: Sqlite: 284 - automatic index on LastWatchedEpisodes(AlbumId)
2024-04-19 08:52:17.340 Info App: Sqlite: 284 - automatic index on LastWatchedEpisodes(SeriesPresentationUniqueKey)

 

Link to comment
Share on other sites

At what point in the song do you pre-cache the next one?

Link to comment
Share on other sites

Tolriq

It depends on the settings, but it can be as soon as a the first one starts playing the next X songs are pre cached (1 by 1).

Else it depends on phone memory and buffer sizes but usually 1 min before the end.

In those logs I had pre cache enabled so it started to cache asap.

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