HDHomeRun Dual: LiveTV not playing #697

Closed
opened 2025-12-21 17:10:04 +01:00 by backuprepo · 52 comments
Owner

Originally created by @markcs on GitHub (May 20, 2019).

Originally assigned to: @Bond-009 on GitHub.

Describe the bug
I've only just installed JellyFin and am unable to get live TV working with my old HDHomeRun Dual HDHR3 tuner.

I just see the spinning wheel.

To Reproduce
Start Live TV

Expected behavior
TV should play

**Logs**
[2019-05-20 21:00:14.069 +10:00] [INF] User policy for "mark". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2019-05-20 21:00:14.070 +10:00] [INF] Profile: "Unknown Profile", Path: "http://192.168.1.220", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2019-05-20 21:00:14.070 +10:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "http://192.168.1.220"
[2019-05-20 21:00:14.070 +10:00] [INF] Opening channel stream from "Emby", external channel Id: "hdhr_34"
[2019-05-20 21:00:14.070 +10:00] [INF] Streaming Channel hdhr_34
[2019-05-20 21:00:14.070 +10:00] [INF] GetChannelStream: channel id: "hdhr_34". stream id: "native_1ceb173ae5f8567d1e4f38e29ffb0560_bb2428fbef31d2fb015f6ab951475929" profile: "native"
[2019-05-20 21:00:14.070 +10:00] [INF] Opening HDHR UDP Live stream from "192.168.1.220"
[2019-05-20 21:00:14.077 +10:00] [ERR] Error opening live stream:
System.IO.IOException: The operation is not allowed on non-connected sockets.
   at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket)
   at Emby.Server.Implementations.Net.SocketFactory.CreateNetworkStream(ISocket socket, Boolean ownsSocket)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.CopyTo(ISocket udpClient, String file, TaskCompletionSource`1 openTaskCompletionSource, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.<>c__DisplayClass8_0.<<StartStreaming>b__0>d.MoveNext()
[2019-05-20 21:00:14.077 +10:00] [INF] HdHomerunManager.ReleaseLockkey 1603615386
[2019-05-20 21:00:14.079 +10:00] [INF] Deleting temp files ["/var/lib/jellyfin/transcoding-temp/4be0e83830204cc0b7c2be3111218122.ts"]
[2019-05-20 21:00:14.079 +10:00] [ERR] Error opening tuner System.IO.IOException: The operation is not allowed on non-connected sockets.
   at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket)
   at Emby.Server.Implementations.Net.SocketFactory.CreateNetworkStream(ISocket socket, Boolean ownsSocket)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.CopyTo(ISocket udpClient, String file, TaskCompletionSource`1 openTaskCompletionSource, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.<>c__DisplayClass8_0.<<StartStreaming>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
[2019-05-20 21:00:14.080 +10:00] [ERR] Error processing request
MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown.
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStream(LiveStreamRequest request, CancellationToken cancellationToken)
   at MediaBrowser.Api.Playback.MediaInfoService.OpenMediaSource(OpenMediaSource request)
   at MediaBrowser.Api.Playback.MediaInfoService.GetPlaybackInfo(GetPostedPlaybackInfo request)
   at MediaBrowser.Api.Playback.MediaInfoService.Post(GetPostedPlaybackInfo request)
   at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)

System (please complete the following information):

  • OS: Ubuntu LTS 18.04
  • Browser: Chrome and Edge
  • Jellyfin Version: 10.3.3
  • Reverse proxy: None
  • HDHomeRun firmware: 20170930

Additional context
I have checked the firmware of the HDHomeRun and it was updated to the latest. I don't have any firewalls between the jellyfin server and the HDHomeRun device.

Help appreciated. Thanks!

Originally created by @markcs on GitHub (May 20, 2019). Originally assigned to: @Bond-009 on GitHub. **Describe the bug** I've only just installed JellyFin and am unable to get live TV working with my old HDHomeRun Dual HDHR3 tuner. I just see the spinning wheel. **To Reproduce** Start Live TV **Expected behavior** TV should play <details> <summary>**Logs**</summary> ``` [2019-05-20 21:00:14.069 +10:00] [INF] User policy for "mark". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2019-05-20 21:00:14.070 +10:00] [INF] Profile: "Unknown Profile", Path: "http://192.168.1.220", isEligibleForDirectPlay: True, isEligibleForDirectStream: True [2019-05-20 21:00:14.070 +10:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "http://192.168.1.220" [2019-05-20 21:00:14.070 +10:00] [INF] Opening channel stream from "Emby", external channel Id: "hdhr_34" [2019-05-20 21:00:14.070 +10:00] [INF] Streaming Channel hdhr_34 [2019-05-20 21:00:14.070 +10:00] [INF] GetChannelStream: channel id: "hdhr_34". stream id: "native_1ceb173ae5f8567d1e4f38e29ffb0560_bb2428fbef31d2fb015f6ab951475929" profile: "native" [2019-05-20 21:00:14.070 +10:00] [INF] Opening HDHR UDP Live stream from "192.168.1.220" [2019-05-20 21:00:14.077 +10:00] [ERR] Error opening live stream: System.IO.IOException: The operation is not allowed on non-connected sockets. at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket) at Emby.Server.Implementations.Net.SocketFactory.CreateNetworkStream(ISocket socket, Boolean ownsSocket) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.CopyTo(ISocket udpClient, String file, TaskCompletionSource`1 openTaskCompletionSource, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.<>c__DisplayClass8_0.<<StartStreaming>b__0>d.MoveNext() [2019-05-20 21:00:14.077 +10:00] [INF] HdHomerunManager.ReleaseLockkey 1603615386 [2019-05-20 21:00:14.079 +10:00] [INF] Deleting temp files ["/var/lib/jellyfin/transcoding-temp/4be0e83830204cc0b7c2be3111218122.ts"] [2019-05-20 21:00:14.079 +10:00] [ERR] Error opening tuner System.IO.IOException: The operation is not allowed on non-connected sockets. at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket) at Emby.Server.Implementations.Net.SocketFactory.CreateNetworkStream(ISocket socket, Boolean ownsSocket) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.CopyTo(ISocket udpClient, String file, TaskCompletionSource`1 openTaskCompletionSource, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.<>c__DisplayClass8_0.<<StartStreaming>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) [2019-05-20 21:00:14.080 +10:00] [ERR] Error processing request MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown. at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStream(LiveStreamRequest request, CancellationToken cancellationToken) at MediaBrowser.Api.Playback.MediaInfoService.OpenMediaSource(OpenMediaSource request) at MediaBrowser.Api.Playback.MediaInfoService.GetPlaybackInfo(GetPostedPlaybackInfo request) at MediaBrowser.Api.Playback.MediaInfoService.Post(GetPostedPlaybackInfo request) at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken) ``` </details> **System (please complete the following information):** - OS: Ubuntu LTS 18.04 - Browser: Chrome and Edge - Jellyfin Version: 10.3.3 - Reverse proxy: None - HDHomeRun firmware: 20170930 **Additional context** I have checked the firmware of the HDHomeRun and it was updated to the latest. I don't have any firewalls between the jellyfin server and the HDHomeRun device. Help appreciated. Thanks!
backuprepo 2025-12-21 17:10:04 +01:00
Author
Owner

@dinki commented on GitHub (May 24, 2019):

@markcs I can confirm that Live TV with HDHR is working fine for me since the first version of JF to now. I cannot, however, get Live TV to work using the AndroidTV app, but it does work fine in Chrome on my PC and Android phone.

Can you record any programs using the DVR function? If so, do they playback fine?

Try to catch me on the JF Riot chat and I can try and troubleshoot with you there. I'm certain you will be able to get it working. Give me an @dinki mention and I should get a notification on my phone..

@dinki commented on GitHub (May 24, 2019): @markcs I can confirm that Live TV with HDHR is working fine for me since the first version of JF to now. I cannot, however, get Live TV to work using the AndroidTV app, but it does work fine in Chrome on my PC and Android phone. Can you record any programs using the DVR function? If so, do they playback fine? Try to catch me on the JF Riot chat and I can try and troubleshoot with you there. I'm certain you will be able to get it working. Give me an @dinki mention and I should get a notification on my phone..
Author
Owner

@markcs commented on GitHub (May 26, 2019):

@dinki recording live TV using DVR fails as well, with the following error:

[2019-05-27 09:33:04.889 +10:00] [INF] New recording scheduled
[2019-05-27 09:33:04.890 +10:00] [ERR] Error recording to "/var/lib/jellyfin/data/livetv/recordings/Sesame Street/Season 48/Sesame Street S48E17 Crafty Friends.ts"
MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown.
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.RecordStream(TimerInfo timer, DateTime recordingEndDate, ActiveRecordingInfo activeRecordingInfo)
@markcs commented on GitHub (May 26, 2019): @dinki recording live TV using DVR fails as well, with the following error: ``` [2019-05-27 09:33:04.889 +10:00] [INF] New recording scheduled [2019-05-27 09:33:04.890 +10:00] [ERR] Error recording to "/var/lib/jellyfin/data/livetv/recordings/Sesame Street/Season 48/Sesame Street S48E17 Crafty Friends.ts" MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown. at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.RecordStream(TimerInfo timer, DateTime recordingEndDate, ActiveRecordingInfo activeRecordingInfo) ```
Author
Owner

@dinki commented on GitHub (May 28, 2019):

@markcs Did you make any progress on this after the Riot chat?

@dinki commented on GitHub (May 28, 2019): @markcs Did you make any progress on this after the Riot chat?
Author
Owner

@markcs commented on GitHub (May 29, 2019):

@dinki No luck. I reverted to Version 10.2.1 using a docker container. I can not play live TV, but do not see any errors. I have created a default recording path.

When I try to record a program, the recording starts but doesn't seem to finish. I see the .ts file being created under transcoding-tmp, but this just gets bigger and bigger, even after the time of the show has finished. This file is never moved to the recording path and the recording is never visible under the 'Recording' tab. (I guess because JF assumes the recording hasn't finished for some reason?)

@markcs commented on GitHub (May 29, 2019): @dinki No luck. I reverted to Version 10.2.1 using a docker container. I can not play live TV, but do not see any errors. I have created a default recording path. When I try to record a program, the recording starts but doesn't seem to finish. I see the .ts file being created under transcoding-tmp, but this just gets bigger and bigger, even after the time of the show has finished. This file is never moved to the recording path and the recording is never visible under the 'Recording' tab. (I guess because JF assumes the recording hasn't finished for some reason?)
Author
Owner

@dinki commented on GitHub (May 29, 2019):

@Mark2xv that's no good. Unfortunately I'm at the end of my ideas. Your best bet is to jump back on chat and see if any of the devs can give you some other things to try.

@dinki commented on GitHub (May 29, 2019): @Mark2xv that's no good. Unfortunately I'm at the end of my ideas. Your best bet is to jump back on chat and see if any of the devs can give you some other things to try.
Author
Owner

@JamesDean3 commented on GitHub (Jun 7, 2019):

I'm having the same issue.

@JamesDean3 commented on GitHub (Jun 7, 2019): I'm having the same issue.
Author
Owner

@PrplHaz4 commented on GitHub (Jun 7, 2019):

I recently opened an issue with similar symptoms, but to me it looked like it was specific to running as a windows service - it could be a more broad ffmpeg issue however. My logs are attached to the other issue, and there seems to be a lot of "junk" in the successful stream logs...

https://github.com/jellyfin/jellyfin/issues/1422

For the others having issues - what hardware acceleration settings are you using? I was on windows using AMF, but have since changed it to VAAPI and it seems to behave better. This is with an AMD APU.

@PrplHaz4 commented on GitHub (Jun 7, 2019): I recently opened an issue with similar symptoms, but to me it looked like it was specific to running as a windows service - it could be a more broad ffmpeg issue however. My logs are attached to the other issue, and there seems to be a lot of "junk" in the successful stream logs... https://github.com/jellyfin/jellyfin/issues/1422 For the others having issues - what hardware acceleration settings are you using? I was on windows using AMF, but have since changed it to VAAPI and it seems to behave better. This is with an AMD APU.
Author
Owner

@markcs commented on GitHub (Jun 12, 2019):

My issue seems to be this:

[2019-06-12 23:49:21.846 +10:00] [ERR] Error opening live stream:
System.IO.IOException: The operation is not allowed on non-connected sockets.
   at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket)
   at Emby.Server.Implementations.Net.SocketFactory.CreateNetworkStream(ISocket socket, Boolean ownsSocket)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.CopyTo(ISocket udpClient, String file, TaskCompletionSource`1 openTaskCompletionSource, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.<>c__DisplayClass8_0.<<StartStreaming>b__0>d.MoveNext()
[2019-06-12 23:49:21.847 +10:00] [INF] HdHomerunManager.ReleaseLockkey 2069510788
[2019-06-12 23:49:21.848 +10:00] [INF] New recording scheduled
[2019-06-12 23:49:21.848 +10:00] [INF] Deleting temp files ["/var/lib/jellyfin/transcoding-temp/89b2c7d9a7a44ed49a9c2e6ebee4518f.ts"]
[2019-06-12 23:49:21.848 +10:00] [ERR] Error opening tuner
System.IO.IOException: The operation is not allowed on non-connected sockets.

I have no firewall or anything between the jellyfin server and the HDHomeRun.

@markcs commented on GitHub (Jun 12, 2019): My issue seems to be this: ``` [2019-06-12 23:49:21.846 +10:00] [ERR] Error opening live stream: System.IO.IOException: The operation is not allowed on non-connected sockets. at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket) at Emby.Server.Implementations.Net.SocketFactory.CreateNetworkStream(ISocket socket, Boolean ownsSocket) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.CopyTo(ISocket udpClient, String file, TaskCompletionSource`1 openTaskCompletionSource, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.<>c__DisplayClass8_0.<<StartStreaming>b__0>d.MoveNext() [2019-06-12 23:49:21.847 +10:00] [INF] HdHomerunManager.ReleaseLockkey 2069510788 [2019-06-12 23:49:21.848 +10:00] [INF] New recording scheduled [2019-06-12 23:49:21.848 +10:00] [INF] Deleting temp files ["/var/lib/jellyfin/transcoding-temp/89b2c7d9a7a44ed49a9c2e6ebee4518f.ts"] [2019-06-12 23:49:21.848 +10:00] [ERR] Error opening tuner System.IO.IOException: The operation is not allowed on non-connected sockets. ``` I have no firewall or anything between the jellyfin server and the HDHomeRun.
Author
Owner

@sparky8251 commented on GitHub (Jun 25, 2019):

I'd be curious if somehow there is a permissions issue here. Can someone check what the permissions are on the tmp files you are seeing? Do they match what JF needs to be able to move the files to your media folders?

IIRC, the transcode files are placed under the typical JF conf dir, so it can easily write them there, but media folders might have different perms preventing it from being moved.

Regardless, looks like we need more information to proceed. This is a difficult one it seems...

@sparky8251 commented on GitHub (Jun 25, 2019): I'd be curious if somehow there is a permissions issue here. Can someone check what the permissions are on the tmp files you are seeing? Do they match what JF needs to be able to move the files to your media folders? IIRC, the transcode files are placed under the typical JF conf dir, so it can easily write them there, but media folders might have different perms preventing it from being moved. Regardless, looks like we need more information to proceed. This is a difficult one it seems...
Author
Owner

@rechner commented on GitHub (Jun 26, 2019):

I'm having a seemingly similar problem with an HDHomeRun CONNECT. When I try to tune a live TV program, the browser player hangs at the spinning wheel. Docker v10.3.5, with apache reverse proxy, using an HDHR4-2US Firmware Version 20190621

Docker logs
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/76876/s10991_h3_aa.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/24343/s24343_h3_aa.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/50612/s61775_h3_aa.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/70483/s10269_h3_aa.png,
[02:58:07] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:07] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.6347573. http://10.0.0.128:8096/emby/Items/76df8c7620f1d7f99b79a19789f65acf/Images/Primary?maxWidth=426&tag=7823343be10e3cb0ffd90734e3a85cc3&quality=40,
[02:58:07] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.6735968. http://10.0.0.128:8096/emby/Items/3fb26f1b061f8e03d4c206aedc9bc1bc/Images/Primary?maxWidth=426&tag=cb04d2e788266e94de61111aceb7d5d1&quality=40,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/106633/s10270_h3_aa.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/21650/s21650_h3_aa.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png,
[02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/67818/s67818_h3_aa.png,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/97794/s90401_h3_aa.png,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/105295/s101752_h3_aa.png,
[02:58:08] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.5978415. http://10.0.0.128:8096/emby/Items/333c985d310922fb83b9c1a329af5f01/Images/Primary?maxWidth=426&tag=891f736ee725d35c1e1a79ff2041f10e&quality=40,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/31220/s67676_h3_aa.png,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/73924/s97051_h3_aa.png,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/34741/s34741_h3_aa.png,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/19575/s53098_h3_aa.png,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/109090/s97051_h3_aa.png,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/110385/s70436_h3_aa.png,
[02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/110386/s102116_h3_aa.png,
[02:58:09] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:09] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.5367125. http://10.0.0.128:8096/emby/Items/f6ee786122aff911290323e20e598172/Images/Primary?maxWidth=426&tag=8c7513c06cd921bf4bce67474694d817&quality=40,
[02:58:09] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.5498447. http://10.0.0.128:8096/emby/Items/aea4b707f4d76a54a9d35311779f53a1/Images/Primary?maxWidth=426&tag=a30778e8637b3126d19595de166654a2&quality=40,
[02:58:09] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.5527466. http://10.0.0.128:8096/emby/Items/035b1732359f1d320db1270e4e8a2f87/Images/Primary?maxWidth=426&tag=940e7ac07af6974a2de287d6163c3aba&quality=40,
[02:58:09] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.5841937. http://10.0.0.128:8096/emby/Items/a3c66f2db0b8993d67650d44afd7eae9/Images/Primary?maxWidth=426&tag=f2121c15a1d9a31f3e7877df72aad796&quality=40,
[02:58:09] [INF] Getting image size for item LiveTvChannel /config/metadata/livetv/ccef7f44f8bf78434b67847b4df814c8/metadata/poster.png,
[02:58:10] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:11] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:12] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:13] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:14] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:15] [INF] User policy for rechner. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True,
[02:58:15] [INF] Profile: Unknown Profile, Path: http://10.0.10.110, isEligibleForDirectPlay: True, isEligibleForDirectStream: True,
[02:58:15] [INF] Profile: Unknown Profile, No direct play profiles found for Path: http://10.0.10.110,
[02:58:15] [INF] Opening channel stream from Emby, external channel Id: hdhr_2.4,
[02:58:15] [INF] Streaming Channel hdhr_2.4,
[02:58:15] [INF] GetChannelStream: channel id: hdhr_2.4. stream id: native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d profile: native,
[02:58:15] [INF] Opening SharedHttpStream Live stream from http://10.0.10.110:5004/auto/v2.4,
[02:58:15] [INF] HttpClientManager GET: http://10.0.10.110:5004/auto/v2.4,
[02:58:15] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:16] [INF] Beginning SharedHttpStream stream to /config/transcoding-temp/18d1d8cdc61f4a12b598572940dda1bc.ts,
[02:58:16] [INF] Live stream opened after 460.9164ms,
[02:58:16] [INF] Returning mediasource streamId native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d, mediaSource.Id native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d, mediaSource.LiveStreamId null,
[02:58:16] [INF] Waiting 3000ms before probing the live stream,
[02:58:16] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:17] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:18] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:19] [INF] /usr/local/bin/ffprobe -analyzeduration 3000000 -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts" -threads 0 -v warning -print_format json -show_streams -show_format,
[tcp @ 0x557105a09880] Connection to tcp://127.0.0.1:8920 failed: Connection refused,
https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts: Connection refused,
[02:58:19] [ERR] Error probing live tv stream,
System.Exception: ffprobe failed - streams and format are both null.,
   at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken),
   at Emby.Server.Implementations.Library.LiveStreamHelper.AddMediaInfoWithProbe(MediaSourceInfo mediaSource, Boolean isAudio, String cacheKey, Boolean addProbeDelay, CancellationToken cancellationToken),
   at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken),
