nPlayer on iPad not showing as connected device
Posted: Tue May 29, 2018 10:48 am
I am using an iPad (1st gen) with the nPlayer app to access Serviio on my home network. The good news is that nPlayer works great, playing just about any video natively. Sometimes it is a little fussy about the aspect ratio, but other than that, no issues, and it can output to my TV via an HDMI adapter.
Serviio just uses the generic transcoding profile for this device, which is fine. However, there are a few things which will not play, so I made a custom profile. The bad news is Serviio is not giving me a way to select the profile!
The device does not show up in Serviio Console as a connected device, even when it is actively playing a video, so I cannot manually select the profile. I also tried to make the profile automatically match based on the HTTP headers ("User-Agent: nPlayer/3.0"), but the generic profile is still being chosen.
The profile I would like to use:
Debug log output (10.0.1.6 is the host running Serviio, 10.0.1.4 is the iPad):
Serviio Console not showing any device at 10.0.1.4 at all:
Am I doing something wrong?
Shouldn't Serviio use the custom profile based on the User-Agent header?
And shouldn't Serviio Console show the iPad as a connected device, at least when streaming to it, even if it can't "see" it in advance?
Serviio just uses the generic transcoding profile for this device, which is fine. However, there are a few things which will not play, so I made a custom profile. The bad news is Serviio is not giving me a way to select the profile!
The device does not show up in Serviio Console as a connected device, even when it is actively playing a video, so I cannot manually select the profile. I also tried to make the profile automatically match based on the HTTP headers ("User-Agent: nPlayer/3.0"), but the generic profile is still being chosen.
The profile I would like to use:
- Code:
<Profile id="nPlayer-iPad1" name="nPlayer on iPad (1st Gen)" extendsProfileId="1">
<Detection>
<HttpHeaders>
<User-Agent>.*nPlayer/.*</User-Agent>
</HttpHeaders>
</Detection>
<Transcoding>
<Video targetContainer="mpegts" targetVCodec="h264" forceVTranscoding="true" targetACodec="ac3" maxVBitrate="6000">
<Matches container="*" vCodec="h263"/>
<Matches container="*" vCodec="h264" levelGreaterThan="5.0"/>
<Matches container="*" vCodec="h264" profile="high_422"/>
<Matches container="*" vCodec="h264" profile="high_444"/>
<Matches container="*" vCodec="h264" profile="high_10"/>
<Matches container="*" vCodec="h265"/>
<Matches container="*" vCodec="vc1"/>
</Video>
<Audio targetContainer="lpcm">
<Matches container="ape"/>
</Audio>
</Transcoding>
</Profile>
Debug log output (10.0.1.6 is the host running Serviio, 10.0.1.4 is the iPad):
- Code:
2018-05-29 04:37:08,368 DEBUG [RendererSearchSender] Searching for Renderer devices
2018-05-29 04:37:08,369 DEBUG [RendererSearchSender$RendererSearchWorker] Multicasting SSDP M-SEARCH using interface eth3 (Intel(R) 82579LM Gigabit Network Connection) and address 10.0.1.6, timeout = 0
2018-05-29 04:37:08,369 DEBUG [RendererSearchSender$RendererSearchWorker] Sending 1 'm-search' messages
2018-05-29 04:37:08,369 DEBUG [DiscoverySSDPMessageListener] Received a valid M-SEARCH message for search target urn:schemas-upnp-org:device:MediaRenderer:1 from address /10.0.1.6:51062s
2018-05-29 04:37:08,369 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 10.0.1.6
2018-05-29 04:37:08,370 DEBUG [DiscoverySSDPMessageListener] Received a valid M-SEARCH message for search target urn:schemas-upnp-org:device:MediaRenderer:1 from address /10.0.1.6:51062s
2018-05-29 04:37:08,370 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 10.0.1.6
2018-05-29 04:37:08,370 DEBUG [DiscoverySSDPMessageListener] Received a valid M-SEARCH message for search target urn:schemas-upnp-org:device:MediaRenderer:1 from address /10.0.1.6:51062s
2018-05-29 04:37:08,370 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 10.0.1.6
2018-05-29 04:37:09,166 DEBUG [FeedUpdaterWorker] Checking for new and expired online resources
2018-05-29 04:37:09,166 DEBUG [OnlineRepositoryDAOImpl] Reading all OnlineRepositories
2018-05-29 04:37:12,995 DEBUG [SearchManager] Committing search index
2018-05-29 04:37:13,170 DEBUG [MediaItemDAOImpl] Reading a MediaItem (id = 12933)
2018-05-29 04:37:13,171 DEBUG [MediaItemDAOImpl] Getting counts of media items by type
2018-05-29 04:37:14,371 DEBUG [RendererSearchSender] Finished searching for Renderer devices
2018-05-29 04:37:16,052 DEBUG [DiscoverySSDPMessageListener] Received a valid M-SEARCH message for search target urn:schemas-upnp-org:device:MediaRenderer:1 from address /10.0.1.4:64501s
2018-05-29 04:37:16,053 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 10.0.1.4
2018-05-29 04:37:16,569 DEBUG [ServiioHttpService] Incoming request from /10.0.1.4:54192: GET /resource/6862/MEDIA_ITEM/AVC_MP4_MP_SD_AAC_MULT5-0/ORIGINAL HTTP/1.1, headers = [Host: 10.0.1.6:8895,Accept: */*,Cookie: Squeezebox-player=00%3A04%3A20%3A1e%3A53%3A3a,User-Agent: nPlayer/3.0]]
2018-05-29 04:37:16,569 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 10.0.1.4
2018-05-29 04:37:16,569 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 10.0.1.4
2018-05-29 04:37:16,570 DEBUG [ProfileManager] Cannot find stored renderer, using Generic
2018-05-29 04:37:16,570 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 10.0.1.4
2018-05-29 04:37:16,570 DEBUG [ResourceDeliveryProcessor] Resource request accepted. Using client 'Identifier=10.0.1.4, Profile=Generic DLNA profile, Name=Unknown'
2018-05-29 04:37:16,570 DEBUG [ResourceDeliveryProcessor] Request for resource 6862 and type 'MEDIA_ITEM' received
2018-05-29 04:37:16,570 DEBUG [MediaResourceRetrievalStrategy] Getting information about media item 6862 (local)
2018-05-29 04:37:16,570 DEBUG [MediaItemDAOImpl] Reading a MediaItem (id = 6862)
2018-05-29 04:37:16,571 DEBUG [VideoDAOImpl] Reading a Video (id = 6862)
2018-05-29 04:37:16,571 DEBUG [VideoDeliveryEngine] Retrieving resource information for item 6862, format AVC_MP4_MP_SD_AAC_MULT5 and profile Generic DLNA profile
2018-05-29 04:37:16,571 DEBUG [MediaResourceRetrievalStrategy] Getting information about media item 6862 (local)
2018-05-29 04:37:16,571 DEBUG [MediaItemDAOImpl] Reading a MediaItem (id = 6862)
2018-05-29 04:37:16,571 DEBUG [VideoDAOImpl] Reading a Video (id = 6862)
2018-05-29 04:37:16,572 DEBUG [VideoDeliveryEngine] Delivering item '6862' for client 'Identifier=10.0.1.4, Profile=Generic DLNA profile, Name=Unknown'
2018-05-29 04:37:16,572 DEBUG [VideoDeliveryEngine] Delivering file '2. Stridex.mp4' in native format
2018-05-29 04:37:16,572 DEBUG [MediaItemDAOImpl] Getting file of media item 6862
2018-05-29 04:37:18,170 DEBUG [MediaItemDAOImpl] Reading a MediaItem (id = 12933)
2018-05-29 04:37:18,171 DEBUG [MediaItemDAOImpl] Getting counts of media items by type
2018-05-29 04:37:23,168 DEBUG [MediaItemDAOImpl] Reading a MediaItem (id = 12933)
2018-05-29 04:37:23,169 DEBUG [MediaItemDAOImpl] Getting counts of media items by type
2018-05-29 04:37:26,552 DEBUG [GETMethodProcessor] Stream entity has length: 54674102
2018-05-29 04:37:26,552 INFO [PlaybackEventsManager] Playback of media item 6862 (2. Stridex [2. Stridex.mp4]) has started at 0% on Identifier=10.0.1.4, Profile=Generic DLNA profile, Name=Unknown
2018-05-29 04:37:26,552 DEBUG [ResourceTransportRequestHandler] HTTP/1.1 200 OK, headers = [[Content-Length: 54674102,Content-Type: video/mp4,Cache-control: no-cache,Connection: close,Date: Tue, 29 May 2018 10:37:26 GMT,realTimeInfo.dlna.org: DLNA.ORG_TLAG=*,Server: Windows_7 UPnP/1.0 DLNADOC/1.50 Serviio/1.9.2,transferMode.dlna.org: Streaming]]
2018-05-29 04:37:26,818 DEBUG [ServiioHttpService] Incoming request from /10.0.1.4:54193: GET /resource/6862/MEDIA_ITEM/AVC_MP4_MP_SD_AAC_MULT5-0/ORIGINAL HTTP/1.1, headers = [Host: 10.0.1.6:8895,Range: bytes=54525952-,Accept: */*,Cookie: Squeezebox-player=00%3A04%3A20%3A1e%3A53%3A3a,User-Agent: nPlayer/3.0]]
2018-05-29 04:37:26,818 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 10.0.1.4
2018-05-29 04:37:26,819 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 10.0.1.4
2018-05-29 04:37:26,819 DEBUG [ProfileManager] Cannot find stored renderer, using Generic
2018-05-29 04:37:26,819 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 10.0.1.4
2018-05-29 04:37:26,819 DEBUG [ResourceDeliveryProcessor] Resource request accepted. Using client 'Identifier=10.0.1.4, Profile=Generic DLNA profile, Name=Unknown'
2018-05-29 04:37:26,819 DEBUG [ResourceDeliveryProcessor] Request for resource 6862 and type 'MEDIA_ITEM' received
2018-05-29 04:37:26,819 DEBUG [MediaResourceRetrievalStrategy] Getting information about media item 6862 (local)
2018-05-29 04:37:26,819 DEBUG [MediaItemDAOImpl] Reading a MediaItem (id = 6862)
2018-05-29 04:37:26,820 DEBUG [VideoDAOImpl] Reading a Video (id = 6862)
2018-05-29 04:37:26,820 DEBUG [VideoDeliveryEngine] Retrieving resource information for item 6862, format AVC_MP4_MP_SD_AAC_MULT5 and profile Generic DLNA profile
2018-05-29 04:37:26,820 DEBUG [MediaResourceRetrievalStrategy] Getting information about media item 6862 (local)
2018-05-29 04:37:26,820 DEBUG [MediaItemDAOImpl] Reading a MediaItem (id = 6862)
2018-05-29 04:37:26,821 DEBUG [VideoDAOImpl] Reading a Video (id = 6862)
2018-05-29 04:37:26,821 DEBUG [VideoDeliveryEngine] Delivering item '6862' for client 'Identifier=10.0.1.4, Profile=Generic DLNA profile, Name=Unknown'
2018-05-29 04:37:26,821 DEBUG [VideoDeliveryEngine] Delivering file '2. Stridex.mp4' in native format
2018-05-29 04:37:26,821 DEBUG [MediaItemDAOImpl] Getting file of media item 6862
2018-05-29 04:37:26,821 DEBUG [GETMethodProcessor] Stream entity has length: 148150
2018-05-29 04:37:26,822 DEBUG [ResourceTransportRequestHandler] HTTP/1.1 206 Partial Content, headers = [[Content-Length: 148150,Content-Type: video/mp4,Cache-control: no-cache,Connection: close,Content-Range: bytes 54525952-54674101/54674102,Date: Tue, 29 May 2018 10:37:26 GMT,realTimeInfo.dlna.org: DLNA.ORG_TLAG=*,Server: Windows_7 UPnP/1.0 DLNADOC/1.50 Serviio/1.9.2,transferMode.dlna.org: Streaming]]
Serviio Console not showing any device at 10.0.1.4 at all:
Am I doing something wrong?
Shouldn't Serviio use the custom profile based on the User-Agent header?
And shouldn't Serviio Console show the iPad as a connected device, at least when streaming to it, even if it can't "see" it in advance?