No skipping in internet stream

Issue #600 wontfix
Former user created an issue

I added an akamai-stream (via pirateplay.se) to Serviio and played the stream in VLC.

  • When streaming from Serviio (using VLC), the stream is a slightly laggy and will not allow skipping.
  • When streaming directly (using VLC), the stream is fine and allows skipping

Here's the stream URL: http://svtplay1s-f.akamaihd.net/i/world/open/20121116/1278828-011A/SKAVLAN_8_HOST-011A-9c6cbdffc78a576b_,900,320,420,620,1660,2760,.mp4.csmil/index_5_av.m3u8?null=&e=b2a7ace1bf661c32&id=

I compared the VLC codec info for both stream alternatives and they were the same. I attached a screenshot.

Comments (16)

  1. Petr Nejedly repo owner

    is it a live stream or VOD content? If live stream, then it makes no sense to skip (in future?)

  2. Petr Nejedly repo owner

    this id related to the inability of the Samsung TV to skip in mpegts. It works with other renderers.

  3. Former user Account Deleted

    How is this related? I'm using VLC on my Mac. Nothing touches my TV.

    Edit: Ah, I see now that I might not have been clear with "When streaming from Serviio". I used VLC as renderer in both cases.

  4. Petr Nejedly repo owner

    can you provide detailed log when playing/ trying to skip? I assume it's du to the fact VLC tries to do byte-range seek, which is not supported on transcoded content in Serviio (as we don't know the file size of the future transcoded file)

  5. Former user Account Deleted

    Actually, nothing shows up in the logs when I attempt to skip. The stream just chokes up and continues from the current position. This is the log setting the stream up.

    2012-11-23 15:42:38,348 DEBUG [WebServer] Incoming connection from /192.168.1.35:54976 2012-11-23 15:42:38,349 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 192.168.1.35 2012-11-23 15:42:38,350 DEBUG [ResourceTransportRequestHandler] GET /resource/1000000000260001/MEDIA_ITEM/AVC_TS_MP_HD_AC3_ISO-0/ORIGINAL HTTP/1.1, headers = [Host: 192.168.1.2:8895,User-Agent: VLC/2.0.4 LibVLC/2.0.4,Accept-Encoding: gzip, deflate,Range: bytes=0-,Connection: close,Icy-MetaData: 1]] 2012-11-23 15:42:38,351 DEBUG [RendererDAOImpl] Reading a Renderer with ip address 192.168.1.35 2012-11-23 15:42:38,352 DEBUG [ResourceDeliveryProcessor] Resource request accepted. Using client 'IPAddress=/192.168.1.35, Profile=Generic DLNA profile' 2012-11-23 15:42:38,353 DEBUG [ResourceDeliveryProcessor] Request for resource 1000000000260001 and type 'MEDIA_ITEM' received 2012-11-23 15:42:38,353 DEBUG [MediaResourceRetrievalStrategy] Getting information about media item 1000000000260001 (online) 2012-11-23 15:42:38,354 DEBUG [OnlineRepositoryDAOImpl] Reading an OnlineRepository (id = 26) 2012-11-23 15:42:38,355 DEBUG [VideoDeliveryEngine] Delivering item '1000000000260001' for client 'IPAddress=/192.168.1.35, Profile=Generic DLNA profile' 2012-11-23 15:42:38,356 DEBUG [VideoDeliveryEngine] Delivering file 'http://svtplay1s-f.akamaihd.net/i/world/open/20121116/1278828-011A/SKAVLAN_8_HOST-011A-9c6cbdffc78a576b_,900,320,420,620,1660,2760,.mp4.csmil/index_5_av.m3u8?null=&e=b2a7ace1bf661c32&id=' using transcoding 2012-11-23 15:42:38,356 DEBUG [AbstractTranscodingDeliveryEngine] No other client uses transcoding job of file 'transcoding-temp-1000000000170001-1-ORIGINAL.stf', will stop the job 2012-11-23 15:42:38,357 DEBUG [AbstractTranscodingDeliveryEngine] Stopping previous transcoding job of file 'transcoding-temp-1000000000170001-1-ORIGINAL.stf' 2012-11-23 15:42:38,580 DEBUG [TranscodingJobListener] Deleted temp file '/root/.serviio/tmp/Serviio/transcoding-temp-1000000000170001-1-ORIGINAL.stf': true 2012-11-23 15:42:38,581 DEBUG [AbstractTranscodingDeliveryEngine] No suitable transcoding job exists yet, start one for client 'IPAddress=/192.168.1.35, Profile=Generic DLNA profile' 2012-11-23 15:42:38,581 DEBUG [FFMPEGWrapper] Invoking FFmpeg to transcode video file: http://svtplay1s-f.akamaihd.net/i/world/open/20121116/1278828-011A/SKAVLAN_8_HOST-011A-9c6cbdffc78a576b_%2c900%2c320%2c420%2c620%2c1660%2c2760%2c.mp4.csmil/index_5_av.m3u8?null=&e=b2a7ace1bf661c32&id= 2012-11-23 15:42:38,583 DEBUG [ProcessExecutor] Starting /root/.serviio/bin/FFmpegWrapper.sh -fflags +genpts -i http://svtplay1s-f.akamaihd.net/i/world/open/20121116/1278828-011A/SKAVLAN_8_HOST-011A-9c6cbdffc78a576b_%2c900%2c320%2c420%2c620%2c1660%2c2760%2c.mp4.csmil/index_5_av.m3u8?null=&e=b2a7ace1bf661c32&id= -y -copyts -c:v copy -vbsf h264_mp4toannexb -c:a ac3_fixed -b:a 384k -ac 2 -map 0:0 -map 0:1 -sn -f mpegts pipe: 2012-11-23 15:42:41,182 DEBUG [VideoDeliveryEngine] Found Format profile for transcoded file http://svtplay1s-f.akamaihd.net/i/world/open/20121116/1278828-011A/SKAVLAN_8_HOST-011A-9c6cbdffc78a576b_,900,320,420,620,1660,2760,.mp4.csmil/index_5_av.m3u8?null=&e=b2a7ace1bf661c32&id=: AVC_TS_MP_HD_AC3_ISO 2012-11-23 15:42:41,183 DEBUG [ResourceDeliveryProcessor] Stream entity has length: 50000000000 2012-11-23 15:42:41,183 DEBUG [ResourceDeliveryProcessor] Sending file back 2012-11-23 15:42:41,183 DEBUG [ResourceTransportRequestHandler] Creating entity with chunked transfer 2012-11-23 15:42:41,183 DEBUG [ResourceTransportRequestHandler] HTTP/1.1 200 OK, headers = [[Content-Type: video/mpeg,Date: Fri, 23 Nov 2012 14:42:41 GMT,Server: Linux, UPnP/1.0 DLNADOC/1.50, Serviio/1.0.1,Cache-control: no-cache,transferMode.dlna.org: Streaming]]

  6. Petr Nejedly repo owner

    Serviio marks the resource as 'non possible to do byte rage requests', so it's possible VLC recognizes it and doesn't even make the request - in which case that would be right. It'd only work if VLC issued DLNA time based seek request, which it obviously doesn't. Please close this ticket.

  7. Former user Account Deleted

    I see. So if you were to force a very large byte size

    Range: bytes=0-LARGE_NUM

    in the same way that the length is set to 50000000000, would it be possible to skip?

  8. Petr Nejedly repo owner

    I don't think that would work. The byte range requests would have to be recomputed using the big base number and it wouldn't give accurate results .

    I mean if a seek into the middle of the file is requested, we'd have to change the incoming 25000000000 byte position to something real. But if they sent a request for real byte range like 2000-3000 we would not want to recomputed it. That would be impossible to distinguish.

  9. Former user Account Deleted

    I agree. But how come Serviio disables skipping? VLC apparently gets the correct byte length from the stream URL.

  10. Log in to comment