[02:58:19] [INF] Live stream opened: {"Protocol":"Http","Id":"native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d","Path":"https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts","Type":"Default","Container":"ts","IsRemote":false,"ReadAtNativeFramerate":false,"IgnoreDts":true,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":false,"IsInfiniteStream":true,"RequiresOpening":true,"RequiresClosing":true,"LiveStreamId":"a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d","BufferMs":0,"RequiresLooping":false,"SupportsProbing":true,"MediaStreams":[{"Codec":"mpeg2video","VideoRange":"SDR","DisplayTitle":"MPEG2VIDEO","IsInterlaced":true,"BitRate":2000000,"IsDefault":false,"IsForced":false,"Type":"Video","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false},{"Codec":"AC3","DisplayTitle":"Dolby Digital","IsInterlaced":false,"BitRate":192000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false}],"Formats":[],"Bitrate":2192000,"RequiredHttpHeaders":{},"AnalyzeDurationMs":3000},
[02:58:19] [INF] User policy for rechner. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True,
[02:58:19] [INF] Profile: Unknown Profile, Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts, isEligibleForDirectPlay: True, isEligibleForDirectStream: True,
[02:58:19] [INF] Profile: Unknown Profile, No direct play profiles found for Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts,
[02:58:19] [INF] Profile: Unknown Profile, Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts, isEligibleForDirectPlay: True, isEligibleForDirectStream: True,
[02:58:19] [INF] Profile: Unknown Profile, No direct play profiles found for Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts,
[02:58:19] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:03.9035369. http://10.0.0.128:8096/emby/Items/ccef7f44f8bf78434b67847b4df814c8/PlaybackInfo?UserId=471bf4476696499d9e67e8181ad07af6&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000,
[02:58:19] [INF] /usr/local/bin/ffmpeg -analyzeduration 3000000 -fflags +igndts -f mpegts -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 139808000 -bufsize 279616000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames "expr:gte(t,n_forced*3)" -vf "yadif=0:-1:0" -flags -global_header -vsync cfr -codec:a:0 libmp3lame -ac 2 -ab 192000  -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3  -individual_header_trailer 0 -segment_format mpegts -segment_list_entry_prefix "hls/4bcea20134fe15ecc47ecb3b2e9d3c17/" -segment_list_type m3u8 -segment_start_number 0 -segment_list "/config/transcoding-temp/4bcea20134fe15ecc47ecb3b2e9d3c17.m3u8" -y "/config/transcoding-temp/4bcea20134fe15ecc47ecb3b2e9d3c17%d.ts",
[02:58:19] [INF] FFMpeg exited with code 1,
[02:58:20] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:21] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:22] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:23] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:24] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:25] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:26] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:27] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:28] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:30] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:31] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:32] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:33] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:35] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:36] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:37] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:38] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:39] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:41] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:42] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:43] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:44] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:45] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:46] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:47] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:48] [INF] xmltv path: /xmltv/xmltv.xml,
[02:58:50] [INF] Refresh Guide Completed after 1 minute(s) and 18 seconds,
[02:58:50] [INF] ExecuteQueuedTasks,

In the course of debugging, I tried running that same ffmpeg command on the container's console to see what would happen, since I didn't find the logs for the ffmpeg process that died in Jellyfin's log viewer.

Snip
root@jellyfin:/# /usr/local/bin/ffmpeg -analyzeduration 3000000 -fflags +igndts -f mpegts -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f72940dda1bc/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 139808000279616000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames "exprforced*3)" -vf "yadif=0:-1:0" -flags -global_header -vsync cfr -codec:a:0 libmp3lame -ac 2 -ab 192000  -f segment -max_delay 5000000 -avoid_negative_ts-start_at_zero -segment_time 3  -individual_header_trailer 0 -segment_format mpegts -segment_list_entry_prefix "hls/4bcea20134fe15ecc47ecb3b2e9d3c17/" -ist_type m3u8 -segment_start_number 0 -segment_list "/config/transcoding-temp/4bcea20134fe15ecc47ecb3b2e9d3c17.m3u8" -y "/config/transcoding-temp/4bcea2cc47ecb3b2e9d3c17%d.ts"
ffmpeg version 4.0.3 Copyright (c) 2000-2018 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04)
  configuration: --disable-debug --disable-doc --disable-ffplay --enable-vaapi --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gnutls --enable-gpl --enable-libass --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libx264 --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-postproc --enable-cuvid --enable-nvenc --enable-version3 --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --extra-libs=-ldl --prefix=/opt/ffmpeg
  libavutil      56. 14.100 / 56. 14.100
  libavcodec     58. 18.100 / 58. 18.100
  libavformat    58. 12.100 / 58. 12.100
  libavdevice    58.  3.100 / 58.  3.100
  libavfilter     7. 16.100 /  7. 16.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  1.100 /  5.  1.100
  libswresample   3.  1.100 /  3.  1.100
  libpostproc    55.  1.100 / 55.  1.100
[tcp @ 0x562dcbf4e700] Connection to tcp://127.0.0.1:8920 failed: Connection refused
https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts: Connection refused
root@jellyfin:/# curl https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f72940dda1bc/stream.ts
curl: (7) Failed to connect to 127.0.0.1 port 8920: Connection refused
root@jellyfin:/# curl http://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f72940dda1bc/stream.ts
curl: (7) Failed to connect to 127.0.0.1 port 8920: Connection refused
root@jellyfin:/# curl https://jellyfin.domain.mytld/LiveTv/LiveStreamFiles/18d1d8cdc61f72940dda1bc/stream.ts
Path cannot be null.
Parameter name: 

Trying to play back a recorded program that is still in progress dies in a similar fashion.

Docker logs
[03:13:51] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.674844. http://10.0.0.128:8096/emby/Items/08b0a8d11a04f191a7ff4a05db18fef7/Images/Primary?maxHeight=200&tag=29a3ff6a94ae8909a17b6f2dd051424c&quality=90

[03:13:53] [INF] Recording timer fired for Password Plus.

[03:13:53] [INF] Opening channel stream from Emby, external channel Id: hdhr_2.4

[03:13:53] [INF] Streaming Channel hdhr_2.4

[03:13:53] [INF] Live stream native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d consumer count is now 2

[03:13:53] [INF] Waiting 3000ms before probing the live stream

[03:13:53] [INF] New recording scheduled

[03:13:56] [INF] /usr/local/bin/ffprobe -analyzeduration 3000000 -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts" -threads 0 -v warning -print_format json -show_streams -show_format

[tcp @ 0x55a9a0e4b880] Connection to tcp://127.0.0.1:8920 failed: Connection refused

https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts: Connection refused

[03:13:56] [ERR] Error probing live tv stream

System.Exception: ffprobe failed - streams and format are both null.

at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken)

at Emby.Server.Implementations.Library.LiveStreamHelper.AddMediaInfoWithProbe(MediaSourceInfo mediaSource, Boolean isAudio, String cacheKey, Boolean addProbeDelay, CancellationToken cancellationToken)

at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken)

[03:13:56] [INF] Live stream opened: {"Protocol":"Http","Id":"native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d","Path":"https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts","Type":"Default","Container":"ts","IsRemote":false,"ReadAtNativeFramerate":false,"IgnoreDts":true,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":false,"IsInfiniteStream":true,"RequiresOpening":true,"RequiresClosing":true,"LiveStreamId":"a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d","BufferMs":0,"RequiresLooping":false,"SupportsProbing":true,"MediaStreams":[{"Codec":"mpeg2video","VideoRange":"SDR","DisplayTitle":"MPEG2VIDEO","IsInterlaced":true,"BitRate":2000000,"IsDefault":false,"IsForced":false,"Type":"Video","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false},{"Codec":"AC3","DisplayTitle":"Dolby Digital","IsInterlaced":false,"BitRate":192000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false}],"Formats":[],"Bitrate":2192000,"RequiredHttpHeaders":{},"AnalyzeDurationMs":3000}

[03:13:56] [INF] Beginning recording. Will record for 16.0628856683333 minutes.

[03:13:56] [INF] Writing file to path: /media/media/dvr/Password Plus/Password Plus 2019_06_26_03_00_00.ts

[03:13:56] [INF] Triggering refresh on /media/media/dvr/Password Plus/Password Plus 2019_06_26_03_00_00.ts

[03:13:56] [INF] Refreshing recording parent /media/media/dvr

[03:13:56] [INF] Copying recording stream to file /media/media/dvr/Password Plus/Password Plus 2019_06_26_03_00_00.ts

[03:13:58] [INF] HttpClientManager GET: https://www.omdbapi.com?apikey=2c9d9507&i=tt0197176&plot=short&tomatoes=true&r=json

[03:13:59] [INF] HttpClientManager GET: https://webservice.fanart.tv/v3/tv/77251?api_key=184e1a2b1fe3b94935365411f919f638

[03:13:59] [ERR] Error ProtocolError getting response from https://webservice.fanart.tv/v3/tv/77251?api_key=184e1a2b1fe3b94935365411f919f638

System.Net.WebException: The remote server returned an error: (404) Not Found.

at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult)

at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization)

[03:13:59] [INF] Creating Season Season Unknown entry for Password Plus

However, playing back previously-recorded shows works fine.

@rechner commented on GitHub (Jun 26, 2019): I'm having a seemingly similar problem with an HDHomeRun CONNECT. When I try to tune a live TV program, the browser player hangs at the spinning wheel. Docker v10.3.5, with apache reverse proxy, using an HDHR4-2US Firmware Version 20190621 <details><summary>Docker logs</summary> <pre> [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/76876/s10991_h3_aa.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/24343/s24343_h3_aa.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/50612/s61775_h3_aa.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/70483/s10269_h3_aa.png, [02:58:07] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:07] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.6347573. http://10.0.0.128:8096/emby/Items/76df8c7620f1d7f99b79a19789f65acf/Images/Primary?maxWidth=426&tag=7823343be10e3cb0ffd90734e3a85cc3&quality=40, [02:58:07] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.6735968. http://10.0.0.128:8096/emby/Items/3fb26f1b061f8e03d4c206aedc9bc1bc/Images/Primary?maxWidth=426&tag=cb04d2e788266e94de61111aceb7d5d1&quality=40, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/106633/s10270_h3_aa.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/21650/s21650_h3_aa.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png, [02:58:07] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/67818/s67818_h3_aa.png, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/97794/s90401_h3_aa.png, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/105295/s101752_h3_aa.png, [02:58:08] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.5978415. http://10.0.0.128:8096/emby/Items/333c985d310922fb83b9c1a329af5f01/Images/Primary?maxWidth=426&tag=891f736ee725d35c1e1a79ff2041f10e&quality=40, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/31220/s67676_h3_aa.png, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/73924/s97051_h3_aa.png, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/sources/generic/generic_sources_h3.png, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/34741/s34741_h3_aa.png, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/19575/s53098_h3_aa.png, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/109090/s97051_h3_aa.png, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/110385/s70436_h3_aa.png, [02:58:08] [INF] HttpClientManager GET: https://zap2it.tmsimg.com/h3/NowShowing/110386/s102116_h3_aa.png, [02:58:09] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:09] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.5367125. http://10.0.0.128:8096/emby/Items/f6ee786122aff911290323e20e598172/Images/Primary?maxWidth=426&tag=8c7513c06cd921bf4bce67474694d817&quality=40, [02:58:09] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.5498447. http://10.0.0.128:8096/emby/Items/aea4b707f4d76a54a9d35311779f53a1/Images/Primary?maxWidth=426&tag=a30778e8637b3126d19595de166654a2&quality=40, [02:58:09] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.5527466. http://10.0.0.128:8096/emby/Items/035b1732359f1d320db1270e4e8a2f87/Images/Primary?maxWidth=426&tag=940e7ac07af6974a2de287d6163c3aba&quality=40, [02:58:09] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.5841937. http://10.0.0.128:8096/emby/Items/a3c66f2db0b8993d67650d44afd7eae9/Images/Primary?maxWidth=426&tag=f2121c15a1d9a31f3e7877df72aad796&quality=40, [02:58:09] [INF] Getting image size for item LiveTvChannel /config/metadata/livetv/ccef7f44f8bf78434b67847b4df814c8/metadata/poster.png, [02:58:10] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:11] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:12] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:13] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:14] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:15] [INF] User policy for rechner. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True, [02:58:15] [INF] Profile: Unknown Profile, Path: http://10.0.10.110, isEligibleForDirectPlay: True, isEligibleForDirectStream: True, [02:58:15] [INF] Profile: Unknown Profile, No direct play profiles found for Path: http://10.0.10.110, [02:58:15] [INF] Opening channel stream from Emby, external channel Id: hdhr_2.4, [02:58:15] [INF] Streaming Channel hdhr_2.4, [02:58:15] [INF] GetChannelStream: channel id: hdhr_2.4. stream id: native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d profile: native, [02:58:15] [INF] Opening SharedHttpStream Live stream from http://10.0.10.110:5004/auto/v2.4, [02:58:15] [INF] HttpClientManager GET: http://10.0.10.110:5004/auto/v2.4, [02:58:15] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:16] [INF] Beginning SharedHttpStream stream to /config/transcoding-temp/18d1d8cdc61f4a12b598572940dda1bc.ts, [02:58:16] [INF] Live stream opened after 460.9164ms, [02:58:16] [INF] Returning mediasource streamId native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d, mediaSource.Id native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d, mediaSource.LiveStreamId null, [02:58:16] [INF] Waiting 3000ms before probing the live stream, [02:58:16] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:17] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:18] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:19] [INF] /usr/local/bin/ffprobe -analyzeduration 3000000 -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts" -threads 0 -v warning -print_format json -show_streams -show_format, [tcp @ 0x557105a09880] Connection to tcp://127.0.0.1:8920 failed: Connection refused, https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts: Connection refused, [02:58:19] [ERR] Error probing live tv stream, System.Exception: ffprobe failed - streams and format are both null., at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken), at Emby.Server.Implementations.Library.LiveStreamHelper.AddMediaInfoWithProbe(MediaSourceInfo mediaSource, Boolean isAudio, String cacheKey, Boolean addProbeDelay, CancellationToken cancellationToken), at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken), [02:58:19] [INF] Live stream opened: {"Protocol":"Http","Id":"native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d","Path":"https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts","Type":"Default","Container":"ts","IsRemote":false,"ReadAtNativeFramerate":false,"IgnoreDts":true,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":false,"IsInfiniteStream":true,"RequiresOpening":true,"RequiresClosing":true,"LiveStreamId":"a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d","BufferMs":0,"RequiresLooping":false,"SupportsProbing":true,"MediaStreams":[{"Codec":"mpeg2video","VideoRange":"SDR","DisplayTitle":"MPEG2VIDEO","IsInterlaced":true,"BitRate":2000000,"IsDefault":false,"IsForced":false,"Type":"Video","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false},{"Codec":"AC3","DisplayTitle":"Dolby Digital","IsInterlaced":false,"BitRate":192000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false}],"Formats":[],"Bitrate":2192000,"RequiredHttpHeaders":{},"AnalyzeDurationMs":3000}, [02:58:19] [INF] User policy for rechner. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True, [02:58:19] [INF] Profile: Unknown Profile, Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts, isEligibleForDirectPlay: True, isEligibleForDirectStream: True, [02:58:19] [INF] Profile: Unknown Profile, No direct play profiles found for Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts, [02:58:19] [INF] Profile: Unknown Profile, Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts, isEligibleForDirectPlay: True, isEligibleForDirectStream: True, [02:58:19] [INF] Profile: Unknown Profile, No direct play profiles found for Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts, [02:58:19] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:03.9035369. http://10.0.0.128:8096/emby/Items/ccef7f44f8bf78434b67847b4df814c8/PlaybackInfo?UserId=471bf4476696499d9e67e8181ad07af6&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000, [02:58:19] [INF] /usr/local/bin/ffmpeg -analyzeduration 3000000 -fflags +igndts -f mpegts -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 139808000 -bufsize 279616000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames "expr:gte(t,n_forced*3)" -vf "yadif=0:-1:0" -flags -global_header -vsync cfr -codec:a:0 libmp3lame -ac 2 -ab 192000 -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3 -individual_header_trailer 0 -segment_format mpegts -segment_list_entry_prefix "hls/4bcea20134fe15ecc47ecb3b2e9d3c17/" -segment_list_type m3u8 -segment_start_number 0 -segment_list "/config/transcoding-temp/4bcea20134fe15ecc47ecb3b2e9d3c17.m3u8" -y "/config/transcoding-temp/4bcea20134fe15ecc47ecb3b2e9d3c17%d.ts", [02:58:19] [INF] FFMpeg exited with code 1, [02:58:20] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:21] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:22] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:23] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:24] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:25] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:26] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:27] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:28] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:30] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:31] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:32] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:33] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:35] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:36] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:37] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:38] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:39] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:41] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:42] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:43] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:44] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:45] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:46] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:47] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:48] [INF] xmltv path: /xmltv/xmltv.xml, [02:58:50] [INF] Refresh Guide Completed after 1 minute(s) and 18 seconds, [02:58:50] [INF] ExecuteQueuedTasks, </pre> </details> In the course of debugging, I tried running that same ffmpeg command on the container's console to see what would happen, since I didn't find the logs for the ffmpeg process that died in Jellyfin's log viewer. <details><summary>Snip</summary> <pre> root@jellyfin:/# /usr/local/bin/ffmpeg -analyzeduration 3000000 -fflags +igndts -f mpegts -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f72940dda1bc/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 139808000279616000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames "exprforced*3)" -vf "yadif=0:-1:0" -flags -global_header -vsync cfr -codec:a:0 libmp3lame -ac 2 -ab 192000 -f segment -max_delay 5000000 -avoid_negative_ts-start_at_zero -segment_time 3 -individual_header_trailer 0 -segment_format mpegts -segment_list_entry_prefix "hls/4bcea20134fe15ecc47ecb3b2e9d3c17/" -ist_type m3u8 -segment_start_number 0 -segment_list "/config/transcoding-temp/4bcea20134fe15ecc47ecb3b2e9d3c17.m3u8" -y "/config/transcoding-temp/4bcea2cc47ecb3b2e9d3c17%d.ts" ffmpeg version 4.0.3 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7 (Ubuntu 7.3.0-27ubuntu1~18.04) configuration: --disable-debug --disable-doc --disable-ffplay --enable-vaapi --enable-shared --enable-avresample --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-gnutls --enable-gpl --enable-libass --enable-libfreetype --enable-libvidstab --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx265 --enable-libxvid --enable-libx264 --enable-libkvazaar --enable-libaom --extra-libs=-lpthread --enable-postproc --enable-cuvid --enable-nvenc --enable-version3 --extra-cflags=-I/opt/ffmpeg/include --extra-ldflags=-L/opt/ffmpeg/lib --extra-libs=-ldl --prefix=/opt/ffmpeg libavutil 56. 14.100 / 56. 14.100 libavcodec 58. 18.100 / 58. 18.100 libavformat 58. 12.100 / 58. 12.100 libavdevice 58. 3.100 / 58. 3.100 libavfilter 7. 16.100 / 7. 16.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 1.100 / 5. 1.100 libswresample 3. 1.100 / 3. 1.100 libpostproc 55. 1.100 / 55. 1.100 [tcp @ 0x562dcbf4e700] Connection to tcp://127.0.0.1:8920 failed: Connection refused https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts: Connection refused root@jellyfin:/# curl https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f72940dda1bc/stream.ts curl: (7) Failed to connect to 127.0.0.1 port 8920: Connection refused root@jellyfin:/# curl http://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f72940dda1bc/stream.ts curl: (7) Failed to connect to 127.0.0.1 port 8920: Connection refused root@jellyfin:/# curl https://jellyfin.domain.mytld/LiveTv/LiveStreamFiles/18d1d8cdc61f72940dda1bc/stream.ts Path cannot be null. Parameter name: </pre> </details> Trying to play back a recorded program that is still in progress dies in a similar fashion. <details><summary>Docker logs</summary> <pre> [03:13:51] [WRN] HTTP Response 200 to 10.0.0.1. Time (slow): 0:00:00.674844. http://10.0.0.128:8096/emby/Items/08b0a8d11a04f191a7ff4a05db18fef7/Images/Primary?maxHeight=200&tag=29a3ff6a94ae8909a17b6f2dd051424c&quality=90 [03:13:53] [INF] Recording timer fired for Password Plus. [03:13:53] [INF] Opening channel stream from Emby, external channel Id: hdhr_2.4 [03:13:53] [INF] Streaming Channel hdhr_2.4 [03:13:53] [INF] Live stream native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d consumer count is now 2 [03:13:53] [INF] Waiting 3000ms before probing the live stream [03:13:53] [INF] New recording scheduled [03:13:56] [INF] /usr/local/bin/ffprobe -analyzeduration 3000000 -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts" -threads 0 -v warning -print_format json -show_streams -show_format [tcp @ 0x55a9a0e4b880] Connection to tcp://127.0.0.1:8920 failed: Connection refused https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts: Connection refused [03:13:56] [ERR] Error probing live tv stream System.Exception: ffprobe failed - streams and format are both null. at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.LiveStreamHelper.AddMediaInfoWithProbe(MediaSourceInfo mediaSource, Boolean isAudio, String cacheKey, Boolean addProbeDelay, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken) [03:13:56] [INF] Live stream opened: {"Protocol":"Http","Id":"native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d","Path":"https://127.0.0.1:8920/LiveTv/LiveStreamFiles/18d1d8cdc61f4a12b598572940dda1bc/stream.ts","Type":"Default","Container":"ts","IsRemote":false,"ReadAtNativeFramerate":false,"IgnoreDts":true,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":false,"IsInfiniteStream":true,"RequiresOpening":true,"RequiresClosing":true,"LiveStreamId":"a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_native_b951ad2afe9ba9dfa1a58baecd435371_f18d31fdaafab16a719d1c3e1a17059d","BufferMs":0,"RequiresLooping":false,"SupportsProbing":true,"MediaStreams":[{"Codec":"mpeg2video","VideoRange":"SDR","DisplayTitle":"MPEG2VIDEO","IsInterlaced":true,"BitRate":2000000,"IsDefault":false,"IsForced":false,"Type":"Video","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false},{"Codec":"AC3","DisplayTitle":"Dolby Digital","IsInterlaced":false,"BitRate":192000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false}],"Formats":[],"Bitrate":2192000,"RequiredHttpHeaders":{},"AnalyzeDurationMs":3000} [03:13:56] [INF] Beginning recording. Will record for 16.0628856683333 minutes. [03:13:56] [INF] Writing file to path: /media/media/dvr/Password Plus/Password Plus 2019_06_26_03_00_00.ts [03:13:56] [INF] Triggering refresh on /media/media/dvr/Password Plus/Password Plus 2019_06_26_03_00_00.ts [03:13:56] [INF] Refreshing recording parent /media/media/dvr [03:13:56] [INF] Copying recording stream to file /media/media/dvr/Password Plus/Password Plus 2019_06_26_03_00_00.ts [03:13:58] [INF] HttpClientManager GET: https://www.omdbapi.com?apikey=2c9d9507&i=tt0197176&plot=short&tomatoes=true&r=json [03:13:59] [INF] HttpClientManager GET: https://webservice.fanart.tv/v3/tv/77251?api_key=184e1a2b1fe3b94935365411f919f638 [03:13:59] [ERR] Error ProtocolError getting response from https://webservice.fanart.tv/v3/tv/77251?api_key=184e1a2b1fe3b94935365411f919f638 System.Net.WebException: The remote server returned an error: (404) Not Found. at System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization) [03:13:59] [INF] Creating Season Season Unknown entry for Password Plus </pre> </details> However, playing back previously-recorded shows works fine.
Author
Owner

@markcs commented on GitHub (Jun 27, 2019):

@sparky8251
It doesn't appear to be getting as far as receiving a file to transcode. As I wrote above, the issue is this:

[2019-06-27 13:13:14.429 +10:00] [INF] Opening HDHR UDP Live stream from "192.168.1.220"
[2019-06-27 13:13:14.458 +10:00] [ERR] Error opening live stream:
System.IO.IOException: The operation is not allowed on non-connected sockets.
   at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket)
   at Emby.Server.Implementations.Net.SocketFactory.CreateNetworkStream(ISocket socket, Boolean ownsSocket)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.CopyTo(ISocket udpClient, String file, TaskCompletionSource`1 openTaskCompletionSource, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.<>c__DisplayClass8_0.<<StartStreaming>b__0>d.MoveNext()
[2019-06-27 13:13:14.462 +10:00] [INF] HdHomerunManager.ReleaseLockkey 1497981309
[2019-06-27 13:13:14.467 +10:00] [INF] Deleting temp files ["/media/data1/jellyfin/transcoding-temp/a116c591fd954bf08116ee92fc705da4.ts"]
[2019-06-27 13:13:14.467 +10:00] [ERR] Error opening tuner

Anyway, to answer your question, I believe that the folder I have for jellyfin has the correct permissions. I tried running manualy as my own user with the same result (livetv not working).

drwxrwsr-x 2 jellyfin jellyfin 10 May 27 16:26 livetv
drwxrwsr-x 2 jellyfin jellyfin 10 Jun 27 13:13 transcoding-temp

@markcs commented on GitHub (Jun 27, 2019): @sparky8251 It doesn't appear to be getting as far as receiving a file to transcode. As I wrote above, the issue is this: ``` [2019-06-27 13:13:14.429 +10:00] [INF] Opening HDHR UDP Live stream from "192.168.1.220" [2019-06-27 13:13:14.458 +10:00] [ERR] Error opening live stream: System.IO.IOException: The operation is not allowed on non-connected sockets. at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket) at Emby.Server.Implementations.Net.SocketFactory.CreateNetworkStream(ISocket socket, Boolean ownsSocket) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.CopyTo(ISocket udpClient, String file, TaskCompletionSource`1 openTaskCompletionSource, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.<>c__DisplayClass8_0.<<StartStreaming>b__0>d.MoveNext() [2019-06-27 13:13:14.462 +10:00] [INF] HdHomerunManager.ReleaseLockkey 1497981309 [2019-06-27 13:13:14.467 +10:00] [INF] Deleting temp files ["/media/data1/jellyfin/transcoding-temp/a116c591fd954bf08116ee92fc705da4.ts"] [2019-06-27 13:13:14.467 +10:00] [ERR] Error opening tuner ``` Anyway, to answer your question, I believe that the folder I have for jellyfin has the correct permissions. I tried running manualy as my own user with the same result (livetv not working). drwxrwsr-x 2 jellyfin jellyfin 10 May 27 16:26 livetv drwxrwsr-x 2 jellyfin jellyfin 10 Jun 27 13:13 transcoding-temp
Author
Owner

@E64jLZN8 commented on GitHub (Jul 24, 2019):

Same issue here on a Macbook Pro running Jellyfin, with xTeve as a virtual HDHR Tuner: live TV streams do not start (spinning wheel) until I get error messages (about 1.5 minute later).
Note that the stream URL is correct (I can open it without any problem in VLC).
Here are the details of the terminal window (from the initial request to the error messages):

[2019-07-24 20:10:27.719 +08:00] [INF] User policy for "user123". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2019-07-24 20:10:27.720 +08:00] [INF] Profile: "Unknown Profile", Path: "http://192.168.31.53:34400", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2019-07-24 20:10:27.721 +08:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "http://192.168.31.53:34400"
[2019-07-24 20:10:27.723 +08:00] [INF] Opening channel stream from "Emby", external channel Id: "hdhr_1035"
[2019-07-24 20:10:27.723 +08:00] [INF] Streaming Channel hdhr_1035
[2019-07-24 20:10:27.724 +08:00] [INF] GetChannelStream: channel id: "hdhr_1035". stream id: "native_3f6fb85b93126647f4c571d3db0ef342_ae88a9e0fb57a7cad9103fd35567703e" profile: "native"
[2019-07-24 20:10:27.725 +08:00] [INF] Opening SharedHttpStream Live stream from "http://192.168.31.53:34400/stream/aHR0cDovL29rMi5zZTo4MDAwL2RhZmZ5LmR1Y2tlbnN0ZWluQGdtYWlsLmNvbS9YRTJ5YjJmeGZ4LzU2NQ=="

[2019-07-24 20:12:07.725 +08:00] [ERR] Error opening tuner
System.Threading.Tasks.TaskCanceledException: The operation was canceled. ---> System.IO.IOException: Unable to read data from the transport connection: Operation canceled. ---> System.Net.Sockets.SocketException: Operation canceled
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error)
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token)
   at System.Net.Http.HttpConnection.FillAsync()
   at System.Net.Http.HttpConnection.ChunkedEncodingReadStream.CopyToAsyncCore(Stream destination, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.HttpConnection.ChunkedEncodingReadStream.CopyToAsyncCore(Stream destination, CancellationToken cancellationToken)
   at System.Net.Http.HttpConnection.HttpConnectionResponseContent.SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken)
   at System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(Task serializeToStreamTask, MemoryStream tempBuffer)
   at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
   at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsyncInternal(HttpRequestOptions options, HttpMethod httpMethod)
   at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsync(HttpRequestOptions options, HttpMethod httpMethod)
   at Emby.Server.Implementations.LiveTv.TunerHosts.SharedHttpStream.Open(CancellationToken openCancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)

[2019-07-24 20:12:07.731 +08:00] [ERR] Error processing request
MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown.
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStream(LiveStreamRequest request, CancellationToken cancellationToken)
   at MediaBrowser.Api.Playback.MediaInfoService.OpenMediaSource(OpenMediaSource request)
   at MediaBrowser.Api.Playback.MediaInfoService.GetPlaybackInfo(GetPostedPlaybackInfo request)
   at MediaBrowser.Api.Playback.MediaInfoService.Post(GetPostedPlaybackInfo request)
   at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
[2019-07-24 20:12:07.734 +08:00] [WRN] HTTP Response 500 to "::1". Time (slow): 0:01:40.022052. "http://localhost:8096/emby/Items/e52146bc4d3f122282dcf303dfba896c/PlaybackInfo?UserId=cc7528f7271e4ca4a70a5be8a18e8692&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000"
@E64jLZN8 commented on GitHub (Jul 24, 2019): Same issue here on a Macbook Pro running Jellyfin, with xTeve as a virtual HDHR Tuner: live TV streams do not start (spinning wheel) until I get error messages (about 1.5 minute later). Note that the stream URL is correct (I can open it without any problem in VLC). Here are the details of the terminal window (from the initial request to the error messages): ``` [2019-07-24 20:10:27.719 +08:00] [INF] User policy for "user123". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2019-07-24 20:10:27.720 +08:00] [INF] Profile: "Unknown Profile", Path: "http://192.168.31.53:34400", isEligibleForDirectPlay: True, isEligibleForDirectStream: True [2019-07-24 20:10:27.721 +08:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "http://192.168.31.53:34400" [2019-07-24 20:10:27.723 +08:00] [INF] Opening channel stream from "Emby", external channel Id: "hdhr_1035" [2019-07-24 20:10:27.723 +08:00] [INF] Streaming Channel hdhr_1035 [2019-07-24 20:10:27.724 +08:00] [INF] GetChannelStream: channel id: "hdhr_1035". stream id: "native_3f6fb85b93126647f4c571d3db0ef342_ae88a9e0fb57a7cad9103fd35567703e" profile: "native" [2019-07-24 20:10:27.725 +08:00] [INF] Opening SharedHttpStream Live stream from "http://192.168.31.53:34400/stream/aHR0cDovL29rMi5zZTo4MDAwL2RhZmZ5LmR1Y2tlbnN0ZWluQGdtYWlsLmNvbS9YRTJ5YjJmeGZ4LzU2NQ==" [2019-07-24 20:12:07.725 +08:00] [ERR] Error opening tuner System.Threading.Tasks.TaskCanceledException: The operation was canceled. ---> System.IO.IOException: Unable to read data from the transport connection: Operation canceled. ---> System.Net.Sockets.SocketException: Operation canceled --- End of inner exception stack trace --- at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.GetResult(Int16 token) at System.Net.Http.HttpConnection.FillAsync() at System.Net.Http.HttpConnection.ChunkedEncodingReadStream.CopyToAsyncCore(Stream destination, CancellationToken cancellationToken) --- End of inner exception stack trace --- at System.Net.Http.HttpConnection.ChunkedEncodingReadStream.CopyToAsyncCore(Stream destination, CancellationToken cancellationToken) at System.Net.Http.HttpConnection.HttpConnectionResponseContent.SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken) at System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(Task serializeToStreamTask, MemoryStream tempBuffer) at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts) at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsyncInternal(HttpRequestOptions options, HttpMethod httpMethod) at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsync(HttpRequestOptions options, HttpMethod httpMethod) at Emby.Server.Implementations.LiveTv.TunerHosts.SharedHttpStream.Open(CancellationToken openCancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) [2019-07-24 20:12:07.731 +08:00] [ERR] Error processing request MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown. at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStream(LiveStreamRequest request, CancellationToken cancellationToken) at MediaBrowser.Api.Playback.MediaInfoService.OpenMediaSource(OpenMediaSource request) at MediaBrowser.Api.Playback.MediaInfoService.GetPlaybackInfo(GetPostedPlaybackInfo request) at MediaBrowser.Api.Playback.MediaInfoService.Post(GetPostedPlaybackInfo request) at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken) [2019-07-24 20:12:07.734 +08:00] [WRN] HTTP Response 500 to "::1". Time (slow): 0:01:40.022052. "http://localhost:8096/emby/Items/e52146bc4d3f122282dcf303dfba896c/PlaybackInfo?UserId=cc7528f7271e4ca4a70a5be8a18e8692&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000" ```
Author
Owner

@markcs commented on GitHub (Jul 25, 2019):

I just tried with the latest version (10.3.7-1) but still the same issue. I can not watch live TV.

[2019-07-25 10:08:14.401 +10:00] [INF] Profile: "Unknown Profile", Path: "http://192.168.1.220", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2019-07-25 10:08:14.409 +10:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "http://192.168.1.220"
[2019-07-25 10:08:14.462 +10:00] [INF] Opening channel stream from "Emby", external channel Id: "hdhr_7"
[2019-07-25 10:08:14.465 +10:00] [INF] Streaming Channel hdhr_7
[2019-07-25 10:08:14.472 +10:00] [INF] GetChannelStream: channel id: "hdhr_7". stream id: "native_4dc934a7046e466c67fea57758c5b6f6_bb2428fbef31d2fb015f6ab951475929" profile: "native"
[2019-07-25 10:08:14.508 +10:00] [INF] Opening HDHR UDP Live stream from "192.168.1.220"
[2019-07-25 10:08:14.538 +10:00] [ERR] Error opening live stream:
System.IO.IOException: The operation is not allowed on non-connected sockets.
   at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket)
   at Emby.Server.Implementations.Net.SocketFactory.CreateNetworkStream(ISocket socket, Boolean ownsSocket)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.CopyTo(ISocket udpClient, String file, TaskCompletionSource`1 openTaskCompletionSource, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.<>c__DisplayClass8_0.<<StartStreaming>b__0>d.MoveNext()
[2019-07-25 10:08:14.542 +10:00] [INF] HdHomerunManager.ReleaseLockkey 1231241616
[2019-07-25 10:08:14.548 +10:00] [INF] Deleting temp files ["/media/data1/jellyfin/transcoding-temp/d06ec49e42bd4dcaae090e24d15129a2.ts"]
[2019-07-25 10:08:14.549 +10:00] [ERR] Error opening tuner
@markcs commented on GitHub (Jul 25, 2019): I just tried with the latest version (10.3.7-1) but still the same issue. I can not watch live TV. ``` [2019-07-25 10:08:14.401 +10:00] [INF] Profile: "Unknown Profile", Path: "http://192.168.1.220", isEligibleForDirectPlay: True, isEligibleForDirectStream: True [2019-07-25 10:08:14.409 +10:00] [INF] Profile: "Unknown Profile", No direct play profiles found for Path: "http://192.168.1.220" [2019-07-25 10:08:14.462 +10:00] [INF] Opening channel stream from "Emby", external channel Id: "hdhr_7" [2019-07-25 10:08:14.465 +10:00] [INF] Streaming Channel hdhr_7 [2019-07-25 10:08:14.472 +10:00] [INF] GetChannelStream: channel id: "hdhr_7". stream id: "native_4dc934a7046e466c67fea57758c5b6f6_bb2428fbef31d2fb015f6ab951475929" profile: "native" [2019-07-25 10:08:14.508 +10:00] [INF] Opening HDHR UDP Live stream from "192.168.1.220" [2019-07-25 10:08:14.538 +10:00] [ERR] Error opening live stream: System.IO.IOException: The operation is not allowed on non-connected sockets. at System.Net.Sockets.NetworkStream..ctor(Socket socket, FileAccess access, Boolean ownsSocket) at Emby.Server.Implementations.Net.SocketFactory.CreateNetworkStream(ISocket socket, Boolean ownsSocket) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.CopyTo(ISocket udpClient, String file, TaskCompletionSource`1 openTaskCompletionSource, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.<>c__DisplayClass8_0.<<StartStreaming>b__0>d.MoveNext() [2019-07-25 10:08:14.542 +10:00] [INF] HdHomerunManager.ReleaseLockkey 1231241616 [2019-07-25 10:08:14.548 +10:00] [INF] Deleting temp files ["/media/data1/jellyfin/transcoding-temp/d06ec49e42bd4dcaae090e24d15129a2.ts"] [2019-07-25 10:08:14.549 +10:00] [ERR] Error opening tuner ```
Author
Owner

@dinki commented on GitHub (Jul 29, 2019):

I'm having a seemingly similar problem with an HDHomeRun CONNECT. When I try to tune a live TV program, the browser player hangs at the spinning wheel. Docker v10.3.5, with apache reverse proxy, using an HDHR4-2US Firmware Version 20190621

Docker logs
In the course of debugging, I tried running that same ffmpeg command on the container's console to see what would happen, since I didn't find the logs for the ffmpeg process that died in Jellyfin's log viewer.

Snip
Trying to play back a recorded program that is still in progress dies in a similar fashion.

Docker logs
However, playing back previously-recorded shows works fine.

@rechner Did you ever get this sorted? Are you running Docker in host mode? HDHR needs some UDP that has a random port or something and live tv will probably not work if you are running in bridge mode.

Also, be sure to use anything but 10.3.6 which had live tv broken until fixed in 10.3.7

@dinki commented on GitHub (Jul 29, 2019): > I'm having a seemingly similar problem with an HDHomeRun CONNECT. When I try to tune a live TV program, the browser player hangs at the spinning wheel. Docker v10.3.5, with apache reverse proxy, using an HDHR4-2US Firmware Version 20190621 > > Docker logs > In the course of debugging, I tried running that same ffmpeg command on the container's console to see what would happen, since I didn't find the logs for the ffmpeg process that died in Jellyfin's log viewer. > > Snip > Trying to play back a recorded program that is still in progress dies in a similar fashion. > > Docker logs > However, playing back previously-recorded shows works fine. @rechner Did you ever get this sorted? Are you running Docker in host mode? HDHR needs some UDP that has a random port or something and live tv will probably not work if you are running in bridge mode. Also, be sure to use anything but 10.3.6 which had live tv broken until fixed in 10.3.7
Author
Owner

@rechner commented on GitHub (Jul 29, 2019):

Just pulled the latest image, and same deal for 10.3.7, no live or recording-in-progress TV, but recorded programmes play back fine. I'm using MACVLAN network mode to give the container its own IP on my LAN, and Apache reverse proxy. Is streaming traffic from the HDHR different between recording and in-progress playback? My cursory impression was that live TV was streamed and buffered by Jellyfin. The HDHR is on a separate, IoT VLAN, but no firewall restrictions in place, and even an mDNS reflector is on in the router (though I suppose UDP traffic problems aren't beyond the realm of possibility). Any suggestions for further troubleshooting?

Docker logs
[20:23:13] [INF] User policy for rechner. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[20:23:13] [INF] Profile: Unknown Profile, Path: http://10.0.10.110, isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[20:23:13] [INF] Profile: Unknown Profile, No direct play profiles found for Path: http://10.0.10.110
[20:23:13] [INF] Opening channel stream from Emby, external channel Id: hdhr_7.1
[20:23:13] [INF] Streaming Channel hdhr_7.1
[20:23:13] [INF] GetChannelStream: channel id: hdhr_7.1. stream id: native_9098a73d5f0a41a094a99f31435d5a51_f18d31fdaafab16a719d1c3e1a17059d profile: native
[20:23:14] [INF] Opening SharedHttpStream Live stream from http://10.0.10.110:5004/auto/v7.1
[20:23:19] [ERR] HTTP request failed with message: 
[20:23:19] [ERR] Error opening tuner
MediaBrowser.Model.Net.HttpException: Service Unavailable
   at Emby.Server.Implementations.HttpClientManager.HttpClientManager.EnsureSuccessStatusCode(HttpResponseMessage response, HttpRequestOptions options)
   at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsyncInternal(HttpRequestOptions options, HttpMethod httpMethod)
   at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsync(HttpRequestOptions options, HttpMethod httpMethod)
   at Emby.Server.Implementations.LiveTv.TunerHosts.SharedHttpStream.Open(CancellationToken openCancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
[20:23:19] [ERR] Error processing request
MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown.
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStream(LiveStreamRequest request, CancellationToken cancellationToken)
   at MediaBrowser.Api.Playback.MediaInfoService.OpenMediaSource(OpenMediaSource request)
   at MediaBrowser.Api.Playback.MediaInfoService.GetPlaybackInfo(GetPostedPlaybackInfo request)
   at MediaBrowser.Api.Playback.MediaInfoService.Post(GetPostedPlaybackInfo request)
   at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
[20:23:19] [WRN] HTTP Response 500 to 10.0.0.1. Time (slow): 0:00:05.5309422. http://10.0.0.128:8096/emby/Items/8ceacd18fa9bb5352fef8e0fa5a71d9e/PlaybackInfo?UserId=471bf4476696499d9e67e8181ad07af6&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000
I can do this from the container's shell
root@jellyfin:/# curl --head http://10.0.10.110:5004/auto/v7.1
HTTP/1.1 200 OK
Server: HDHomeRun/1.0
Connection: close
Content-Type: video/mpeg
Cache-Control: no-cache
Pragma: no-cache
transferMode.dlna.org: Streaming
Date: Mon, 29 Jul 2019 20:33:08 GMT
X-HDHomeRun-Resource: tuner255
which leads me to believe this is not a network problem, exactly.
@rechner commented on GitHub (Jul 29, 2019): Just pulled the latest image, and same deal for 10.3.7, no live or recording-in-progress TV, but recorded programmes play back fine. I'm using MACVLAN network mode to give the container its own IP on my LAN, and Apache reverse proxy. Is streaming traffic from the HDHR different between recording and in-progress playback? My cursory impression was that live TV was streamed and buffered by Jellyfin. The HDHR is on a separate, IoT VLAN, but no firewall restrictions in place, and even an mDNS reflector is on in the router (though I suppose UDP traffic problems aren't beyond the realm of possibility). Any suggestions for further troubleshooting? <details><summary>Docker logs</summary> <pre> [20:23:13] [INF] User policy for rechner. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [20:23:13] [INF] Profile: Unknown Profile, Path: http://10.0.10.110, isEligibleForDirectPlay: True, isEligibleForDirectStream: True [20:23:13] [INF] Profile: Unknown Profile, No direct play profiles found for Path: http://10.0.10.110 [20:23:13] [INF] Opening channel stream from Emby, external channel Id: hdhr_7.1 [20:23:13] [INF] Streaming Channel hdhr_7.1 [20:23:13] [INF] GetChannelStream: channel id: hdhr_7.1. stream id: native_9098a73d5f0a41a094a99f31435d5a51_f18d31fdaafab16a719d1c3e1a17059d profile: native [20:23:14] [INF] Opening SharedHttpStream Live stream from http://10.0.10.110:5004/auto/v7.1 [20:23:19] [ERR] HTTP request failed with message: [20:23:19] [ERR] Error opening tuner MediaBrowser.Model.Net.HttpException: Service Unavailable at Emby.Server.Implementations.HttpClientManager.HttpClientManager.EnsureSuccessStatusCode(HttpResponseMessage response, HttpRequestOptions options) at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsyncInternal(HttpRequestOptions options, HttpMethod httpMethod) at Emby.Server.Implementations.HttpClientManager.HttpClientManager.SendAsync(HttpRequestOptions options, HttpMethod httpMethod) at Emby.Server.Implementations.LiveTv.TunerHosts.SharedHttpStream.Open(CancellationToken openCancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) [20:23:19] [ERR] Error processing request MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown. at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStream(LiveStreamRequest request, CancellationToken cancellationToken) at MediaBrowser.Api.Playback.MediaInfoService.OpenMediaSource(OpenMediaSource request) at MediaBrowser.Api.Playback.MediaInfoService.GetPlaybackInfo(GetPostedPlaybackInfo request) at MediaBrowser.Api.Playback.MediaInfoService.Post(GetPostedPlaybackInfo request) at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, ILogger logger, String operationName, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken) [20:23:19] [WRN] HTTP Response 500 to 10.0.0.1. Time (slow): 0:00:05.5309422. http://10.0.0.128:8096/emby/Items/8ceacd18fa9bb5352fef8e0fa5a71d9e/PlaybackInfo?UserId=471bf4476696499d9e67e8181ad07af6&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000 </pre> </details> <details><summary>I can do this from the container's shell</summary> <pre> root@jellyfin:/# curl --head http://10.0.10.110:5004/auto/v7.1 HTTP/1.1 200 OK Server: HDHomeRun/1.0 Connection: close Content-Type: video/mpeg Cache-Control: no-cache Pragma: no-cache transferMode.dlna.org: Streaming Date: Mon, 29 Jul 2019 20:33:08 GMT X-HDHomeRun-Resource: tuner255 </pre> </details> which leads me to believe this is not a network problem, exactly.
Author
Owner

@dinki commented on GitHub (Jul 30, 2019):

@rechner You know way more about networking than I'll ever know, but is there a way for you to set the container in host mode just as a test? I can only guess that it is a UDP problem causing this as that has plagued quite a few HDHR users including myself. Let's eliminate that as the problem.

@dinki commented on GitHub (Jul 30, 2019): @rechner You know way more about networking than I'll ever know, but is there a way for you to set the container in host mode just as a test? I can only guess that it is a UDP problem causing this as that has plagued quite a few HDHR users including myself. Let's eliminate that as the problem.
Author
Owner

@kodywilson commented on GitHub (Aug 14, 2019):

I'm having the exact same issue that @rechner is having. I can record shows no problem and they play back fine. Live TV, however, never works.

My Jellyfin is in host mode too.

Docker Logs

``` [cont-init.d] 30-config: executing... , [cont-init.d] 30-config: exited 0., [cont-init.d] 40-gid-video: executing... , [cont-init.d] 40-gid-video: exited 0., [cont-init.d] 99-custom-scripts: executing... , [custom-init] no custom files found exiting..., [cont-init.d] 99-custom-scripts: exited 0., [cont-init.d] done., [services.d] starting services, [services.d] done., [08:07:57] [INF] Jellyfin version: 10.3.7.0, [08:07:57] [INF] Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"], [08:07:57] [INF] Operating system: Linux 5.0.0.23, [08:07:57] [INF] Architecture: X64, [08:07:57] [INF] 64-Bit Process: True, [08:07:57] [INF] User Interactive: True, [08:07:57] [INF] Processor count: 2, [08:07:57] [INF] Program data path: /config/data, [08:07:57] [INF] Web resources path: /usr/lib/jellyfin/bin/jellyfin-web/src, [08:07:57] [INF] Application directory: /usr/lib/jellyfin/bin/, [08:07:57] [INF] Setting cache path to /config/cache, [08:07:57] [INF] Loading assemblies, [08:07:57] [INF] Loaded assembly LiteDB, Version=4.1.4.0, Culture=neutral, PublicKeyToken=4ee40123013c9f27 from /config/data/plugins/Kodi Sync Queue/LiteDB.dll, [08:07:57] [INF] Loaded assembly Jellyfin.Plugin.KodiSyncQueue, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Kodi Sync Queue/Jellyfin.Plugin.KodiSyncQueue.dll, [08:07:57] [INF] Sqlite version: 3.26.0, [08:07:57] [INF] Sqlite compiler options: COMPILER=gcc-5.4.0 20160609,DEFAULT_FOREIGN_KEYS,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS4,ENABLE_FTS5,ENABLE_JSON1,ENABLE_RTREE,THREADSAFE=1, [08:07:57] [INF] Default journal_mode for /config/data/data/users.db is wal, [08:07:57] [INF] PRAGMA synchronous=1, [08:07:57] [INF] Default journal_mode for /config/data/data/authentication.db is wal, [08:07:57] [INF] PRAGMA synchronous=1, [08:07:57] [INF] Default journal_mode for /config/data/data/activitylog.db is wal, [08:07:57] [INF] PRAGMA synchronous=1, [08:07:57] [INF] Default journal_mode for /config/data/data/displaypreferences.db is wal, [08:07:57] [INF] PRAGMA synchronous=1, [08:07:57] [INF] Default journal_mode for /config/data/data/library.db is wal, [08:07:58] [INF] PRAGMA synchronous=1, [08:07:58] [INF] Jellyfin.Plugin.KodiSyncQueue IS NOW STARTING!!!, [08:07:58] [INF] Creating DB Repository..., [08:07:58] [INF] SyncAPI Created and Listening at "/Jellyfin.Plugin.KodiSyncQueue/{UserID}/GetItems?LastUpdateDT={LastUpdateDT}&format=json" - {LastUpdateDT} must be a UTC DateTime formatted as yyyy-MM-ddTHH:mm:ssZ, [08:07:58] [INF] The following parameters also exist to filter the results:, [08:07:58] [INF] filter=movies,tvshows,music,musicvideos,boxsets, [08:07:58] [INF] Results will be included by default and only filtered if added to the filter query..., [08:07:58] [INF] the filter query must be lowercase in both the name and the items..., [08:07:58] [INF] Calling ServiceStack AppHost.Init, [08:07:59] [INF] SkiaSharp version: 1.68.0.0, [08:07:59] [INF] Running startup tasks, [08:07:59] [INF] Retention Task Scheduled!, [08:07:59] [INF] Daily trigger for Remove Old Sync Data set to fire at 08/15/2019 00:01, which is 15:53:00.6686729 from now., [08:07:59] [INF] Daily trigger for Chapter image extraction set to fire at 08/15/2019 02:00, which is 17:52:00.6648947 from now., [08:07:59] [INF] FFmpeg validation: Found ffmpeg version 4.0, [08:07:59] [INF] FFmpeg validation: Found suitable ffmpeg version, [08:07:59] [INF] Validating media encoder at /usr/lib/jellyfin-ffmpeg/ffmpeg, [08:07:59] [INF] Available decoders: ["h264", "h264_cuvid", "hevc", "hevc_cuvid", "mpeg2video", "aac", "ac3", "mp3"], [08:07:59] [INF] Available encoders: ["libx264", "h264_nvenc", "h264_omx", "h264_vaapi", "libx265", "hevc_nvenc", "hevc_vaapi", "mpeg4", "msmpeg4", "aac", "ac3", "libmp3lame", "libopus", "libvorbis", "srt"], [08:07:59] [INF] Encoder validation complete, [08:07:59] [INF] FFmpeg: SetByArgument: /usr/lib/jellyfin-ffmpeg/ffmpeg, [08:07:59] [INF] ServerId: 5273c67dc0ea44f190b965cd3790ad0a, [08:07:59] [INF] Executed all pre-startup entry points in 0:00:00.1743865, [08:07:59] [INF] Core startup complete, [08:07:59] [INF] LibrarySyncNotification Startup..., [08:07:59] [INF] Loading live tv data from /config/data/data/livetv/timers.json, [08:08:00] [INF] WS http://jellyfin.mydomain.com:443/embywebsocket?api_key=d12dasflljlj456456lkebe88710&deviceId=TW96aWxsYS81LjAgKFgxMTsgVWJ1bnR1OyBMaW51eCB4ODZfNjQ7IHJ2OjY4LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvNjguMHwxNTY1MDMyMDU1MzQ5. UserAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0, [08:08:00] [WRN] GetItemList query time (slow): 123.3453. Query: select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,CustomRating,IndexNumber,IsLocked,PreferredMetadataLanguage,PreferredMetadataCountryCode,Width,Height,DateLastRefreshed,Name,Path,PremiereDate,Overview,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateCreated,DateModified,guid,Genres,ParentId,Audio,ExternalServiceId,IsInMixedFolder,DateLastSaved,LockedFields,Studios,Tags,TrailerTypes,OriginalTitle,PrimaryVersionId,DateLastMediaAdded,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,PresentationUniqueKey,InheritedParentalRatingValue,ExternalSeriesId,Tagline,ProviderIds,Images,ProductionLocations,ExtraIds,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,SeriesPresentationUniqueKey,ShowId,OwnerId from TypedBaseItems A where ParentId=@ParentId, [08:08:00] [INF] Executed all post-startup entry points in 0:00:00.8202848, [08:08:00] [INF] Watching directory /media/recordings, [08:08:01] [INF] Watching directory /media/Movies, [08:08:02] [INF] StartupTrigger fired for task: Check for plugin updates, [08:08:02] [INF] Queueing task PluginUpdateTask, [08:08:02] [INF] Executing Check for plugin updates, [08:08:03] [WRN] HTTP Response 200 to 192.168.1.1. Time (slow): 0:00:00.5675714. http://jellyfin.mydomain.com:443/emby/Users/5721b316d52a4895a51a1da8b833fa3e/Views, [08:08:03] [INF] Check for plugin updates Completed after 0 minute(s) and 0 seconds, [08:08:03] [INF] ExecuteQueuedTasks, [08:08:14] [INF] User policy for crane. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True, [08:08:14] [INF] Profile: Unknown Profile, Path: http://192.168.1.25, isEligibleForDirectPlay: True, isEligibleForDirectStream: True, [08:08:14] [INF] Profile: Unknown Profile, No direct play profiles found for Path: http://192.168.1.25, [08:08:14] [INF] Opening channel stream from Emby, external channel Id: hdhr_9.1, [08:08:14] [INF] Streaming Channel hdhr_9.1, [08:08:14] [INF] GetChannelStream: channel id: hdhr_9.1. stream id: native_7e3fb9393fa80fc2d3712f2e873550d2_f408aff5b69fbd06c9e44e363b2ff1e2 profile: native, [08:08:14] [INF] Opening SharedHttpStream Live stream from http://192.168.1.25:5004/auto/v9.1, [08:08:14] [INF] Beginning SharedHttpStream stream to /config/data/transcoding-temp/9a191f31d4bb48bf83aa4917a8e55a0f.ts, [08:08:14] [INF] Live stream opened after 297.6137ms, [08:08:14] [INF] Returning mediasource streamId native_7e3fb9393fa80fc2d3712f2e873550d2_f408aff5b69fbd06c9e44e363b2ff1e2, mediaSource.Id native_7e3fb9393fa80fc2d3712f2e873550d2_f408aff5b69fbd06c9e44e363b2ff1e2, mediaSource.LiveStreamId null, [08:08:14] [INF] Waiting 3000ms before probing the live stream, [08:08:17] [INF] /usr/lib/jellyfin-ffmpeg/ffprobe -analyzeduration 3000000 -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts" -threads 0 -v warning -print_format json -show_streams -show_format, [tcp @ 0x5572cb5ed8c0] Connection to tcp://127.0.0.1:8920 failed: Connection refused, https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts: Connection refused, [08:08:17] [ERR] Error probing live tv stream, System.Exception: ffprobe failed - streams and format are both null., at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken), at Emby.Server.Implementations.Library.LiveStreamHelper.AddMediaInfoWithProbe(MediaSourceInfo mediaSource, Boolean isAudio, String cacheKey, Boolean addProbeDelay, CancellationToken cancellationToken), at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken), [08:08:17] [INF] Live stream opened: {"Protocol":"Http","Id":"native_7e3fb9393fa80fc2d3712f2e873550d2_f408aff5b69fbd06c9e44e363b2ff1e2","Path":"https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts","Type":"Default","Container":"ts","IsRemote":false,"ReadAtNativeFramerate":false,"IgnoreDts":true,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":false,"IsInfiniteStream":true,"RequiresOpening":true,"RequiresClosing":true,"LiveStreamId":"a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_native_7e3fb9393fa80fc2d3712f2e873550d2_f408aff5b69fbd06c9e44e363b2ff1e2","BufferMs":0,"RequiresLooping":false,"SupportsProbing":true,"MediaStreams":[{"Codec":"mpeg2video","VideoRange":"SDR","DisplayTitle":"1080I MPEG2VIDEO","IsInterlaced":true,"BitRate":15000000,"IsDefault":false,"IsForced":false,"Height":1080,"Width":1920,"Type":"Video","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false},{"Codec":"AC3","DisplayTitle":"Dolby Digital","IsInterlaced":false,"BitRate":448000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false}],"Formats":[],"Bitrate":15448000,"RequiredHttpHeaders":{},"AnalyzeDurationMs":3000}, [08:08:17] [INF] User policy for crane. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True, [08:08:17] [INF] Profile: Unknown Profile, Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts, isEligibleForDirectPlay: True, isEligibleForDirectStream: True, [08:08:17] [INF] Profile: Unknown Profile, No direct play profiles found for Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts, [08:08:17] [INF] Profile: Unknown Profile, Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts, isEligibleForDirectPlay: True, isEligibleForDirectStream: True, [08:08:17] [INF] Profile: Unknown Profile, No direct play profiles found for Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts, [08:08:17] [WRN] HTTP Response 200 to 192.168.1.1. Time (slow): 0:00:03.7577997. http://jellyfin.mydomain.com:443/emby/Items/f0338991ae98e56c7b4e6309791c77b0/PlaybackInfo?UserId=5721b316d52a4895a51a1da8b833fa3e&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000, [08:08:18] [INF] /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -fflags +igndts -f mpegts -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec✌️0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 139552000 -bufsize 279104000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames "expr:gte(t,n_forced*3)" -vf "yadif=0👎0" -flags -global_header -vsync cfr -codec🅰️0 aac -strict experimental -ac 2 -ab 384000 -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3 -individual_header_trailer 0 -segment_format mpegts -segment_list_entry_prefix "hls/654e2157359e0477960349b126547697/" -segment_list_type m3u8 -segment_start_number 0 -segment_list "/config/data/transcoding-temp/654e2157359e0477960349b126547697.m3u8" -y "/config/data/transcoding-temp/654e2157359e0477960349b126547697%d.ts", [08:08:18] [INF] FFMpeg exited with code 1, ```

@kodywilson commented on GitHub (Aug 14, 2019): I'm having the exact same issue that @rechner is having. I can record shows no problem and they play back fine. Live TV, however, never works. My Jellyfin is in host mode too. <details> <summary> Docker Logs </summary> <p> ``` [cont-init.d] 30-config: executing... , [cont-init.d] 30-config: exited 0., [cont-init.d] 40-gid-video: executing... , [cont-init.d] 40-gid-video: exited 0., [cont-init.d] 99-custom-scripts: executing... , [custom-init] no custom files found exiting..., [cont-init.d] 99-custom-scripts: exited 0., [cont-init.d] done., [services.d] starting services, [services.d] done., [08:07:57] [INF] Jellyfin version: 10.3.7.0, [08:07:57] [INF] Arguments: ["/usr/lib/jellyfin/bin/jellyfin.dll", "--ffmpeg=/usr/lib/jellyfin-ffmpeg/ffmpeg"], [08:07:57] [INF] Operating system: Linux 5.0.0.23, [08:07:57] [INF] Architecture: X64, [08:07:57] [INF] 64-Bit Process: True, [08:07:57] [INF] User Interactive: True, [08:07:57] [INF] Processor count: 2, [08:07:57] [INF] Program data path: /config/data, [08:07:57] [INF] Web resources path: /usr/lib/jellyfin/bin/jellyfin-web/src, [08:07:57] [INF] Application directory: /usr/lib/jellyfin/bin/, [08:07:57] [INF] Setting cache path to /config/cache, [08:07:57] [INF] Loading assemblies, [08:07:57] [INF] Loaded assembly LiteDB, Version=4.1.4.0, Culture=neutral, PublicKeyToken=4ee40123013c9f27 from /config/data/plugins/Kodi Sync Queue/LiteDB.dll, [08:07:57] [INF] Loaded assembly Jellyfin.Plugin.KodiSyncQueue, Version=2.0.0.0, Culture=neutral, PublicKeyToken=null from /config/data/plugins/Kodi Sync Queue/Jellyfin.Plugin.KodiSyncQueue.dll, [08:07:57] [INF] Sqlite version: 3.26.0, [08:07:57] [INF] Sqlite compiler options: COMPILER=gcc-5.4.0 20160609,DEFAULT_FOREIGN_KEYS,ENABLE_COLUMN_METADATA,ENABLE_FTS3_PARENTHESIS,ENABLE_FTS4,ENABLE_FTS5,ENABLE_JSON1,ENABLE_RTREE,THREADSAFE=1, [08:07:57] [INF] Default journal_mode for /config/data/data/users.db is wal, [08:07:57] [INF] PRAGMA synchronous=1, [08:07:57] [INF] Default journal_mode for /config/data/data/authentication.db is wal, [08:07:57] [INF] PRAGMA synchronous=1, [08:07:57] [INF] Default journal_mode for /config/data/data/activitylog.db is wal, [08:07:57] [INF] PRAGMA synchronous=1, [08:07:57] [INF] Default journal_mode for /config/data/data/displaypreferences.db is wal, [08:07:57] [INF] PRAGMA synchronous=1, [08:07:57] [INF] Default journal_mode for /config/data/data/library.db is wal, [08:07:58] [INF] PRAGMA synchronous=1, [08:07:58] [INF] Jellyfin.Plugin.KodiSyncQueue IS NOW STARTING!!!, [08:07:58] [INF] Creating DB Repository..., [08:07:58] [INF] SyncAPI Created and Listening at "/Jellyfin.Plugin.KodiSyncQueue/{UserID}/GetItems?LastUpdateDT={LastUpdateDT}&format=json" - {LastUpdateDT} must be a UTC DateTime formatted as yyyy-MM-ddTHH:mm:ssZ, [08:07:58] [INF] The following parameters also exist to filter the results:, [08:07:58] [INF] filter=movies,tvshows,music,musicvideos,boxsets, [08:07:58] [INF] Results will be included by default and only filtered if added to the filter query..., [08:07:58] [INF] the filter query must be lowercase in both the name and the items..., [08:07:58] [INF] Calling ServiceStack AppHost.Init, [08:07:59] [INF] SkiaSharp version: 1.68.0.0, [08:07:59] [INF] Running startup tasks, [08:07:59] [INF] Retention Task Scheduled!, [08:07:59] [INF] Daily trigger for Remove Old Sync Data set to fire at 08/15/2019 00:01, which is 15:53:00.6686729 from now., [08:07:59] [INF] Daily trigger for Chapter image extraction set to fire at 08/15/2019 02:00, which is 17:52:00.6648947 from now., [08:07:59] [INF] FFmpeg validation: Found ffmpeg version 4.0, [08:07:59] [INF] FFmpeg validation: Found suitable ffmpeg version, [08:07:59] [INF] Validating media encoder at /usr/lib/jellyfin-ffmpeg/ffmpeg, [08:07:59] [INF] Available decoders: ["h264", "h264_cuvid", "hevc", "hevc_cuvid", "mpeg2video", "aac", "ac3", "mp3"], [08:07:59] [INF] Available encoders: ["libx264", "h264_nvenc", "h264_omx", "h264_vaapi", "libx265", "hevc_nvenc", "hevc_vaapi", "mpeg4", "msmpeg4", "aac", "ac3", "libmp3lame", "libopus", "libvorbis", "srt"], [08:07:59] [INF] Encoder validation complete, [08:07:59] [INF] FFmpeg: SetByArgument: /usr/lib/jellyfin-ffmpeg/ffmpeg, [08:07:59] [INF] ServerId: 5273c67dc0ea44f190b965cd3790ad0a, [08:07:59] [INF] Executed all pre-startup entry points in 0:00:00.1743865, [08:07:59] [INF] Core startup complete, [08:07:59] [INF] LibrarySyncNotification Startup..., [08:07:59] [INF] Loading live tv data from /config/data/data/livetv/timers.json, [08:08:00] [INF] WS http://jellyfin.mydomain.com:443/embywebsocket?api_key=d12dasflljlj456456lkebe88710&deviceId=TW96aWxsYS81LjAgKFgxMTsgVWJ1bnR1OyBMaW51eCB4ODZfNjQ7IHJ2OjY4LjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvNjguMHwxNTY1MDMyMDU1MzQ5. UserAgent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0, [08:08:00] [WRN] GetItemList query time (slow): 123.3453. Query: select type,data,StartDate,EndDate,ChannelId,IsMovie,IsSeries,EpisodeTitle,IsRepeat,CommunityRating,CustomRating,IndexNumber,IsLocked,PreferredMetadataLanguage,PreferredMetadataCountryCode,Width,Height,DateLastRefreshed,Name,Path,PremiereDate,Overview,ParentIndexNumber,ProductionYear,OfficialRating,ForcedSortName,RunTimeTicks,Size,DateCreated,DateModified,guid,Genres,ParentId,Audio,ExternalServiceId,IsInMixedFolder,DateLastSaved,LockedFields,Studios,Tags,TrailerTypes,OriginalTitle,PrimaryVersionId,DateLastMediaAdded,Album,CriticRating,IsVirtualItem,SeriesName,SeasonName,SeasonId,SeriesId,PresentationUniqueKey,InheritedParentalRatingValue,ExternalSeriesId,Tagline,ProviderIds,Images,ProductionLocations,ExtraIds,TotalBitrate,ExtraType,Artists,AlbumArtists,ExternalId,SeriesPresentationUniqueKey,ShowId,OwnerId from TypedBaseItems A where ParentId=@ParentId, [08:08:00] [INF] Executed all post-startup entry points in 0:00:00.8202848, [08:08:00] [INF] Watching directory /media/recordings, [08:08:01] [INF] Watching directory /media/Movies, [08:08:02] [INF] StartupTrigger fired for task: Check for plugin updates, [08:08:02] [INF] Queueing task PluginUpdateTask, [08:08:02] [INF] Executing Check for plugin updates, [08:08:03] [WRN] HTTP Response 200 to 192.168.1.1. Time (slow): 0:00:00.5675714. http://jellyfin.mydomain.com:443/emby/Users/5721b316d52a4895a51a1da8b833fa3e/Views, [08:08:03] [INF] Check for plugin updates Completed after 0 minute(s) and 0 seconds, [08:08:03] [INF] ExecuteQueuedTasks, [08:08:14] [INF] User policy for crane. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True, [08:08:14] [INF] Profile: Unknown Profile, Path: http://192.168.1.25, isEligibleForDirectPlay: True, isEligibleForDirectStream: True, [08:08:14] [INF] Profile: Unknown Profile, No direct play profiles found for Path: http://192.168.1.25, [08:08:14] [INF] Opening channel stream from Emby, external channel Id: hdhr_9.1, [08:08:14] [INF] Streaming Channel hdhr_9.1, [08:08:14] [INF] GetChannelStream: channel id: hdhr_9.1. stream id: native_7e3fb9393fa80fc2d3712f2e873550d2_f408aff5b69fbd06c9e44e363b2ff1e2 profile: native, [08:08:14] [INF] Opening SharedHttpStream Live stream from http://192.168.1.25:5004/auto/v9.1, [08:08:14] [INF] Beginning SharedHttpStream stream to /config/data/transcoding-temp/9a191f31d4bb48bf83aa4917a8e55a0f.ts, [08:08:14] [INF] Live stream opened after 297.6137ms, [08:08:14] [INF] Returning mediasource streamId native_7e3fb9393fa80fc2d3712f2e873550d2_f408aff5b69fbd06c9e44e363b2ff1e2, mediaSource.Id native_7e3fb9393fa80fc2d3712f2e873550d2_f408aff5b69fbd06c9e44e363b2ff1e2, mediaSource.LiveStreamId null, [08:08:14] [INF] Waiting 3000ms before probing the live stream, [08:08:17] [INF] /usr/lib/jellyfin-ffmpeg/ffprobe -analyzeduration 3000000 -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts" -threads 0 -v warning -print_format json -show_streams -show_format, [tcp @ 0x5572cb5ed8c0] Connection to tcp://127.0.0.1:8920 failed: Connection refused, https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts: Connection refused, [08:08:17] [ERR] Error probing live tv stream, System.Exception: ffprobe failed - streams and format are both null., at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken), at Emby.Server.Implementations.Library.LiveStreamHelper.AddMediaInfoWithProbe(MediaSourceInfo mediaSource, Boolean isAudio, String cacheKey, Boolean addProbeDelay, CancellationToken cancellationToken), at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken), [08:08:17] [INF] Live stream opened: {"Protocol":"Http","Id":"native_7e3fb9393fa80fc2d3712f2e873550d2_f408aff5b69fbd06c9e44e363b2ff1e2","Path":"https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts","Type":"Default","Container":"ts","IsRemote":false,"ReadAtNativeFramerate":false,"IgnoreDts":true,"IgnoreIndex":false,"GenPtsInput":false,"SupportsTranscoding":true,"SupportsDirectStream":true,"SupportsDirectPlay":false,"IsInfiniteStream":true,"RequiresOpening":true,"RequiresClosing":true,"LiveStreamId":"a17c75760a04e99b68cf766e11316e1c_09efa0d56b934a82adec00a87b837fb0_native_7e3fb9393fa80fc2d3712f2e873550d2_f408aff5b69fbd06c9e44e363b2ff1e2","BufferMs":0,"RequiresLooping":false,"SupportsProbing":true,"MediaStreams":[{"Codec":"mpeg2video","VideoRange":"SDR","DisplayTitle":"1080I MPEG2VIDEO","IsInterlaced":true,"BitRate":15000000,"IsDefault":false,"IsForced":false,"Height":1080,"Width":1920,"Type":"Video","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false},{"Codec":"AC3","DisplayTitle":"Dolby Digital","IsInterlaced":false,"BitRate":448000,"IsDefault":false,"IsForced":false,"Type":"Audio","Index":-1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false}],"Formats":[],"Bitrate":15448000,"RequiredHttpHeaders":{},"AnalyzeDurationMs":3000}, [08:08:17] [INF] User policy for crane. EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True, [08:08:17] [INF] Profile: Unknown Profile, Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts, isEligibleForDirectPlay: True, isEligibleForDirectStream: True, [08:08:17] [INF] Profile: Unknown Profile, No direct play profiles found for Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts, [08:08:17] [INF] Profile: Unknown Profile, Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts, isEligibleForDirectPlay: True, isEligibleForDirectStream: True, [08:08:17] [INF] Profile: Unknown Profile, No direct play profiles found for Path: https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts, [08:08:17] [WRN] HTTP Response 200 to 192.168.1.1. Time (slow): 0:00:03.7577997. http://jellyfin.mydomain.com:443/emby/Items/f0338991ae98e56c7b4e6309791c77b0/PlaybackInfo?UserId=5721b316d52a4895a51a1da8b833fa3e&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000, [08:08:18] [INF] /usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 3000000 -fflags +igndts -f mpegts -i "https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts" -map_metadata -1 -map_chapters -1 -threads 0 -sn -codec:v:0 libx264 -pix_fmt yuv420p -preset veryfast -crf 23 -maxrate 139552000 -bufsize 279104000 -profile:v high -level 4.1 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames "expr:gte(t,n_forced*3)" -vf "yadif=0:-1:0" -flags -global_header -vsync cfr -codec:a:0 aac -strict experimental -ac 2 -ab 384000 -f segment -max_delay 5000000 -avoid_negative_ts disabled -start_at_zero -segment_time 3 -individual_header_trailer 0 -segment_format mpegts -segment_list_entry_prefix "hls/654e2157359e0477960349b126547697/" -segment_list_type m3u8 -segment_start_number 0 -segment_list "/config/data/transcoding-temp/654e2157359e0477960349b126547697.m3u8" -y "/config/data/transcoding-temp/654e2157359e0477960349b126547697%d.ts", [08:08:18] [INF] FFMpeg exited with code 1, ``` </p>
Author
Owner

@PrplHaz4 commented on GitHub (Aug 14, 2019):

@kodywilson are you behind a reverse proxy and purposely using the 8920 port?

[tcp @ 0x5572cb5ed8c0] Connection to tcp://127.0.0.1:8920 failed: Connection refused, https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts: Connection refused, 
[08:08:17] [ERR] Error probing live tv stream, System.Exception: ffprobe failed - streams and format are both null., at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken), at Emby.Server.Implementations.Library.LiveStreamHelper.AddMediaInfoWithProbe(MediaSourceInfo mediaSource, Boolean isAudio, String cacheKey, Boolean addProbeDelay, CancellationToken cancellationToken), at 
@PrplHaz4 commented on GitHub (Aug 14, 2019): @kodywilson are you behind a reverse proxy and purposely using the 8920 port? ```` [tcp @ 0x5572cb5ed8c0] Connection to tcp://127.0.0.1:8920 failed: Connection refused, https://127.0.0.1:8920/LiveTv/LiveStreamFiles/9a191f31d4bb48bf83aa4917a8e55a0f/stream.ts: Connection refused, [08:08:17] [ERR] Error probing live tv stream, System.Exception: ffprobe failed - streams and format are both null., at MediaBrowser.MediaEncoding.Encoder.MediaEncoder.GetMediaInfoInternal(String inputPath, String primaryPath, MediaProtocol protocol, Boolean extractChapters, String probeSizeArgument, Boolean isAudio, Nullable`1 videoType, Boolean forceEnableLogging, CancellationToken cancellationToken), at Emby.Server.Implementations.Library.LiveStreamHelper.AddMediaInfoWithProbe(MediaSourceInfo mediaSource, Boolean isAudio, String cacheKey, Boolean addProbeDelay, CancellationToken cancellationToken), at ````
Author
Owner

@kodywilson commented on GitHub (Aug 14, 2019):

I am behind an nginx reverse proxy. No to the port thing, I only tried that after getting desperate. :)
You know, I just looked through the logs and it always mentioned that, even before I added 8920 to the compose file.

Right now, in advanced Jellyfin settings I have:
Local HTTP: 8096
Local HTTPS: 8920
Public HTTP: 8096
Public HTTPS: 443

and then this in my docker compose:

network_mode: "host"
ports:
  - 8096:8096
  - 8920:8920

I didn't have 8920 in the compose file at first, but was still getting the same error messages. In fact, I added it after seeing the error message thinking it was part of the problem. :)

Everything else that I have tried works great, it is only live TV giving issues. I use an HD HomeRun connect.

@kodywilson commented on GitHub (Aug 14, 2019): I am behind an nginx reverse proxy. No to the port thing, I only tried that after getting desperate. :) You know, I just looked through the logs and it always mentioned that, even before I added 8920 to the compose file. Right now, in advanced Jellyfin settings I have: Local HTTP: 8096 Local HTTPS: 8920 Public HTTP: 8096 Public HTTPS: 443 and then this in my docker compose: ``` network_mode: "host" ports: - 8096:8096 - 8920:8920 ``` I didn't have 8920 in the compose file at first, but was still getting the same error messages. In fact, I added it after seeing the error message thinking it was part of the problem. :) Everything else that I have tried works great, it is only live TV giving issues. I use an HD HomeRun connect.
Author
Owner

@cvium commented on GitHub (Aug 15, 2019):

This appears to have been broken by https://github.com/jellyfin/jellyfin/pull/1103 (specifically e64aaebbac (diff-9b2ea67d89a2f298440a152bc96a08f2R204)). UDP sockets are connectionless, which NetworkStream does not like...

@cvium commented on GitHub (Aug 15, 2019): This appears to have been broken by https://github.com/jellyfin/jellyfin/pull/1103 (specifically https://github.com/jellyfin/jellyfin/commit/e64aaebbacfa7a720c99ca2ab1aa11f7fcd63868#diff-9b2ea67d89a2f298440a152bc96a08f2R204). UDP sockets are connectionless, which NetworkStream does not like...
Author
Owner

@anthonylavado commented on GitHub (Aug 16, 2019):

We have a potential fix in a PR. Is there anyone here with an issue that could test it for us?

@anthonylavado commented on GitHub (Aug 16, 2019): We have a potential fix in a PR. Is there anyone here with an issue that could test it for us?
Author
Owner

@kodywilson commented on GitHub (Aug 17, 2019):

I would test it. Do I just pull an image with a certain tag and redeploy?

@anthonylavado

@kodywilson commented on GitHub (Aug 17, 2019): I would test it. Do I just pull an image with a certain tag and redeploy? @anthonylavado
Author
Owner

@markcs commented on GitHub (Aug 17, 2019):

@Bond-009 Happy to test! Instructions would be great, to make sure I test correctly!

@anthonylavado

@markcs commented on GitHub (Aug 17, 2019): @Bond-009 Happy to test! Instructions would be great, to make sure I test correctly! @anthonylavado
Author
Owner

@kodywilson commented on GitHub (Aug 27, 2019):

Hi @anthonylavado and @Bond-009 is there anything that I can do to help test this? Do I pull down the branch and then rebuild the image, docker deploy, and then try it out? Is that the best way or should it be in a nightly build and then I pull that version?
Please let me know and thank you so much for all you do!

@kodywilson commented on GitHub (Aug 27, 2019): Hi @anthonylavado and @Bond-009 is there anything that I can do to help test this? Do I pull down the branch and then rebuild the image, docker deploy, and then try it out? Is that the best way or should it be in a nightly build and then I pull that version? Please let me know and thank you so much for all you do!
Author
Owner

@anthonylavado commented on GitHub (Aug 27, 2019):

Sorry we haven't merged this yet - the idea is that yes, we'll merge it, and then anyone with Docker can pull down a nightly to test with. There have been some other changes that have gone in since, and we need to fix some merge conflicts first.

@anthonylavado commented on GitHub (Aug 27, 2019): Sorry we haven't merged this yet - the idea is that yes, we'll merge it, and then anyone with Docker can pull down a nightly to test with. There have been some other changes that have gone in since, and we need to fix some merge conflicts first.
Author
Owner

@kodywilson commented on GitHub (Aug 27, 2019):

Right on, thanks Anthony, looking forward to testing this out!

@kodywilson commented on GitHub (Aug 27, 2019): Right on, thanks Anthony, looking forward to testing this out!
Author
Owner

@anthonylavado commented on GitHub (Aug 28, 2019):

With the magic words, GitHub auto closes an issue when the PR is merged to master.

Anyway, this is in now, and there will be a nightly generated as a result. Check for a tag after midnight EDT (currently UTC -4).

@anthonylavado commented on GitHub (Aug 28, 2019): With the magic words, GitHub auto closes an issue when the PR is merged to master. Anyway, this is in now, and there will be a nightly generated as a result. Check for a tag after midnight EDT (currently UTC -4).
Author
Owner

@PrplHaz4 commented on GitHub (Aug 29, 2019):

@anthonylavado It looks like that nightly has resolved the LiveTV issue - I am able to play livetv with my HDHR using the native jellyfin LiveTV feature.

As a note to anyone following - I DID find that your proxy settings make a difference for LiveTV. I have jf behind a reverse proxy, so the url with port 8920 was not reachable by any of my clients. Changing Secure Connection Mode to Disabled and restarting Jellyfin got me a successful HDHR LiveTV stream.

Secure Connection Mode = Disabled

  • ffmpeg references http://127.0.0.1:8096/LiveTv/LiveStreamFiles/dbad7339d3b146caadfae1b4e596acca/stream.ts
  • Streams successfully

Secure Connection Mode = Handled by Reverse Proxy

  • ffmpeg references https://127.0.0.1:8920/LiveTv/LiveStreamFiles/5976d69faa434b4db64d651640d5b7da/stream.ts
  • ffmpeg exits with Exit Code 1
@PrplHaz4 commented on GitHub (Aug 29, 2019): @anthonylavado It looks like that nightly has resolved the LiveTV issue - I am able to play livetv with my HDHR using the native jellyfin LiveTV feature. As a note to anyone following - I DID find that your proxy settings make a difference for LiveTV. I have jf behind a reverse proxy, so the url with port 8920 was not reachable by any of my clients. Changing Secure Connection Mode to `Disabled` and restarting Jellyfin got me a successful HDHR LiveTV stream. **Secure Connection Mode = `Disabled`** - ffmpeg references `http://127.0.0.1:8096/LiveTv/LiveStreamFiles/dbad7339d3b146caadfae1b4e596acca/stream.ts` - Streams successfully **Secure Connection Mode = `Handled by Reverse Proxy`** - ffmpeg references `https://127.0.0.1:8920/LiveTv/LiveStreamFiles/5976d69faa434b4db64d651640d5b7da/stream.ts` - ffmpeg exits with Exit Code 1
Author
Owner

@kodywilson commented on GitHub (Aug 29, 2019):

I just tested it as well and it fixed the live tv issues I was having!

@kodywilson commented on GitHub (Aug 29, 2019): I just tested it as well and it fixed the live tv issues I was having!
Author
Owner

@markcs commented on GitHub (Aug 30, 2019):

The latest Jellyfin nightly in the Ubuntu repo is still jellyfin-nightly_20190824_amd64.deb, so I haven't been able to test the original issue yet. Will comment when I've tested on a later release

@markcs commented on GitHub (Aug 30, 2019): The latest Jellyfin nightly in the Ubuntu repo is still jellyfin-nightly_20190824_amd64.deb, so I haven't been able to test the original issue yet. Will comment when I've tested on a later release
Author
Owner

@markcs commented on GitHub (Aug 30, 2019):

I just updated to version Version: 10.3.7 or version jellyfin-nightly_20190830_amd64.deb.

I see the following error when I try to start the live TV stream:

[2019-08-30 15:40:13.038 +10:00] [INF] Opening HDHR UDP Live stream from "192.168.1.220"
[2019-08-30 15:40:13.039 +10:00] [ERR] Error opening live stream:
System.Net.Sockets.SocketException (99): Cannot assign requested address
at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Bind(EndPoint localEP)
at System.Net.Sockets.TcpClient..ctor(IPEndPoint localEP)
at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunManager.StartStreaming(IPAddress remoteIp, IPAddress localIp, Int32 localPort, IHdHomerunChannelCommands commands, Int32 numTuners, CancellationToken cancellationToken)
at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken)
[2019-08-30 15:40:13.040 +10:00] [ERR] Error opening tuner

NOTE: I am not using docker

@markcs commented on GitHub (Aug 30, 2019): I just updated to version Version: 10.3.7 or version jellyfin-nightly_20190830_amd64.deb. I see the following error when I try to start the live TV stream: > [2019-08-30 15:40:13.038 +10:00] [INF] Opening HDHR UDP Live stream from "192.168.1.220" > [2019-08-30 15:40:13.039 +10:00] [ERR] Error opening live stream: > System.Net.Sockets.SocketException (99): Cannot assign requested address > at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName) > at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) > at System.Net.Sockets.Socket.Bind(EndPoint localEP) > at System.Net.Sockets.TcpClient..ctor(IPEndPoint localEP) > at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunManager.StartStreaming(IPAddress remoteIp, IPAddress localIp, Int32 localPort, IHdHomerunChannelCommands commands, Int32 numTuners, CancellationToken cancellationToken) > at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken) > [2019-08-30 15:40:13.040 +10:00] [ERR] Error opening tuner NOTE: I am not using docker
Author
Owner

@kodywilson commented on GitHub (Sep 9, 2019):

This is probably a dumb question @markcs , but does the tuner work when you use the HDHomeRun app or through another program? Do you have the tuner in another controller like TVHeadend? Sometimes they are sticky and don't let go of the channel causing other applications to be unable to use it. I like to check the status page for the HD HomeRun device (just browse to the IP address you assigned it) to see if the tuners are being used by anything else.

Looking at your error messages, I would guess firewall or permissions issue. I run Jellyfin from a container, but you aren't using Docker. On your system, does it run as your user or root?

The nightly @anthonylavado had us use fixed my and @PrplHaz4 issue with live TV, so what you are experiencing must be different. Are you interested in trying it from Docker just for grins? I could send you the code I have in my Docker compose file.

@kodywilson commented on GitHub (Sep 9, 2019): This is probably a dumb question @markcs , but does the tuner work when you use the HDHomeRun app or through another program? Do you have the tuner in another controller like TVHeadend? Sometimes they are sticky and don't let go of the channel causing other applications to be unable to use it. I like to check the status page for the HD HomeRun device (just browse to the IP address you assigned it) to see if the tuners are being used by anything else. Looking at your error messages, I would guess firewall or permissions issue. I run Jellyfin from a container, but you aren't using Docker. On your system, does it run as your user or root? The nightly @anthonylavado had us use fixed my and @PrplHaz4 issue with live TV, so what you are experiencing must be different. Are you interested in trying it from Docker just for grins? I could send you the code I have in my Docker compose file.
Author
Owner

@markcs commented on GitHub (Sep 9, 2019):

This is probably a dumb question @markcs , but does the tuner work when you use the HDHomeRun app or through another program? Do you have the tuner in another controller like TVHeadend? Sometimes they are sticky and don't let go of the channel causing other applications to be unable to use it. I like to check the status page for the HD HomeRun device (just browse to the IP address you assigned it) to see if the tuners are being used by anything else.

Looking at your error messages, I would guess firewall or permissions issue. I run Jellyfin from a container, but you aren't using Docker. On your system, does it run as your user or root?

@kodywilson May be not a dumb question, but yes, my HDHomeRun tuner works well with Plex, the HDHomeRun app and via Live Channels from my Shield. When I try to run Jellyfin, I do it from the same server that runs Plex (but I shut Plex down first, especially when testing for these bugs). I'm almost 100% sure it is not my environment that is the issue.

When Jellyfin is installed through the repo, it creates a user called jellyfin and runs as that user. Running jellyfin as root or other user has no effect and has the same issue.

Out of curiosity, what HDHomeRun device do you have? Mine is an old Model: HDHR3-DT

@markcs commented on GitHub (Sep 9, 2019): > > > This is probably a dumb question @markcs , but does the tuner work when you use the HDHomeRun app or through another program? Do you have the tuner in another controller like TVHeadend? Sometimes they are sticky and don't let go of the channel causing other applications to be unable to use it. I like to check the status page for the HD HomeRun device (just browse to the IP address you assigned it) to see if the tuners are being used by anything else. > > Looking at your error messages, I would guess firewall or permissions issue. I run Jellyfin from a container, but you aren't using Docker. On your system, does it run as your user or root? > @kodywilson May be not a dumb question, but yes, my HDHomeRun tuner works well with Plex, the HDHomeRun app and via Live Channels from my Shield. When I try to run Jellyfin, I do it from the same server that runs Plex (but I shut Plex down first, especially when testing for these bugs). I'm almost 100% sure it is not my environment that is the issue. When Jellyfin is installed through the repo, it creates a user called jellyfin and runs as that user. Running jellyfin as root or other user has no effect and has the same issue. Out of curiosity, what HDHomeRun device do you have? Mine is an old Model: HDHR3-DT
Author
Owner

@PrplHaz4 commented on GitHub (Sep 10, 2019):

@markcs Your HDHR should still be supported as the "native" HDHR support in Jellyfin uses the "original" UDP protocol for streaming (not HTTP) - some info on hardware generations here: https://forum.silicondust.com/forum/viewtopic.php?t=71707

Some notes from Windows Docs:

WSAEADDRNOTAVAIL 10049 | Cannot assign requested address.
The requested address is not valid in its context. This normally results from an attempt to bind to an address that is not valid for the local computer. This can also result from connect, sendto, WSAConnect, WSAJoinLeaf, or WSASendTo when the remote address or port is not valid for a remote computer (for example, address or port 0).

My working hardware:

Model: HDHR4-2US
Firmware: 20190621 
@PrplHaz4 commented on GitHub (Sep 10, 2019): @markcs Your HDHR should still be supported as the "native" HDHR support in Jellyfin uses the "original" UDP protocol for streaming (not HTTP) - some info on hardware generations here: https://forum.silicondust.com/forum/viewtopic.php?t=71707 Some notes from Windows Docs: ``` WSAEADDRNOTAVAIL 10049 | Cannot assign requested address. The requested address is not valid in its context. This normally results from an attempt to bind to an address that is not valid for the local computer. This can also result from connect, sendto, WSAConnect, WSAJoinLeaf, or WSASendTo when the remote address or port is not valid for a remote computer (for example, address or port 0). ``` My working hardware: ``` Model: HDHR4-2US Firmware: 20190621 ```
Author
Owner

@kodywilson commented on GitHub (Sep 10, 2019):

Mine is the same as @PrplHaz4

Hardware Model HDHR4-2US
Firmware Version 20190621

Only difference being slightly newer firmware for mine.

@kodywilson commented on GitHub (Sep 10, 2019): Mine is the same as @PrplHaz4 Hardware Model | HDHR4-2US -- | -- Firmware Version | 20190621 Only difference being slightly newer firmware for mine.
Author
Owner

@SenorSmartyPants commented on GitHub (Sep 30, 2019):

DVR is not recording for me with the same kind of errors

Docker log

jellyfin | 2019-09-30T18:39:16.929673789Z [13:39:16] [INF] Recording timer fired for Bewitched.
jellyfin | 2019-09-30T18:39:16.949474717Z [13:39:16] [INF] Opening channel stream from Emby, external channel Id: hdhr_15.3
jellyfin | 2019-09-30T18:39:16.951130342Z [13:39:16] [INF] Streaming Channel hdhr_15.3
jellyfin | 2019-09-30T18:39:16.962118600Z [13:39:16] [INF] GetChannelStream: channel id: hdhr_15.3. stream id: native_446cf598f8a5902c6190c9f302979323_e73af4f2996429a3c39c05d809b22ec9 profile: native
jellyfin | 2019-09-30T18:39:16.977403534Z [13:39:16] [INF] Opening HDHR UDP Live stream from 192.168.1.49
jellyfin | 2019-09-30T18:39:16.994189522Z [13:39:16] [ERR] Error opening live stream:
jellyfin | 2019-09-30T18:39:16.995683035Z System.Net.Sockets.SocketException (99): Cannot assign requested address
jellyfin | 2019-09-30T18:39:16.996199413Z at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
jellyfin | 2019-09-30T18:39:16.997197171Z at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
jellyfin | 2019-09-30T18:39:16.997592599Z at System.Net.Sockets.Socket.Bind(EndPoint localEP)
jellyfin | 2019-09-30T18:39:17.000229901Z at System.Net.Sockets.TcpClient..ctor(IPEndPoint localEP)
jellyfin | 2019-09-30T18:39:17.000660327Z at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunManager.StartStreaming(IPAddress remoteIp, IPAddress localIp, Int32 localPort, IHdHomerunChannelCommands commands, Int32 numTuners, CancellationToken cancellationToken)
jellyfin | 2019-09-30T18:39:17.001611964Z at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken)
jellyfin | 2019-09-30T18:39:17.025246687Z [13:39:17] [ERR] Error opening tuner
jellyfin | 2019-09-30T18:39:17.025541957Z System.Net.Sockets.SocketException (99): Cannot assign requested address
jellyfin | 2019-09-30T18:39:17.025659406Z at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
jellyfin | 2019-09-30T18:39:17.025742192Z at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
jellyfin | 2019-09-30T18:39:17.025929886Z at System.Net.Sockets.Socket.Bind(EndPoint localEP)
jellyfin | 2019-09-30T18:39:17.026013838Z at System.Net.Sockets.TcpClient..ctor(IPEndPoint localEP)
jellyfin | 2019-09-30T18:39:17.026087166Z at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunManager.StartStreaming(IPAddress remoteIp, IPAddress localIp, Int32 localPort, IHdHomerunChannelCommands commands, Int32 numTuners, CancellationToken cancellationToken)
jellyfin | 2019-09-30T18:39:17.026259319Z at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken)
jellyfin | 2019-09-30T18:39:17.026341771Z at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List1 currentLiveStreams, CancellationToken cancellationToken) jellyfin | 2019-09-30T18:39:17.084454569Z [13:39:17] [ERR] Error recording to /media/Videos/JFDVR/Tv/Bewitched/Bewitched 2019_09_30_13_30_00.ts jellyfin | 2019-09-30T18:39:17.085060899Z MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown. jellyfin | 2019-09-30T18:39:17.085939791Z at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List1 currentLiveStreams, CancellationToken cancellationToken)
jellyfin | 2019-09-30T18:39:17.096862553Z at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List1 currentLiveStreams, CancellationToken cancellationToken) jellyfin | 2019-09-30T18:39:17.098743787Z at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List1 currentLiveStreams, CancellationToken cancellationToken)
jellyfin | 2019-09-30T18:39:17.099233083Z at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken)
jellyfin | 2019-09-30T18:39:17.101504329Z at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken)
jellyfin | 2019-09-30T18:39:17.101772767Z at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.RecordStream(TimerInfo timer, DateTime recordingEndDate, ActiveRecordingInfo activeRecordingInfo)

HDHR hardware info

HDHomeRun DUAL
Model: HDHR3-US
Firmware: 20170930

Docker ARM64 nightly-20190930

@SenorSmartyPants commented on GitHub (Sep 30, 2019): DVR is not recording for me with the same kind of errors <details><summary>Docker log</summary> > jellyfin | 2019-09-30T18:39:16.929673789Z [13:39:16] [INF] Recording timer fired for Bewitched. > jellyfin | 2019-09-30T18:39:16.949474717Z [13:39:16] [INF] Opening channel stream from Emby, external channel Id: hdhr_15.3 > jellyfin | 2019-09-30T18:39:16.951130342Z [13:39:16] [INF] Streaming Channel hdhr_15.3 > jellyfin | 2019-09-30T18:39:16.962118600Z [13:39:16] [INF] GetChannelStream: channel id: hdhr_15.3. stream id: native_446cf598f8a5902c6190c9f302979323_e73af4f2996429a3c39c05d809b22ec9 profile: native > jellyfin | 2019-09-30T18:39:16.977403534Z [13:39:16] [INF] Opening HDHR UDP Live stream from 192.168.1.49 > jellyfin | 2019-09-30T18:39:16.994189522Z [13:39:16] [ERR] Error opening live stream: > jellyfin | 2019-09-30T18:39:16.995683035Z System.Net.Sockets.SocketException (99): Cannot assign requested address > jellyfin | 2019-09-30T18:39:16.996199413Z at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName) > jellyfin | 2019-09-30T18:39:16.997197171Z at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) > jellyfin | 2019-09-30T18:39:16.997592599Z at System.Net.Sockets.Socket.Bind(EndPoint localEP) > jellyfin | 2019-09-30T18:39:17.000229901Z at System.Net.Sockets.TcpClient..ctor(IPEndPoint localEP) > jellyfin | 2019-09-30T18:39:17.000660327Z at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunManager.StartStreaming(IPAddress remoteIp, IPAddress localIp, Int32 localPort, IHdHomerunChannelCommands commands, Int32 numTuners, CancellationToken cancellationToken) > jellyfin | 2019-09-30T18:39:17.001611964Z at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken) > jellyfin | 2019-09-30T18:39:17.025246687Z [13:39:17] [ERR] Error opening tuner > jellyfin | 2019-09-30T18:39:17.025541957Z System.Net.Sockets.SocketException (99): Cannot assign requested address > jellyfin | 2019-09-30T18:39:17.025659406Z at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName) > jellyfin | 2019-09-30T18:39:17.025742192Z at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) > jellyfin | 2019-09-30T18:39:17.025929886Z at System.Net.Sockets.Socket.Bind(EndPoint localEP) > jellyfin | 2019-09-30T18:39:17.026013838Z at System.Net.Sockets.TcpClient..ctor(IPEndPoint localEP) > jellyfin | 2019-09-30T18:39:17.026087166Z at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunManager.StartStreaming(IPAddress remoteIp, IPAddress localIp, Int32 localPort, IHdHomerunChannelCommands commands, Int32 numTuners, CancellationToken cancellationToken) > jellyfin | 2019-09-30T18:39:17.026259319Z at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken) > jellyfin | 2019-09-30T18:39:17.026341771Z at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) > jellyfin | 2019-09-30T18:39:17.084454569Z [13:39:17] [ERR] Error recording to /media/Videos/JFDVR/Tv/Bewitched/Bewitched 2019_09_30_13_30_00.ts > jellyfin | 2019-09-30T18:39:17.085060899Z MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown. > jellyfin | 2019-09-30T18:39:17.085939791Z at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) > jellyfin | 2019-09-30T18:39:17.096862553Z at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) > jellyfin | 2019-09-30T18:39:17.098743787Z at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken) > jellyfin | 2019-09-30T18:39:17.099233083Z at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken) > jellyfin | 2019-09-30T18:39:17.101504329Z at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken) > jellyfin | 2019-09-30T18:39:17.101772767Z at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.RecordStream(TimerInfo timer, DateTime recordingEndDate, ActiveRecordingInfo activeRecordingInfo) </details> HDHR hardware info HDHomeRun DUAL Model: HDHR3-US Firmware: 20170930 Docker ARM64 nightly-20190930
Author
Owner

@mooninite commented on GitHub (Oct 20, 2019):

@anthonylavado It looks like that nightly has resolved the LiveTV issue - I am able to play livetv with my HDHR using the native jellyfin LiveTV feature.

As a note to anyone following - I DID find that your proxy settings make a difference for LiveTV. I have jf behind a reverse proxy, so the url with port 8920 was not reachable by any of my clients. Changing Secure Connection Mode to Disabled and restarting Jellyfin got me a successful HDHR LiveTV stream.

Yes, this is the problem. Emby would use http instead of https. If we want to use https then instead of 127.0.0.1 we need to use the server DNS host name. Then this will all work.

Let's Encrypt won't issue certs with SAN IP addresses.

@mooninite commented on GitHub (Oct 20, 2019): > @anthonylavado It looks like that nightly has resolved the LiveTV issue - I am able to play livetv with my HDHR using the native jellyfin LiveTV feature. > > As a note to anyone following - I DID find that your proxy settings make a difference for LiveTV. I have jf behind a reverse proxy, so the url with port 8920 was not reachable by any of my clients. Changing Secure Connection Mode to `Disabled` and restarting Jellyfin got me a successful HDHR LiveTV stream. Yes, this is the problem. Emby would use http instead of https. If we want to use https then instead of 127.0.0.1 we need to use the server DNS host name. Then this will all work. Let's Encrypt won't issue certs with SAN IP addresses.
Author
Owner

@kodywilson commented on GitHub (Oct 24, 2019):

@anthonylavado Is it possible to merge in whatever changes were made that fixed the issues @PrplHaz4 and I were having?

I'm not suggesting to close this issue, since some people are still having problems, but maybe https://github.com/jellyfin/jellyfin/pull/1633 can be merged into master so those of us helped by it can start using Live TV?

@kodywilson commented on GitHub (Oct 24, 2019): @anthonylavado Is it possible to merge in whatever changes were made that fixed the issues @PrplHaz4 and I were having? I'm not suggesting to close this issue, since some people are still having problems, but maybe https://github.com/jellyfin/jellyfin/pull/1633 can be merged into master so those of us helped by it can start using Live TV?
Author
Owner

@anthonylavado commented on GitHub (Oct 25, 2019):

@kodywilson From what I can see, it was released in 10.4.0...

@anthonylavado commented on GitHub (Oct 25, 2019): @kodywilson From what I can see, it was released in 10.4.0...
Author
Owner

@adamheffernan commented on GitHub (Oct 26, 2019):

Not fixed here having issues playing live TV on Android client, browser works fine.

@adamheffernan commented on GitHub (Oct 26, 2019): Not fixed here having issues playing live TV on Android client, browser works fine.
Author
Owner

@dinki commented on GitHub (Oct 26, 2019):

Not fixed here having issues playing live TV on Android client, browser works fine.

Android client has never been able to play live tv for me. Android TV and web work fine though.

@dinki commented on GitHub (Oct 26, 2019): > Not fixed here having issues playing live TV on Android client, browser works fine. Android client has never been able to play live tv for me. Android TV and web work fine though.
Author
Owner

@JustAMan commented on GitHub (Nov 1, 2019):

If stuff works on browser then most likely it's the non-browser client which is broken, please create separate issue there if no such issue already exists.

@JustAMan commented on GitHub (Nov 1, 2019): If stuff works on browser then most likely it's the non-browser client which is broken, please create separate issue there if no such issue already exists.
Author
Owner

@hobesman commented on GitHub (Nov 19, 2019):

For me, the problem was that the stream was looking for 127.0.0.1/.../stream.ts, but I had changed the network settings in Jellyfin to bind to a specific network IP, in which case Jellyfin stops responding on 127.0.0.1.

When I reset that entry in the Jellyfin network settings (thereby allowing Jellyfin to bind to all IPs) and restarted Jellyfin, live tv started working. This may be a separate bug from what others are experiencing.

@hobesman commented on GitHub (Nov 19, 2019): For me, the problem was that the stream was looking for 127.0.0.1/.../stream.ts, but I had changed the network settings in Jellyfin to bind to a specific network IP, in which case Jellyfin stops responding on 127.0.0.1. When I reset that entry in the Jellyfin network settings (thereby allowing Jellyfin to bind to all IPs) and restarted Jellyfin, live tv started working. This may be a separate bug from what others are experiencing.
Author
Owner

@JustAMan commented on GitHub (Nov 19, 2019):

@hobesman can you file an issue about that IP binding and LiveTV problems you saw?

@JustAMan commented on GitHub (Nov 19, 2019): @hobesman can you file an issue about that IP binding and LiveTV problems you saw?
Author
Owner

@stale[bot] commented on GitHub (Mar 18, 2020):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@stale[bot] commented on GitHub (Mar 18, 2020): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Author
Owner

@jeremyvisser commented on GitHub (May 12, 2020):

I’m still experiencing this issue as originally described. I won’t re-post logs, since they are identical to the above.

I’m running the latest Docker image (5e41dfe87d74, v10.5.5), with networking in host mode, and Live TV successfully discovers the HDHomeRun (my model HDHR-EU) and channels, but playback just spins.

One thing that really surprised me was the strace output, where it appears like Jellyfin is trying to bind to the HDHomeRun's address.

In the below example, the Jellyfin host (including Docker container in host mode) has IP address 192.168.23.2. Meanwhile, the HDHomeRun has IP address 192.168.23.6.

[pid 19083] socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC, IPPROTO_UDP) = 277
[pid 19083] bind(277, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
[pid 19083] getsockname(277, {sa_family=AF_INET, sin_port=htons(43460), sin_addr=inet_addr("0.0.0.0")}, [16]) = 0
[pid 19083] shutdown(277, SHUT_RDWR)    = -1 ENOTCONN (Transport endpoint is not connected)
[pid 19083] socket(AF_INET6, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 277
[pid 19083] setsockopt(277, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0
[pid 19083] setsockopt(277, SOL_IPV6, IPV6_V6ONLY, [0], 4) = 0
[pid 19083] getsockopt(277, SOL_IPV6, IPV6_V6ONLY, [0], [4]) = 0
[pid 19083] getsockopt(277, SOL_IPV6, IPV6_V6ONLY, [0], [4]) = 0
[pid 19083] connect(277, {sa_family=AF_INET6, sin6_port=htons(65001), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:192.168.23.6", &sin6_addr), sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress)
[pid 19083] getsockopt(277, SOL_SOCKET, SO_ERROR, [0], [4]) = 0
[pid 19083] getpeername(277, {sa_family=AF_INET6, sin6_port=htons(65001), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:192.168.23.6", &sin6_addr), sin6_scope_id=0}, [28]) = 0
[pid 19083] shutdown(277, SHUT_RDWR)    = 0
[pid 19083] socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC, IPPROTO_UDP) = 277
[pid 19083] bind(277, {sa_family=AF_INET, sin_port=htons(43460), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
[pid 19083] socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 279
[pid 19083] setsockopt(279, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
[pid 19083] bind(279, {sa_family=AF_INET, sin_port=htons(65001), sin_addr=inet_addr("192.168.23.6")}, 16) = -1 EADDRNOTAVAIL (Cannot assign requested address)
[pid 18905] setsockopt(279, SOL_SOCKET, SO_LINGER, {l_onoff=1, l_linger=0}, 8) = 0
[pid 19083] shutdown(277, SHUT_RDWR)    = -1 ENOTCONN (Transport endpoint is not connected)

The most surprising lines to me are the last ones, where it appears that Jellyfin (running on 192.168.23.2) is trying to bind to a TCP socket on 192.168.23.6:65001 (the IP of the HDHomeRun). Since the machine does not have that IP, it quite legitimately fails:

[pid 19083] socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 279
[pid 19083] setsockopt(279, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
[pid 19083] bind(279, {sa_family=AF_INET, sin_port=htons(65001), sin_addr=inet_addr("192.168.23.6")}, 16) = -1 EADDRNOTAVAIL (Cannot assign requested address)

Did I interpret the above correctly? If so, why would Jellyfin try to listen on a socket with the HDHomeRun's IP address which is bound to fail (no pun intended).

@jeremyvisser commented on GitHub (May 12, 2020): I’m still experiencing this issue as originally described. I won’t re-post logs, since they are identical to the above. I’m running the latest Docker image (5e41dfe87d74, v10.5.5), with networking in host mode, and Live TV successfully discovers the HDHomeRun (my model HDHR-EU) and channels, but playback just spins. One thing that really surprised me was the strace output, where it appears like Jellyfin is trying to bind to the HDHomeRun's address. In the below example, the Jellyfin host (including Docker container in host mode) has IP address **192.168.23.2**. Meanwhile, the HDHomeRun has IP address **192.168.23.6**. ``` [pid 19083] socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC, IPPROTO_UDP) = 277 [pid 19083] bind(277, {sa_family=AF_INET, sin_port=htons(0), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 [pid 19083] getsockname(277, {sa_family=AF_INET, sin_port=htons(43460), sin_addr=inet_addr("0.0.0.0")}, [16]) = 0 [pid 19083] shutdown(277, SHUT_RDWR) = -1 ENOTCONN (Transport endpoint is not connected) [pid 19083] socket(AF_INET6, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 277 [pid 19083] setsockopt(277, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0 [pid 19083] setsockopt(277, SOL_IPV6, IPV6_V6ONLY, [0], 4) = 0 [pid 19083] getsockopt(277, SOL_IPV6, IPV6_V6ONLY, [0], [4]) = 0 [pid 19083] getsockopt(277, SOL_IPV6, IPV6_V6ONLY, [0], [4]) = 0 [pid 19083] connect(277, {sa_family=AF_INET6, sin6_port=htons(65001), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:192.168.23.6", &sin6_addr), sin6_scope_id=0}, 28) = -1 EINPROGRESS (Operation now in progress) [pid 19083] getsockopt(277, SOL_SOCKET, SO_ERROR, [0], [4]) = 0 [pid 19083] getpeername(277, {sa_family=AF_INET6, sin6_port=htons(65001), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "::ffff:192.168.23.6", &sin6_addr), sin6_scope_id=0}, [28]) = 0 [pid 19083] shutdown(277, SHUT_RDWR) = 0 [pid 19083] socket(AF_INET, SOCK_DGRAM|SOCK_CLOEXEC, IPPROTO_UDP) = 277 [pid 19083] bind(277, {sa_family=AF_INET, sin_port=htons(43460), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 [pid 19083] socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 279 [pid 19083] setsockopt(279, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 [pid 19083] bind(279, {sa_family=AF_INET, sin_port=htons(65001), sin_addr=inet_addr("192.168.23.6")}, 16) = -1 EADDRNOTAVAIL (Cannot assign requested address) [pid 18905] setsockopt(279, SOL_SOCKET, SO_LINGER, {l_onoff=1, l_linger=0}, 8) = 0 [pid 19083] shutdown(277, SHUT_RDWR) = -1 ENOTCONN (Transport endpoint is not connected) ``` The most surprising lines to me are the last ones, where it appears that Jellyfin (running on **192.168.23.2**) is trying to bind to a TCP socket on **192.168.23.6:65001** (the IP of the HDHomeRun). Since the machine does not have that IP, it quite legitimately fails: ``` [pid 19083] socket(AF_INET, SOCK_STREAM|SOCK_CLOEXEC, IPPROTO_TCP) = 279 [pid 19083] setsockopt(279, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0 [pid 19083] bind(279, {sa_family=AF_INET, sin_port=htons(65001), sin_addr=inet_addr("192.168.23.6")}, 16) = -1 EADDRNOTAVAIL (Cannot assign requested address) ``` Did I interpret the above correctly? If so, why would Jellyfin try to listen on a socket with the HDHomeRun's IP address which is bound to fail (no pun intended).
Author
Owner

@jeremyvisser commented on GitHub (May 13, 2020):

Digging further, there appear to be two areas of brokenness:

  1. In HdHomerunManager.StartStreaming(), it configures the TcpClient like this:

    92299be64c/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs (L139-L143)

    Now, I have zero C# experience, so correct me if I'm wrong, but I looked up the TcpClient documentation and saw that calling TcpClient with an IPEndPoint as parameter tells it to bind to that source address:

    https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.tcpclient?view=netcore-3.1

    This at least appears to be the source of the bizarre behaviour from what I saw in my strace.

    I don't know exactly what the code is trying to achieve as it is insufficiently documented, but my best guess is that it is probably intended to use the TcpClient(String, Int32) method instead, which makes an outbound connection instead of trying to bind locally.

  2. The RTP URL that gets passed to the HDHomeRun appears to be getting corrupted with an IPv4–mapped IPv6 address that the HDHomeRun does not understand.

    The RTP URL is generated like this:

    92299be64c/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs (L191)

    This localIp ultimately comes from here:

    92299be64c/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs (L72-L73)

    Now, what's surprising, is that it's getting the RemoteEndPoint, which is the HDHomeRun's address. So it's passing an IPv4–mapped IPv6 address of the HDHomeRun's own IP to itself, which results in this constructed URL:

    rtp://::ffff:192.168.23.6:12345
    

    This results in an "ERROR: malformed or unsupported target mode" from the HDHomeRun.

    I'm completely unfamiliar with the protocol, but naïvely this doesn't make sense to me for two reasons:

    1. We should probably be passing the Jellyfin server's IP to the HDHomeRun, not the HDHomeRun's own IP to the HDHomeRun.

      Perhaps we should be using LocalEndPoint instead of RemoteEndPoint in HdHomerunUdpStream.Open()?

    2. The IPv4–mapped IPv6 address is obviously not encoded properly in the RTP URL (missing square brackets for an IPv6 address to start off with) and in any case is not handled by the HDHomeRun which causes it to fail to send a stream ("ERROR: malformed or unsupported target mode").

      (I haven’t seen my HDHomeRun pick up an IPv6 address, so it wouldn’t surprise me if it is IPv4–only. It would be worth finding out whether all HDHomeRuns are IPv4–only, or only my older model HDHR-EU.)

    (If I hardcode my machine's IP address, then the HDHomeRun accepts it, and starts sending me a UDP stream, but Jellyfin still doesn't present it to my browser, so there is yet another obstacle to overcome before this works, but one step at a time.)

Now, I apologise if I'm misunderstanding anything here or being misleading. This is my first time using Jellyfin, and I am not a C# programmer, nor am I familiar with the HDHomeRun protocol. However, in my naïve opinion, something seems broken here.

@jeremyvisser commented on GitHub (May 13, 2020): Digging further, there appear to be two areas of brokenness: 1. In `HdHomerunManager.StartStreaming()`, it configures the TcpClient like this: https://github.com/jellyfin/jellyfin/blob/92299be64cf00fd65ccec2e84cdb1c7f41c73de9/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs#L139-L143 Now, I have zero C# experience, so correct me if I'm wrong, but I looked up the TcpClient documentation and saw that calling TcpClient with an IPEndPoint as parameter tells it to bind to that source address: https://docs.microsoft.com/en-us/dotnet/api/system.net.sockets.tcpclient?view=netcore-3.1 This at least appears to be the source of the bizarre behaviour from what I saw in my strace. I don't know exactly what the code is trying to achieve as it is insufficiently documented, but my best guess is that it is probably intended to use the `TcpClient(String, Int32)` method instead, which makes an outbound connection instead of trying to bind locally. 2. The RTP URL that gets passed to the HDHomeRun appears to be getting corrupted with an IPv4–mapped IPv6 address that the HDHomeRun does not understand. The RTP URL is generated like this: https://github.com/jellyfin/jellyfin/blob/92299be64cf00fd65ccec2e84cdb1c7f41c73de9/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunManager.cs#L191 This `localIp` ultimately comes from here: https://github.com/jellyfin/jellyfin/blob/92299be64cf00fd65ccec2e84cdb1c7f41c73de9/Emby.Server.Implementations/LiveTv/TunerHosts/HdHomerun/HdHomerunUdpStream.cs#L72-L73 Now, what's surprising, is that it's getting the `RemoteEndPoint`, which is the HDHomeRun's address. So it's passing an IPv4–mapped IPv6 address of the HDHomeRun's own IP to itself, which results in this constructed URL: ``` rtp://::ffff:192.168.23.6:12345 ``` This results in an "ERROR: malformed or unsupported target mode" from the HDHomeRun. I'm completely unfamiliar with the protocol, but naïvely this doesn't make sense to me for two reasons: 1. We should probably be passing the Jellyfin server's IP to the HDHomeRun, not the HDHomeRun's own IP to the HDHomeRun. Perhaps we should be using `LocalEndPoint` instead of `RemoteEndPoint` in `HdHomerunUdpStream.Open()`? 2. The IPv4–mapped IPv6 address is obviously not encoded properly in the RTP URL (missing square brackets for an IPv6 address to start off with) and in any case is not handled by the HDHomeRun which causes it to fail to send a stream ("ERROR: malformed or unsupported target mode"). (I haven’t seen my HDHomeRun pick up an IPv6 address, so it wouldn’t surprise me if it is IPv4–only. It would be worth finding out whether all HDHomeRuns are IPv4–only, or only my older model HDHR-EU.) (If I hardcode my machine's IP address, then the HDHomeRun accepts it, and starts sending me a UDP stream, but Jellyfin still doesn't present it to my browser, so there is yet another obstacle to overcome before this works, but one step at a time.) Now, I apologise if I'm misunderstanding anything here or being misleading. This is my first time using Jellyfin, and I am not a C# programmer, nor am I familiar with the HDHomeRun protocol. However, in my naïve opinion, something seems broken here.
Author
Owner

@JustAMan commented on GitHub (May 13, 2020):

@jeremyvisser nice investigation and write-up! If you can test by compiling yourself I might be able to follow your lead here and blindly cook a fix.

@JustAMan commented on GitHub (May 13, 2020): @jeremyvisser nice investigation and write-up! If you can test by compiling yourself I might be able to follow your lead here and blindly cook a fix.
Author
Owner

@jeremyvisser commented on GitHub (May 14, 2020):

Yes, I’m able to build the software and test just fine on my end; I just don’t really have the experience to make the fix myself at this time.

@jeremyvisser commented on GitHub (May 14, 2020): Yes, I’m able to build the software and test just fine on my end; I just don’t really have the experience to make the fix myself at this time.
Author
Owner

@stale[bot] commented on GitHub (Sep 11, 2020):

This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on Matrix or Social Media.

@stale[bot] commented on GitHub (Sep 11, 2020): This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments. If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or nightlies, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label. This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).
Author
Owner

@markcs commented on GitHub (Sep 21, 2020):

Jellyfin 10.6.4 running in Docker on Ubuntu server. Still not able to play live TV.

[2020-09-21 13:30:47.217 +00:00] [INF] [28] MediaBrowser.Api.Playback.MediaInfoService: User policy for "mark". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2020-09-21 13:30:47.217 +00:00] [INF] [28] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "http://192.168.1.76", isEligibleForDirectPlay: True, isEligibleForDirectStream: True
[2020-09-21 13:30:47.218 +00:00] [INF] [28] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", No direct play profiles found for Path: "http://192.168.1.76"
[2020-09-21 13:30:47.218 +00:00] [INF] [28] Emby.Server.Implementations.LiveTv.LiveTvManager: Opening channel stream from "Emby", external channel Id: "hdhr_1"
[2020-09-21 13:30:47.218 +00:00] [INF] [28] Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV: Streaming Channel hdhr_1
[2020-09-21 13:30:47.218 +00:00] [INF] [28] Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: GetChannelStream: channel id: "hdhr_1". stream id: "native_3296d406dcc9cb9b62aeaef99612ba6b_544f66ad7f369f5add1231137a81ec7f" profile: "native"
[2020-09-21 13:30:47.218 +00:00] [INF] [28] Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: Opening HDHR UDP Live stream from "192.168.1.76"
[2020-09-21 13:30:47.219 +00:00] [ERR] [41] Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: Error opening live stream:
System.Net.Sockets.SocketException (99): Cannot assign requested address
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at System.Net.Sockets.TcpClient..ctor(IPEndPoint localEP)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunManager.StartStreaming(IPAddress remoteIp, IPAddress localIp, Int32 localPort, IHdHomerunChannelCommands commands, Int32 numTuners, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken)
[2020-09-21 13:30:47.219 +00:00] [ERR] [41] Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: Error opening tuner
System.Net.Sockets.SocketException (99): Cannot assign requested address
   at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName)
   at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress)
   at System.Net.Sockets.Socket.Bind(EndPoint localEP)
   at System.Net.Sockets.TcpClient..ctor(IPEndPoint localEP)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunManager.StartStreaming(IPAddress remoteIp, IPAddress localIp, Int32 localPort, IHdHomerunChannelCommands commands, Int32 numTuners, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken)
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
[2020-09-21 13:30:47.220 +00:00] [ERR] [41] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: "http://192.168.1.110:8096/Items/ae38414d6971ae82a5e327a0e933c48d/PlaybackInfo?UserId=159edbe50e6b45cc8bd9299d1122869d&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000"
MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown.
   at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken)
   at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStream(LiveStreamRequest request, CancellationToken cancellationToken)
   at MediaBrowser.Api.Playback.MediaInfoService.OpenMediaSource(OpenMediaSource request)
   at MediaBrowser.Api.Playback.MediaInfoService.GetPlaybackInfo(GetPostedPlaybackInfo request)
   at MediaBrowser.Api.Playback.MediaInfoService.Post(GetPostedPlaybackInfo request)
   at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task)
   at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken)
   at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken)
@markcs commented on GitHub (Sep 21, 2020): Jellyfin 10.6.4 running in Docker on Ubuntu server. Still not able to play live TV. ``` [2020-09-21 13:30:47.217 +00:00] [INF] [28] MediaBrowser.Api.Playback.MediaInfoService: User policy for "mark". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2020-09-21 13:30:47.217 +00:00] [INF] [28] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", Path: "http://192.168.1.76", isEligibleForDirectPlay: True, isEligibleForDirectStream: True [2020-09-21 13:30:47.218 +00:00] [INF] [28] MediaBrowser.Api.Playback.MediaInfoService: Profile: "Unknown Profile", No direct play profiles found for Path: "http://192.168.1.76" [2020-09-21 13:30:47.218 +00:00] [INF] [28] Emby.Server.Implementations.LiveTv.LiveTvManager: Opening channel stream from "Emby", external channel Id: "hdhr_1" [2020-09-21 13:30:47.218 +00:00] [INF] [28] Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV: Streaming Channel hdhr_1 [2020-09-21 13:30:47.218 +00:00] [INF] [28] Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: GetChannelStream: channel id: "hdhr_1". stream id: "native_3296d406dcc9cb9b62aeaef99612ba6b_544f66ad7f369f5add1231137a81ec7f" profile: "native" [2020-09-21 13:30:47.218 +00:00] [INF] [28] Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: Opening HDHR UDP Live stream from "192.168.1.76" [2020-09-21 13:30:47.219 +00:00] [ERR] [41] Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: Error opening live stream: System.Net.Sockets.SocketException (99): Cannot assign requested address at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName) at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at System.Net.Sockets.TcpClient..ctor(IPEndPoint localEP) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunManager.StartStreaming(IPAddress remoteIp, IPAddress localIp, Int32 localPort, IHdHomerunChannelCommands commands, Int32 numTuners, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken) [2020-09-21 13:30:47.219 +00:00] [ERR] [41] Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunHost: Error opening tuner System.Net.Sockets.SocketException (99): Cannot assign requested address at System.Net.Sockets.Socket.UpdateStatusAfterSocketErrorAndThrowException(SocketError error, String callerName) at System.Net.Sockets.Socket.DoBind(EndPoint endPointSnapshot, SocketAddress socketAddress) at System.Net.Sockets.Socket.Bind(EndPoint localEP) at System.Net.Sockets.TcpClient..ctor(IPEndPoint localEP) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunManager.StartStreaming(IPAddress remoteIp, IPAddress localIp, Int32 localPort, IHdHomerunChannelCommands commands, Int32 numTuners, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.HdHomerun.HdHomerunUdpStream.Open(CancellationToken openCancellationToken) at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) [2020-09-21 13:30:47.220 +00:00] [ERR] [41] Emby.Server.Implementations.HttpServer.HttpListenerHost: Error processing request. URL: "http://192.168.1.110:8096/Items/ae38414d6971ae82a5e327a0e933c48d/PlaybackInfo?UserId=159edbe50e6b45cc8bd9299d1122869d&StartTimeTicks=0&IsPlayback=true&AutoOpenLiveStream=true&MaxStreamingBitrate=140000000" MediaBrowser.Controller.LiveTv.LiveTvConflictException: Exception of type 'MediaBrowser.Controller.LiveTv.LiveTvConflictException' was thrown. at Emby.Server.Implementations.LiveTv.TunerHosts.BaseTunerHost.GetChannelStream(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.EmbyTV.EmbyTV.GetChannelStreamWithDirectStreamProvider(String channelId, String streamId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.LiveTvManager.GetChannelStream(String id, String mediaSourceId, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.LiveTv.LiveTvMediaSourceProvider.OpenMediaSource(String openToken, List`1 currentLiveStreams, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStreamInternal(LiveStreamRequest request, CancellationToken cancellationToken) at Emby.Server.Implementations.Library.MediaSourceManager.OpenLiveStream(LiveStreamRequest request, CancellationToken cancellationToken) at MediaBrowser.Api.Playback.MediaInfoService.OpenMediaSource(OpenMediaSource request) at MediaBrowser.Api.Playback.MediaInfoService.GetPlaybackInfo(GetPostedPlaybackInfo request) at MediaBrowser.Api.Playback.MediaInfoService.Post(GetPostedPlaybackInfo request) at Emby.Server.Implementations.Services.ServiceExecGeneral.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost httpHost, IRequest httpReq, HttpResponse httpRes, ILogger logger, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IHttpRequest httpReq, String urlString, String host, String localPath, CancellationToken cancellationToken) ```
Author
Owner

@markcs commented on GitHub (Dec 8, 2020):

Excellent. I downloaded v10.7.0-rc1 and this issue is fixed in that release.

@markcs commented on GitHub (Dec 8, 2020): Excellent. I downloaded v10.7.0-rc1 and this issue is fixed in that release.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#697
No description provided.