Project

General

Profile

Bug #3336

Bug with livestream transcoding. large zapping times (15 seconds+) on some channels.

Added by Stephan Oelze about 9 years ago. Updated almost 9 years ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
2015-11-21
Due date:
% Done:

0%

Estimated time:
Found in version:
HTS Tvheadend 4.1-1037~gcd6dc6d-dirty
Affected Versions:

Description

Hello!!

I am facing a strange problem with transcoding livestream DVB Stream.
On some channels i have zapping times of 15seconds+.
The tvheadend instance is serving another host through hts where zapping is bellow 3seconds in most cases.(without transcoding of course)

Please see my Log with comments and Config bellow.
I allready upgraded libx265 static in tvheadend with same result. libx264 is behaving the same way = big zapping times.

(I think)® that the stream is passed to fast to transcoder. maybe add an "delay option" into streaming/profile section?
I do not have the skills in coding to do this on my own. But i can build from git and test changes if someone can add a feature like this to git repo.

This is where the bunny lies in between the pepper ;)
Nov 21 21:39:17 skynet daemon.err tvheadend[27462]: libav: mmco: unref short failure
Nov 21 21:39:17 skynet daemon.err tvheadend[27462]: libav: mmco: unref short failure
Nov 21 21:39:17 skynet daemon.err tvheadend[27462]: libav: number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one

Thanks!
Stephan

Complete log with comments/config:

=======        A Quick zap ~ 4seconds till Picture plops up    ======
Nov 21 21:35:57 skynet daemon.info tvheadend[27462]: mpegts: 322MHz in primacom - tuning on HVR-930C _ 1
Nov 21 21:35:57 skynet daemon.info tvheadend[27462]: subscription: 0034: "HTTP" subscribing on channel "ZDF HD", weight: 125, adapter: "HVR-930C _ 1", network: "primacom", mux: "322MHz", provider: "ZDFvision", service: "ZDF HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:35:57 skynet daemon.info tvheadend[27462]: transcode: 0013: 1:H264 1280x720 ==> HEVC 1280x720 (libx265)
Nov 21 21:35:57 skynet daemon.info tvheadend[27462]: transcode: 0013: 2:MPEG2AUDIO ==> AAC (aac)
Nov 21 21:35:58 skynet daemon.warn tvheadend[27462]: transcode: 0013: Detected framedrop in audio
Nov 21 21:35:58 skynet daemon.info tvheadend[27462]: subscription: 0034: "HTTP" unsubscribing from "ZDF HD", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:35:58 skynet daemon.warn tvheadend[27462]: libav: 2 frames left in the queue on closing
Nov 21 21:35:59 skynet daemon.info tvheadend[27462]: mpegts: 322MHz in primacom - tuning on HVR-930C _ 1
Nov 21 21:35:59 skynet daemon.info tvheadend[27462]: subscription: 0036: "HTTP" subscribing on channel "ZDF HD", weight: 125, adapter: "HVR-930C _ 1", network: "primacom", mux: "322MHz", provider: "ZDFvision", service: "ZDF HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:35:59 skynet daemon.info tvheadend[27462]: transcode: 0014: 1:H264 1280x720 ==> HEVC 1280x720 (libx265)
Nov 21 21:35:59 skynet daemon.info tvheadend[27462]: transcode: 0014: 2:MPEG2AUDIO ==> AAC (aac)

=======        A Quick zap ~ 4seconds till Picture plops up    ======
Nov 21 21:36:46 skynet daemon.info tvheadend[27462]: mpegts: 169MHz in primacom - tuning on HVR-930C _ 1
Nov 21 21:36:46 skynet daemon.info tvheadend[27462]: subscription: 003A: "HTTP" subscribing on channel "NDR FS NDS HD", weight: 125, adapter: "HVR-930C _ 1", network: "primacom", mux: "169MHz", provider: "ARD", service: "NDR FS NDS HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:36:47 skynet daemon.info tvheadend[27462]: transcode: 0015: 1:H264 1280x720 ==> HEVC 1280x720 (libx265)
Nov 21 21:36:47 skynet daemon.info tvheadend[27462]: transcode: 0015: 2:MPEG2AUDIO ==> AAC (aac)
Nov 21 21:36:47 skynet daemon.warn tvheadend[27462]: transcode: 0015: Detected framedrop in audio
Nov 21 21:36:48 skynet daemon.info tvheadend[27462]: subscription: 003A: "HTTP" unsubscribing from "NDR FS NDS HD", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:36:48 skynet daemon.warn tvheadend[27462]: libav: 2 frames left in the queue on closing
Nov 21 21:36:48 skynet daemon.info tvheadend[27462]: mpegts: 169MHz in primacom - tuning on HVR-930C _ 1
Nov 21 21:36:48 skynet daemon.info tvheadend[27462]: subscription: 003B: "HTTP" subscribing on channel "NDR FS NDS HD", weight: 125, adapter: "HVR-930C _ 1", network: "primacom", mux: "169MHz", provider: "ARD", service: "NDR FS NDS HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:36:49 skynet daemon.info tvheadend[27462]: transcode: 0016: 1:H264 1280x720 ==> HEVC 1280x720 (libx265)
Nov 21 21:36:49 skynet daemon.info tvheadend[27462]: transcode: 0016: 2:MPEG2AUDIO ==> AAC (aac)
Nov 21 21:36:49 skynet daemon.warn tvheadend[27462]: transcode: 0016: Detected framedrop in audio

========    A Zap for about 15seconds ( no Joke !!)    it restarts on error    =============
Nov 21 21:37:45 skynet daemon.info tvheadend[27462]: mpegts: 330MHz in primacom - tuning on HVR-930C _ 1
Nov 21 21:37:45 skynet daemon.info tvheadend[27462]: subscription: 0040: "HTTP" subscribing on channel "Sky Atlantic HD", weight: 125, adapter: "HVR-930C _ 1", network: "primacom", mux: "330MHz", provider: "SKY", service: "Sky Atlantic HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:37:45 skynet daemon.info tvheadend[27462]: transcode: 0017: 1:TELETEXT ==> Filtered
Nov 21 21:37:45 skynet daemon.info tvheadend[27462]: transcode: 0017: 2:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
Nov 21 21:37:45 skynet daemon.info tvheadend[27462]: transcode: 0017: 3:AC3 ==> AAC (aac)
Nov 21 21:37:46 skynet daemon.warn tvheadend[27462]: transcode: 0017: Detected framedrop in audio
Nov 21 21:37:46 skynet daemon.err tvheadend[27462]: libav: mmco: unref short failure
Nov 21 21:37:46 skynet daemon.err tvheadend[27462]: libav: mmco: unref short failure
Nov 21 21:37:46 skynet daemon.err tvheadend[27462]: libav: number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
Nov 21 21:37:47 skynet daemon.info tvheadend[27462]: subscription: 0040: "HTTP" unsubscribing from "Sky Atlantic HD", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:37:47 skynet daemon.warn tvheadend[27462]: libav: 2 frames left in the queue on closing
Nov 21 21:37:47 skynet daemon.info tvheadend[27462]: mpegts: 330MHz in primacom - tuning on HVR-930C _ 1
Nov 21 21:37:47 skynet daemon.info tvheadend[27462]: subscription: 0041: "HTTP" subscribing on channel "Sky Atlantic HD", weight: 125, adapter: "HVR-930C _ 1", network: "primacom", mux: "330MHz", provider: "SKY", service: "Sky Atlantic HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:37:48 skynet daemon.info tvheadend[27462]: transcode: 0018: 1:TELETEXT ==> Filtered
Nov 21 21:37:48 skynet daemon.info tvheadend[27462]: transcode: 0018: 2:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
Nov 21 21:37:48 skynet daemon.info tvheadend[27462]: transcode: 0018: 3:AC3 ==> AAC (aac)
Nov 21 21:37:49 skynet daemon.warn tvheadend[27462]: transcode: 0018: Detected framedrop in audio
Nov 21 21:37:49 skynet daemon.err tvheadend[27462]: libav: mmco: unref short failure
Nov 21 21:37:49 skynet daemon.err tvheadend[27462]: libav: mmco: unref short failure
Nov 21 21:37:49 skynet daemon.err tvheadend[27462]: libav: number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
Nov 21 21:37:52 skynet daemon.info tvheadend[27462]: mpegts: 330MHz in primacom scan complete

========    A Zap for about 15seconds ( no Joke !!) it restarts on error        =============
Nov 21 21:39:12 skynet daemon.info tvheadend[27462]: mpegts: 418MHz in primacom - tuning on HVR-930C _ 1
Nov 21 21:39:12 skynet daemon.info tvheadend[27462]: subscription: 0046: "HTTP" subscribing on channel "Sky Cinema HD", weight: 125, adapter: "HVR-930C _ 1", network: "primacom", mux: "418MHz", provider: "SKY", service: "Sky Cinema HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:39:13 skynet daemon.info tvheadend[27462]: transcode: 0019: 1:TELETEXT ==> Filtered
Nov 21 21:39:13 skynet daemon.info tvheadend[27462]: transcode: 0019: 2:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
Nov 21 21:39:13 skynet daemon.info tvheadend[27462]: transcode: 0019: 3:AC3 ==> AAC (aac)
Nov 21 21:39:15 skynet daemon.err tvheadend[27462]: descrambler: cannot decode packets for service "Sky Cinema HD" 
Nov 21 21:39:15 skynet daemon.warn tvheadend[27462]: TS: primacom/418MHz/Sky Cinema HD: TELETEXT @ #32 Continuity counter error (total 1)
Nov 21 21:39:15 skynet daemon.err tvheadend[27462]: libav: mmco: unref short failure
Nov 21 21:39:15 skynet daemon.err tvheadend[27462]: libav: mmco: unref short failure
Nov 21 21:39:15 skynet daemon.err tvheadend[27462]: libav: number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
Nov 21 21:39:15 skynet daemon.warn tvheadend[27462]: transcode: 0019: Detected framedrop in audio
Nov 21 21:39:16 skynet daemon.info tvheadend[27462]: subscription: 0046: "HTTP" unsubscribing from "Sky Cinema HD", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:39:16 skynet daemon.warn tvheadend[27462]: libav: 2 frames left in the queue on closing
Nov 21 21:39:16 skynet daemon.info tvheadend[27462]: mpegts: 418MHz in primacom - tuning on HVR-930C _ 1
Nov 21 21:39:16 skynet daemon.info tvheadend[27462]: subscription: 0047: "HTTP" subscribing on channel "Sky Cinema HD", weight: 125, adapter: "HVR-930C _ 1", network: "primacom", mux: "418MHz", provider: "SKY", service: "Sky Cinema HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:39:17 skynet daemon.info tvheadend[27462]: transcode: 001A: 1:TELETEXT ==> Filtered
Nov 21 21:39:17 skynet daemon.info tvheadend[27462]: transcode: 001A: 2:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
Nov 21 21:39:17 skynet daemon.info tvheadend[27462]: transcode: 001A: 3:AC3 ==> AAC (aac)
Nov 21 21:39:17 skynet daemon.warn tvheadend[27462]: transcode: 001A: Detected framedrop in audio
Nov 21 21:39:17 skynet daemon.err tvheadend[27462]: libav: mmco: unref short failure
Nov 21 21:39:17 skynet daemon.err tvheadend[27462]: libav: mmco: unref short failure
Nov 21 21:39:17 skynet daemon.err tvheadend[27462]: libav: number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one

My Streaming profile:

{
        "container": 1,
        "resolution": 1080,
        "channels": 2,
        "language": "ger",
        "vcodec": "libx265",
        "vbitrate": 1536,
        "acodec": "aac",
        "abitrate": 256,
        "class": "profile-transcode",
        "enabled": true,
        "default": true,
        "name": "webtv-h264-aac-matroska",
        "comment": "WEBTV profile H264/AAC/Matroska",
        "priority": 2,
        "fpriority": 0,
        "timeout": 0,
        "restart": false,
        "contaccess": true,
        "svfilter": 0,
        "shield": true
}

Files

long zap.PNG (5.11 KB) long zap.PNG Stephan Oelze, 2015-11-22 17:43
short zap.PNG (4.96 KB) short zap.PNG Stephan Oelze, 2015-11-22 17:43
tvheadend.log_quickzap_1 (1.19 MB) tvheadend.log_quickzap_1 Stephan Oelze, 2015-11-22 21:39
tvheadend.log_quickzap_2 (622 KB) tvheadend.log_quickzap_2 Stephan Oelze, 2015-11-22 21:39
tvheadend.log_longzap_1 (1.17 MB) tvheadend.log_longzap_1 Stephan Oelze, 2015-11-22 21:39
tvheadend.log_longzap_2 (1.11 MB) tvheadend.log_longzap_2 Stephan Oelze, 2015-11-22 21:39
tvheadend.log_quickzap_1 (628 KB) tvheadend.log_quickzap_1 Stephan Oelze, 2015-11-22 23:33
tvheadend.log_quickzap_2 (365 KB) tvheadend.log_quickzap_2 Stephan Oelze, 2015-11-22 23:33
tvheadend.log_longzap_1 (852 KB) tvheadend.log_longzap_1 Stephan Oelze, 2015-11-22 23:33
tvheadend.log_longzap_2 (1.01 MB) tvheadend.log_longzap_2 Stephan Oelze, 2015-11-22 23:33
tvheadend.log_quickzap_1 (756 KB) tvheadend.log_quickzap_1 Stephan Oelze, 2015-11-22 23:45
tvheadend.log_quickzap_2 (421 KB) tvheadend.log_quickzap_2 Stephan Oelze, 2015-11-22 23:45
tvheadend.log_longzap_1 (1.44 MB) tvheadend.log_longzap_1 Stephan Oelze, 2015-11-22 23:46
tvheadend.log_longzap_2 (1.38 MB) tvheadend.log_longzap_2 Stephan Oelze, 2015-11-22 23:46
tvheadend.log_quickzap_1 (2.7 MB) tvheadend.log_quickzap_1 Stephan Oelze, 2015-11-23 14:57
tvheadend.log_quickzap_2 (2.97 MB) tvheadend.log_quickzap_2 Stephan Oelze, 2015-11-23 14:57
tvheadend.log_longzap_1 (4.78 MB) tvheadend.log_longzap_1 Stephan Oelze, 2015-11-23 14:57
tvheadend.log_longzap_2 (3.11 MB) tvheadend.log_longzap_2 Stephan Oelze, 2015-11-23 14:57
long_zap_player (76.4 KB) long_zap_player Stephan Oelze, 2015-11-23 15:46
quick_zap_player (131 KB) quick_zap_player Stephan Oelze, 2015-11-23 15:46
tvheadend.log (21.7 MB) tvheadend.log Stephan Oelze, 2015-11-23 18:37
tv_quickzap_1_trace_log_VLC.log (3.57 MB) tv_quickzap_1_trace_log_VLC.log The log as VLC strams a quick zap channel. Stephan Oelze, 2015-11-24 08:54
tv_quickzap_1_video_h265.mkv (17.6 MB) tv_quickzap_1_video_h265.mkv The video of a quickzap 1 live encoded to h265 Stephan Oelze, 2015-11-24 08:54
tv_quickzap_1_video_pass.ts (60.5 MB) tv_quickzap_1_video_pass.ts The viedeo of quickzap 1 as broadcasted (profile=pass) Stephan Oelze, 2015-11-24 08:55
tv_quickzap_2_trace_log_VLC.log (4.18 MB) tv_quickzap_2_trace_log_VLC.log Stephan Oelze, 2015-11-24 08:56
tv_quickzap_2_video_h265.mkv (8.34 MB) tv_quickzap_2_video_h265.mkv Stephan Oelze, 2015-11-24 08:56
tv_quickzap_2_video_pass.ts (31.6 MB) tv_quickzap_2_video_pass.ts Stephan Oelze, 2015-11-24 08:56
tv_longzap_1_trace_log_VLC.log (4.82 MB) tv_longzap_1_trace_log_VLC.log Stephan Oelze, 2015-11-24 08:58
tv_longzap_1_video_h265.mkv (7.65 MB) tv_longzap_1_video_h265.mkv Stephan Oelze, 2015-11-24 08:58
tv_longzap_1_video_pass.ts (41.4 MB) tv_longzap_1_video_pass.ts Stephan Oelze, 2015-11-24 08:58
tv_longzap_2_trace_log_WGET_STUCKED.log (14.8 MB) tv_longzap_2_trace_log_WGET_STUCKED.log A Log as wget stucked several time while getting data. Stephan Oelze, 2015-11-24 09:05
tv_longzap_2_trace_log_VLC.log (5.22 MB) tv_longzap_2_trace_log_VLC.log Stephan Oelze, 2015-11-24 09:05
tv_longzap_2_video_h265.mkv (12.7 MB) tv_longzap_2_video_h265.mkv This video was loaded with wget. stucked several times. playback of file is fluent, no missing frames. Stephan Oelze, 2015-11-24 09:05
tv_longzap_2_video_pass.ts (42.1 MB) tv_longzap_2_video_pass.ts Stephan Oelze, 2015-11-24 09:06
tv_quickzap_1_trace (1.8 MB) tv_quickzap_1_trace Stephan Oelze, 2015-11-24 13:10
tv_quickzap_2_trace (2.92 MB) tv_quickzap_2_trace Stephan Oelze, 2015-11-24 13:10
tv_longzap_1_trace (4 MB) tv_longzap_1_trace Stephan Oelze, 2015-11-24 13:10
tv_longzap_2_trace (3.3 MB) tv_longzap_2_trace Stephan Oelze, 2015-11-24 13:10

History

#1

Updated by Stephan Oelze about 9 years ago

maybe i need to add information.
The hardware is Intel-i7-4770K with 32Gigs of ram on an Z97Board + pcie ssd so powerfull enough i think.

and 1080p and or decrypting isnt allway the reason. a "quick" zap of an encrypted 1080p(i) channel. ~ about 7seconds

Nov 21 21:57:05 skynet daemon.info tvheadend[28152]: mpegts: playlist - RTL HD in easy - tuning on IPTV
Nov 21 21:57:05 skynet daemon.info tvheadend[28152]: subscription: 0011: "HTTP" subscribing on channel "RTL HD", weight: 125, adapter: "IPTV", network: "easy", mux: "playlist - RTL HD", provider: "CBC", service: "RTL HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:57:06 skynet daemon.info tvheadend[28152]: transcode: 0007: 1:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
Nov 21 21:57:06 skynet daemon.info tvheadend[28152]: transcode: 0007: 2:AC3 ==> AAC (aac)
Nov 21 21:57:07 skynet daemon.warn tvheadend[28152]: parser: The timediff for TELETEXT is big (867424726), using current dts
Nov 21 21:57:07 skynet daemon.err tvheadend[28152]: parser: transport stream TELETEXT, DTS discontinuity. DTS = 0, last = 867421126
Nov 21 21:57:08 skynet daemon.info tvheadend[28152]: subscription: 0011: "HTTP" unsubscribing from "RTL HD", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:57:08 skynet daemon.warn tvheadend[28152]: libav: 2 frames left in the queue on closing
Nov 21 21:57:08 skynet daemon.info tvheadend[28152]: mpegts: playlist - RTL HD in easy - tuning on IPTV
Nov 21 21:57:08 skynet daemon.info tvheadend[28152]: subscription: 0012: "HTTP" subscribing on channel "RTL HD", weight: 125, adapter: "IPTV", network: "easy", mux: "playlist - RTL HD", provider: "CBC", service: "RTL HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
Nov 21 21:57:08 skynet daemon.info tvheadend[28152]: transcode: 0008: 1:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
Nov 21 21:57:08 skynet daemon.info tvheadend[28152]: transcode: 0008: 2:AC3 ==> AAC (aac)
Nov 21 21:57:09 skynet daemon.warn tvheadend[28152]: parser: The timediff for TELETEXT is big (867417526), using current dts
Nov 21 21:57:09 skynet daemon.err tvheadend[28152]: parser: transport stream TELETEXT, DTS discontinuity. DTS = 0, last = 867413926
#2

Updated by Jaroslav Kysela about 9 years ago

Provide '--trace parser,transcode' . https://tvheadend.org/projects/tvheadend/wiki/Traces

#3

Updated by Stephan Oelze about 9 years ago

Sorry for my late reply but here it is:

2015-11-22 01:03:42.749 [   INFO] config: backup: migrating config from 4.1-1037~gcd6dc6d-dirty (running 4.1-1039~g0a7365a)

------------------ ALOT OF IRRELEVANT NOISE HERE ----------------------
=======================         A Quick Zap  (VLC ~ 4-5 seconds)           ==========================================================================================

2015-11-22 01:04:03.178 [   INFO] mpegts: 161MHz in primacom - tuning on HVR-930C _ 1
2015-11-22 01:04:03.178 [   INFO] subscription: 0004: "HTTP" subscribing on channel "Das Erste HD", weight: 125, adapter: "HVR-930C _ 1", network: "primacom", mux: "161MHz", provider: "ARD", service: "Das Erste HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="VLC/2.2.1 LibVLC/2.2.1" 
2015-11-22 01:04:04.096 [   INFO] transcode: 0001: 1:H264 1280x720 ==> HEVC 1280x720 (libx265)
2015-11-22 01:04:04.096 [   INFO] transcode: 0001: 2:MPEG2AUDIO ==> AAC (aac)
2015-11-22 01:04:04.225 [   INFO] transcode: 0001: 1:H264 1280x720 ==> HEVC 1280x720 (libx265)
2015-11-22 01:04:04.225 [   INFO] transcode: 0001: 2:MPEG2AUDIO ==> AAC (aac)
x265 [info]: HEVC encoder version 1.8
x265 [info]: build info [Linux][GCC 4.8.4][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 8 threads
x265 [info]: frame threads / pool features       : 1 / wpp(23 rows)
x265 [info]: Coding QT: max CU size, min CU size : 32 / 16
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : dia / 57 / 0 / 2
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 0
x265 [info]: Lookahead / bframes / badapt        : 5 / 3 / 0
x265 [info]: b-pyramid / weightp / weightb       : 1 / 0 / 0
x265 [info]: References / ref-limit  cu / depth  : 1 / 0 / 0
x265 [info]: Rate Control / qCompress            : ABR-1536 kbps / 0.60
x265 [info]: tools: rd=2 psy-rd=0.30 early-skip tmvp fast-intra
x265 [info]: tools: strong-intra-smoothing
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames                                <<<<<   THIS LINE REPEATS A TRILLION TIMES DURING STREAM
2015-11-22 01:04:05.674 [WARNING] parser: The timediff for DVBSUB is big (339329), using audio dts
2015-11-22 01:04:13.145 [  ERROR] http: 10.3.0.6: HTTP/1.1 POST /comet/poll -- 401
2015-11-22 01:04:13.568 [   INFO] subscription: 0004: "HTTP" unsubscribing from "Das Erste HD", hostname="10.3.0.6", client="VLC/2.2.1 LibVLC/2.2.1" 
2015-11-22 01:04:13.568 [WARNING] libav: 2 frames left in the queue on closing
x265 [info]: frame I:     15, Avg QP:30.73  kb/s: 8306.19
x265 [info]: frame P:    126, Avg QP:31.44  kb/s: 3426.43
x265 [info]: frame B:    305, Avg QP:33.44  kb/s: 388.17
x265 [info]: consecutive B-frames: 0.7% 39.4% 0.0% 59.9%

encoded 419 frames in 8.66s (48.37 fps), 1584.43 kb/s, Avg QP:28.38

btw, why 8 threads? tested on i3 dual core were also 8 threads are used !

========================================================================================================================================================================
========================================================================================================================================================================

=======================         A Quick Zap     (KODI ~ 4-5 seconds)        ============================================================================================

2015-11-22 01:14:19.576 [   INFO] mpegts: playlist - RTL HD in easy - tuning on IPTV
2015-11-22 01:14:19.576 [   INFO] subscription: 001C: "HTTP" subscribing on channel "RTL HD", weight: 125, adapter: "IPTV", network: "easy", mux: "playlist - RTL HD", provider: "CBC", service: "RTL HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
2015-11-22 01:14:20.693 [   INFO] transcode: 0006: 1:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
2015-11-22 01:14:20.693 [   INFO] transcode: 0006: 2:AC3 ==> AAC (aac)
x265 [info]: HEVC encoder version 1.8
x265 [info]: build info [Linux][GCC 4.8.4][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 8 threads
x265 [info]: frame threads / pool features       : 1 / wpp(34 rows)
x265 [info]: Coding QT: max CU size, min CU size : 32 / 16
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : dia / 57 / 0 / 2
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 0
x265 [info]: Lookahead / bframes / badapt        : 5 / 3 / 0
x265 [info]: b-pyramid / weightp / weightb       : 1 / 0 / 0
x265 [info]: References / ref-limit  cu / depth  : 1 / 0 / 0
x265 [info]: Rate Control / qCompress            : ABR-1536 kbps / 0.60
x265 [info]: tools: rd=2 psy-rd=0.30 early-skip tmvp fast-intra
x265 [info]: tools: strong-intra-smoothing
2015-11-22 01:14:20.776 [WARNING] parser: The timediff for TELETEXT is big (867264726), using current dts
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
2015-11-22 01:14:21.799 [   INFO] subscription: 001C: "HTTP" unsubscribing from "RTL HD", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
2015-11-22 01:14:21.799 [WARNING] libav: 2 frames left in the queue on closing
x265 [info]: frame I:      1, Avg QP:35.05  kb/s: 1872.60
x265 [info]: frame P:      6, Avg QP:28.74  kb/s: 2110.60
x265 [info]: frame B:     10, Avg QP:32.54  kb/s: 587.20
x265 [info]: consecutive B-frames: 44.4% 0.0% 0.0% 55.6%

!!!NO STOP BUTTON HERE!! MACHINE DOES IT ON ITS OWN!!!

encoded 17 frames in 1.03s (16.58 fps), 1200.48 kb/s, Avg QP:31.35
2015-11-22 01:14:21.958 [   INFO] mpegts: playlist - RTL HD in easy - tuning on IPTV
2015-11-22 01:14:21.958 [   INFO] subscription: 001D: "HTTP" subscribing on channel "RTL HD", weight: 125, adapter: "IPTV", network: "easy", mux: "playlist - RTL HD", provider: "CBC", service: "RTL HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
2015-11-22 01:14:22.726 [   INFO] transcode: 0007: 1:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
2015-11-22 01:14:22.726 [   INFO] transcode: 0007: 2:AC3 ==> AAC (aac)
2015-11-22 01:14:23.240 [WARNING] transcode: 0007: Detected framedrop in audio
x265 [info]: HEVC encoder version 1.8
x265 [info]: build info [Linux][GCC 4.8.4][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 8 threads
x265 [info]: frame threads / pool features       : 1 / wpp(34 rows)
x265 [info]: Coding QT: max CU size, min CU size : 32 / 16
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : dia / 57 / 0 / 2
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 0
x265 [info]: Lookahead / bframes / badapt        : 5 / 3 / 0
x265 [info]: b-pyramid / weightp / weightb       : 1 / 0 / 0
x265 [info]: References / ref-limit  cu / depth  : 1 / 0 / 0
x265 [info]: Rate Control / qCompress            : ABR-1536 kbps / 0.60
x265 [info]: tools: rd=2 psy-rd=0.30 early-skip tmvp fast-intra
x265 [info]: tools: strong-intra-smoothing
2015-11-22 01:14:23.299 [WARNING] parser: The timediff for TELETEXT is big (867390316), using current dts
2015-11-22 01:14:23.299 [  ERROR] parser: transport stream TELETEXT, DTS discontinuity. DTS = 0, last = 867386716
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames                                      <<<<<   THIS LINE REPEATS A TRILLION TIMES DURING STREAM
x265 [warning]: specified frame type is not compatible with max B-frames
2015-11-22 01:14:31.473 [   INFO] subscription: 001D: "HTTP" unsubscribing from "RTL HD", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
2015-11-22 01:14:31.496 [WARNING] libav: 2 frames left in the queue on closing
x265 [info]: frame I:      8, Avg QP:24.66  kb/s: 10634.58
x265 [info]: frame P:     67, Avg QP:25.27  kb/s: 2606.19
x265 [info]: frame B:    119, Avg QP:27.19  kb/s: 619.59
x265 [info]: consecutive B-frames: 28.6% 19.5% 11.7% 40.3%

encoded 194 frames in 8.21s (23.63 fps), 1718.67 kb/s, Avg QP:26.42

========================================================================================================================================================================
========================================================================================================================================================================

=====================           A long Zap     (VLC ~15 seconds)         ===============================================================================================

2015-11-22 01:10:31.560 [   INFO] http: 10.3.0.6: using ticket 10229EA296B05352F046A3B8DA42119C2CA4D9D8 for /stream/channel/771b400a77fe3e180222428ba2404d18
2015-11-22 01:10:31.560 [   INFO] mpegts: playlist - ProSieben HD in easy - tuning on IPTV
2015-11-22 01:10:31.560 [   INFO] subscription: 0011: "HTTP" subscribing on channel "ProSieben HD", weight: 125, adapter: "IPTV", network: "easy", mux: "playlist - ProSieben HD", provider: "ProSiebenSat.1", service: "ProSieben HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="VLC/2.2.1 LibVLC/2.2.1" 
2015-11-22 01:10:32.265 [   INFO] transcode: 0003: 1:TELETEXT ==> Filtered
2015-11-22 01:10:32.266 [   INFO] transcode: 0003: 2:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
2015-11-22 01:10:32.266 [   INFO] transcode: 0003: 3:AC3 ==> AAC (aac)
2015-11-22 01:10:32.713 [WARNING] transcode: 0003: Detected framedrop in audio
2015-11-22 01:10:32.762 [  ERROR] libav: mmco: unref short failure
2015-11-22 01:10:32.762 [  ERROR] libav: mmco: unref short failure
2015-11-22 01:10:32.762 [  ERROR] libav: number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
x265 [info]: HEVC encoder version 1.8
x265 [info]: build info [Linux][GCC 4.8.4][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 8 threads
x265 [info]: frame threads / pool features       : 1 / wpp(34 rows)
x265 [info]: Coding QT: max CU size, min CU size : 32 / 16
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : dia / 57 / 0 / 2
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 0
x265 [info]: Lookahead / bframes / badapt        : 5 / 3 / 0
x265 [info]: b-pyramid / weightp / weightb       : 1 / 0 / 0
x265 [info]: References / ref-limit  cu / depth  : 1 / 0 / 0
x265 [info]: Rate Control / qCompress            : ABR-1536 kbps / 0.60
x265 [info]: tools: rd=2 psy-rd=0.30 early-skip tmvp fast-intra
x265 [info]: tools: strong-intra-smoothing
x265 [warning]: specified frame type (3) at 0 is not compatible with keyframe interval
x265 [warning]: specified frame type (5) at 250 is not compatible with keyframe interval
x265 [warning]: specified frame type (3) at 500 is not compatible with keyframe interval
x265 [warning]: specified frame type (5) at 750 is not compatible with keyframe interval
x265 [warning]: specified frame type (3) at 1000 is not compatible with keyframe interval
x265 [warning]: specified frame type (5) at 1250 is not compatible with keyframe interval
x265 [warning]: specified frame type (3) at 1500 is not compatible with keyframe interval
x265 [warning]: specified frame type (5) at 1750 is not compatible with keyframe interval
x265 [warning]: specified frame type (3) at 2000 is not compatible with keyframe interval                                       <<<<<<          VLC PICTURE FREEZES AT THAT POINT       
2015-11-22 01:11:53.201 [   INFO] subscription: 0011: "HTTP" unsubscribing from "ProSieben HD", hostname="10.3.0.6", client="VLC/2.2.1 LibVLC/2.2.1" 
2015-11-22 01:11:53.205 [WARNING] libav: 2 frames left in the queue on closing
x265 [info]: frame I:      9, Avg QP:25.70  kb/s: 13351.51
x265 [info]: frame P:    496, Avg QP:26.10  kb/s: 4141.79
x265 [info]: frame B:   1493, Avg QP:28.01  kb/s: 484.68
x265 [info]: consecutive B-frames: 0.2% 1.6% 0.0% 98.2%

encoded 1998 frames in 80.44s (24.84 fps), 1450.51 kb/s, Avg QP:27.52

========================================================================================================================================================================
========================================================================================================================================================================

=====================           A long Zap     (KODI ~ 16 seconds)         ==========================================================================================================

2015-11-22 01:19:39.365 [   INFO] mpegts: playlist - ProSieben HD in easy - tuning on IPTV
2015-11-22 01:19:39.365 [   INFO] subscription: 002D: "HTTP" subscribing on channel "ProSieben HD", weight: 125, adapter: "IPTV", network: "easy", mux: "playlist - ProSieben HD", provider: "ProSiebenSat.1", service: "ProSieben HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
2015-11-22 01:19:40.191 [   INFO] transcode: 000C: 1:TELETEXT ==> Filtered
2015-11-22 01:19:40.192 [   INFO] transcode: 000C: 2:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
2015-11-22 01:19:40.192 [   INFO] transcode: 000C: 3:AC3 ==> AAC (aac)
2015-11-22 01:19:40.778 [WARNING] transcode: 000C: Detected framedrop in audio
2015-11-22 01:19:40.883 [  ERROR] libav: mmco: unref short failure
2015-11-22 01:19:40.883 [  ERROR] libav: mmco: unref short failure
2015-11-22 01:19:40.883 [  ERROR] libav: number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
x265 [info]: HEVC encoder version 1.8
x265 [info]: build info [Linux][GCC 4.8.4][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 8 threads
x265 [info]: frame threads / pool features       : 1 / wpp(34 rows)
x265 [info]: Coding QT: max CU size, min CU size : 32 / 16
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : dia / 57 / 0 / 2
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 0
x265 [info]: Lookahead / bframes / badapt        : 5 / 3 / 0
x265 [info]: b-pyramid / weightp / weightb       : 1 / 0 / 0
x265 [info]: References / ref-limit  cu / depth  : 1 / 0 / 0
x265 [info]: Rate Control / qCompress            : ABR-1536 kbps / 0.60
x265 [info]: tools: rd=2 psy-rd=0.30 early-skip tmvp fast-intra
x265 [info]: tools: strong-intra-smoothing
x265 [warning]: specified frame type (3) at 0 is not compatible with keyframe interval
2015-11-22 01:19:41.687 [   INFO] subscription: 002D: "HTTP" unsubscribing from "ProSieben HD", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
2015-11-22 01:19:41.687 [WARNING] libav: 2 frames left in the queue on closing
x265 [info]: frame I:      1, Avg QP:42.10  kb/s: 6382.60
x265 [info]: frame P:      3, Avg QP:37.01  kb/s: 3533.60
x265 [info]: frame B:      7, Avg QP:41.08  kb/s: 131.46
x265 [info]: consecutive B-frames: 16.7% 0.0% 0.0% 83.3%

!!!NO STOP BUTTON HERE!! MACHINE DOES IT ON ITS OWN!!!

encoded 11 frames in 0.79s (13.88 fps), 1627.60 kb/s, Avg QP:40.06
2015-11-22 01:19:41.895 [   INFO] mpegts: playlist - ProSieben HD in easy - tuning on IPTV
2015-11-22 01:19:41.895 [   INFO] subscription: 002E: "HTTP" subscribing on channel "ProSieben HD", weight: 125, adapter: "IPTV", network: "easy", mux: "playlist - ProSieben HD", provider: "ProSiebenSat.1", service: "ProSieben HD", profile="webtv-h264-aac-matroska", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
2015-11-22 01:19:42.725 [   INFO] transcode: 000D: 1:TELETEXT ==> Filtered
2015-11-22 01:19:42.725 [   INFO] transcode: 000D: 2:H264 1920x1080 ==> HEVC 1920x1080 (libx265)
2015-11-22 01:19:42.725 [   INFO] transcode: 000D: 3:AC3 ==> AAC (aac)
2015-11-22 01:19:43.970 [WARNING] transcode: 000D: Detected framedrop in audio
2015-11-22 01:19:44.055 [  ERROR] libav: mmco: unref short failure
2015-11-22 01:19:44.055 [  ERROR] libav: mmco: unref short failure
2015-11-22 01:19:44.055 [  ERROR] libav: number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one
x265 [info]: HEVC encoder version 1.8
x265 [info]: build info [Linux][GCC 4.8.4][64 bit] 8bit
x265 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX AVX2 FMA3 LZCNT BMI2
x265 [info]: Main profile, Level-4 (Main tier)
x265 [info]: Thread pool created using 8 threads
x265 [info]: frame threads / pool features       : 1 / wpp(34 rows)
x265 [info]: Coding QT: max CU size, min CU size : 32 / 16
x265 [info]: Residual QT: max TU size, max depth : 32 / 1 inter / 1 intra
x265 [info]: ME / range / subpel / merge         : dia / 57 / 0 / 2
x265 [info]: Keyframe min / max / scenecut       : 25 / 250 / 0
x265 [info]: Lookahead / bframes / badapt        : 5 / 3 / 0
x265 [info]: b-pyramid / weightp / weightb       : 1 / 0 / 0
x265 [info]: References / ref-limit  cu / depth  : 1 / 0 / 0
x265 [info]: Rate Control / qCompress            : ABR-1536 kbps / 0.60
x265 [info]: tools: rd=2 psy-rd=0.30 early-skip tmvp fast-intra
x265 [info]: tools: strong-intra-smoothing
x265 [warning]: specified frame type (3) at 0 is not compatible with keyframe interval
x265 [warning]: specified frame type (5) at 250 is not compatible with keyframe interval
x265 [warning]: specified frame type (3) at 500 is not compatible with keyframe interval
2015-11-22 01:20:05.720 [   INFO] subscription: 002E: "HTTP" unsubscribing from "ProSieben HD", hostname="10.3.0.6", client="Kodi/15.2 (Windows NT 6.1; WOW64) App_Bitness/32 Version/15.2-Git:20151019-02e7013" 
2015-11-22 01:20:05.720 [WARNING] libav: 2 frames left in the queue on closing
x265 [info]: frame I:      3, Avg QP:30.93  kb/s: 16446.33
x265 [info]: frame P:    130, Avg QP:25.16  kb/s: 4549.67
x265 [info]: frame B:    390, Avg QP:27.12  kb/s: 670.39
x265 [info]: consecutive B-frames: 0.7% 1.5% 0.0% 97.8%

encoded 523 frames in 21.68s (24.12 fps), 1725.14 kb/s, Avg QP:26.65
#4

Updated by Stephan Oelze almost 9 years ago

I made more tests today.
Everytime i have a long zap this line is in the log(and only then).

[ ERROR] libav: number of reference frames (0+4) exceeds max (3; probably corrupt input), discarding one

Tested all 90 Channels of my channels list. And there are a few which allway zap fast. long and short zaps are on same network/provider. There is none you can say "this provider" has problems or when its encrypted with caid ....
Often its the same provider, same videosource codec with same datarates on same transponder etc....

in addition i noticed a "bandwidth differnece" when i have short zaps, then the bandwidth usage is much mor equal. see the screenshots.

if i can provider more informations / take more tests let me know.

#5

Updated by Jaroslav Kysela almost 9 years ago

Provide traces.

#6

Updated by Stephan Oelze almost 9 years ago

?? my fault? ??
i thought i did allready!

i compiled from git with:
./configure --enable-bundle --enable-libx265 --enable-libffmpeg_static --enable-libav --enable-zlib --prefix=/usr --enable-trace && make -j7

started with:
./build.linux/tvheadend -l /tmp/tvheadend.log --trace parser,transcode

and results are posted #1 (24h ago). maybe i forgot Debug libav log?

Now i did it again and attached complete /tmp/tvheadend.log to this post. Thanks and sorry? for the confusion.

Sorry, now i see. Definitely my fault, sorry for spamming here and wasting your time!

#7

Updated by Jaroslav Kysela almost 9 years ago

I see (times in min:secs) in longzap_1:

36:03 - start
36:06 - first video delivered
36:06 - unsubscribing / subscribing from KODI (what's that hell?)
36:08 - first video packet delivered from the second subscription

Also note that in most H264 streams the video is cca 2 seconds behind the audio (it's visible also on the commercial satellite receivers that audio is first after zapping and video then).

Anyway, KODI should not do subscription two times. I would report the issue here: https://github.com/kodi-pvr/pvr.hts/issues

#8

Updated by Jaroslav Kysela almost 9 years ago

Note that two subscription requests are also in the quickzap logs.

#9

Updated by Stephan Oelze almost 9 years ago

I will Report that issue there.

Anyway, Vlc has the same long zaps.
Or mplayer is also the same so I thought the player is not the problem.

#10

Updated by Stephan Oelze almost 9 years ago

Btw it's not hts kodi is connecting with addon iptvsimple

#11

Updated by Jaroslav Kysela almost 9 years ago

Could you show me the log when you use mplayer or vlc ?

Don't report this issue to pvr.hts - it's special TVH plugin.

#12

Updated by Stephan Oelze almost 9 years ago

Will do so tomorrow morning.

#13

Updated by Stephan Oelze almost 9 years ago

No time to wait ;)
did it now.

Files attached are traced with vlc 2.2.1 as client.

#14

Updated by Stephan Oelze almost 9 years ago

and this is mplayer files attached.

i noticed that mplayer starts to fill cache anfreezes inbetween 10% and 20% of cachefill for about 6-8seconds. this causes the delay? on those slow zapps. Mplayerlog:

MPlayer sherpya-r37451+g531b0a3-4.9.2 (C) 2000-2015 MPlayer Team

Playing http://192.168.1.140:9981/play/stream/channel/771b400a77fe3e180222428ba2
404d18?title=7%20%3A%20ProSieben%20HD.
Connecting to server 192.168.1.140[192.168.1.140]: 9981...

Cache size set to 320 KBytes
Cache fill: 16.67% (54631 bytes)

libavformat version 56.40.101 (internal)
libavformat file format detected.
[lavf] stream 0: video (hevc), -vid 0
[lavf] stream 1: audio (aac), -aid 0, -alang ger
VIDEO:  [HEVC]  1920x1080  0bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
Clip info:
 title: ProSieben HD
 encoder: Tvheadend Matroska muxer
Load subtitles in http://192.168.1.140:9981/play/stream/channel/
Load subtitles in C:/Users/derdigge/Desktop/MPlayer-x86_64-r37451+g531b0a3/MPlay
er-x86_64-r37451+g531b0a3/mplayer/sub/
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
libavcodec version 56.58.100 (internal)
Selected video codec: [ffhevc] vfm: ffmpeg (FFmpeg HEVC / H.265)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, floatle, 0.0 kbit/0.00% (ratio: 0->384000)
Selected audio codec: [ffaac] afm: ffmpeg (FFmpeg AAC (MPEG-2/MPEG-4 Audio))
==========================================================================
AO: [dsound] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
[hevc @ 0000000001973e80]Could not find ref with POC -26
[hevc @ 0000000001973e80]Could not find ref with POC -28
[hevc @ 0000000001973e80]Could not find ref with POC -30
[hevc @ 0000000001973e80]Could not find ref with POC -34
[hevc @ 0000000001973e80]Could not find ref with POC -24
Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
VO: [direct3d] 1920x1080 => 1920x1080 Planar YV12
#15

Updated by Jaroslav Kysela almost 9 years ago

Try v4.1-1044-g9065b52 .

#16

Updated by Stephan Oelze almost 9 years ago

Thanks for your Work!
But unfortunately it didnt change the behavior.
please have a look at traces attached with 4.1-1047~g851aebb client is VLC 2.2.1.

A "quickzap" takes place in ~3 seconds for 720p and ~3.5 seconds 1080p. They feel a bit faster. Its no "hardmessured", its finger counting. ;)
basically i know that 3 Seconds for a tune-in + descrable + transfer over 670km distance is a really great result (o:!

But the "longzap" is still long. is still about 10-13 seconds.

#17

Updated by Stephan Oelze almost 9 years ago

This is mplayer verbose logging as attachment. It still freezes at caching for some time.

#18

Updated by Jaroslav Kysela almost 9 years ago

Could you try this change?

diff --git a/src/plumbing/transcoding.c b/src/plumbing/transcoding.c
index 1956e55..950ff37 100644
--- a/src/plumbing/transcoding.c
+++ b/src/plumbing/transcoding.c
@@ -1386,6 +1386,7 @@ transcoder_stream_video(transcoder_t *t, transcoder_stream_t *ts, th_pkt_t *pkt)
         av_dict_set_int__(&opts, "x265-params", maxrate,         AV_DICT_APPEND);
         av_dict_set(&opts,       "x265-params", ":strict-cbr=1", AV_DICT_APPEND);
       }
+      av_dict_set(&opts, "x265-params", ":keyint=100", AV_DICT_APPEND);

       break;
#19

Updated by Stephan Oelze almost 9 years ago

tried it. A lot of noise in log now.
The first zap in that file was a quick one. The second a long zap i inserted some parting lines.
The stream starts earlier. It took about 7 seconds for a long zap but there is only audio and blank viedeo (kodi) for ~5 seconds.
After a start there are a lot disturbances and picture failures. Zapping time for short zaps are as before.
They also do have picture failures.

if You need more traces/cleints let me know.

#20

Updated by saen acro almost 9 years ago

Can you attach video record of same channel, at less 1-2min long
one in pass profile and one in transcoding profile you use
idea is to be seen mpeg attributes as GOP, I, P, and B frames

#21

Updated by Stephan Oelze almost 9 years ago

hello saen and welcome to the ticket ;)

please answer following question and I will serve your need
Q1: with or without patch from #18?
Q2: short zap? Long zap? Both?

#22

Updated by saen acro almost 9 years ago

more data for analyse more chance to catch malfunction

basicly
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames
x265 [warning]: specified frame type is not compatible with max B-frames

this explain long first frame to display
http://forum.doom9.org/showthread.php?t=19436

#23

Updated by Stephan Oelze almost 9 years ago

Ok thanks, here wo go! This Files are without patch from post #18. It caused to much groats in the video stream.

for every zap(channel) i did

1 - Stream with VLC
2 - wget -O *.mkv (profile h265 stream encode)
3 - wget -O *.ts (profile pass)

Interesting to say is that wget bahves similar to mplayer on longzaps. A few bytes came in then stuck for maybe 9 seconds,
continues and stuck again from time to time. Ever Continue step comes with a huge burst of datarate ~ about 4 times bitrate of the stream.
Its like driving and Moskvitch ;) or an Ural 750 :P

I tried to understand this
http://forum.doom9.org/showthread.php?t=19436

But sorry no :) i really dont know what this guy is talking about ;) but thanks for information.

#25

Updated by Jaroslav Kysela almost 9 years ago

The key frame interval should be reduced for the streaming. Value 250 means up to 10 seconds. In standard streaming, this value should be in range 30-49 (less than 2 seconds for 25fps). The build-in matroska muxer starts chunks when key frame is detected, thus there might be "big delays" until data are flushed out of tvh..

Could you try again the change from comment 18, but replace ":keyint=100" with ":keyint=49:min-keyint=15" ?

#26

Updated by Stephan Oelze almost 9 years ago

i´ll try that and report back.

switching container to MPEG-TS/av-lib solves the problem btw ...... I have zappings 2,5-4 seconds on all channels.

Anyway lets fix that for Matroska. Do You need video examples again or are traces enough?

#27

Updated by Jaroslav Kysela almost 9 years ago

I can reproduce the issue here, too. I won't call it a bug, because the matroska spec says that each chunk should start with a key frame.

#28

Updated by Stephan Oelze almost 9 years ago

Ok, i understand.

Times with patch from Post \#18 + \#25 i get following results: (counted with smartphone watch)
Settings: Container=*Matroska (mkv)/built-in* | bitrate=2048 | resolution=1080(or max available) | Audiocodec=libvorbis

quickzaps_720p: 4,75s ; 4,01s ; 4,56s ; 4,84s
quickzaps_1080p: 7,02s ; 6,94 ; 6,33s ; 6,45s

longzaps_1080p: 8,13s ; 9,80s ; 7,88s ; 8,30s
See the Traces attached.

So i made another try with following settings:
Settings: Container=*MPEG-TS/av-lib* | bitrate=2048 | resolution=1080(or max available) | Audiocodec=aac

quickzaps_720p: 3,98s ; 4,21 ; 4,46 ; 4,58
quickzaps_1080p: 6,31 ; 5,99 ; 6,43 ; 6,85

longzaps_1080p: 6,81 ; 6,25 ; 6,73 ; 6,48
No traces attached for this one.

Is there another Container we can use? One which is more suitable for such a mission?
I would like to get bellow 4-5 Seconds. At best case achive values like htsp :) 1-2s :)

Thanks for all Your help here :)

#29

Updated by Jaroslav Kysela almost 9 years ago

We may reduce the times only for matroska (but only one second). Analysis for the current code:

1: 17:04:26.768 [   INFO]:subscription: 0001: "HTTP" subscribing on channel "SAT.1 HD" 
2: 17:04:27.856 [  TRACE]:parser: pkt bcklog  2 H264         type   dts 80708352344 (7263751711)
3: 17:04:28.817 [  TRACE]:parser: pkt stream  2 H264         type I dts 80709872344 (7263888511)
4: 17:04:29.371 [  DEBUG]:transcode: tuning HEVC encoder for ABR rate control, bitrate: 3500kbps, vbv-bufsize: 13125kbits, vbv-maxrate: 4375kbps
5: 17:04:29.633 [  TRACE]:transcode: 0001: deliver video (dts = 174400, pts = 181600)
6: 17:04:29.653 [  TRACE]:parser: hevc video packet!
7: 17:04:29.653 [  TRACE]:parser: matroska close cluster
8: 17:04:31.537 [  TRACE]:parser: matroska close cluster
9: 17:04:33.464 [  TRACE]:parser: matroska close cluster

Analysis:

   time
1) 0.000 HTTP request - start time
2) 1.088 first H264 frame was decoded
3) 2.049 H264 key frame detected
4) 2.603 transcoding started (HEVC encoder)
5) 2.865 first frame from transcoder
6) 2.885 first video frame in matroska muxer
7) 2.885 first matroska cluster closed and sent to the client
8) 4.769 second matroska cluster closed and sent to the client
9) 6.696 third ....

At time 4.769 (second matroska cluster) the client has all information to start decoding (the client may start after first cluster - there should be one video frame and some audio frames, but I think that all clients buffers more).

Used patch:

diff --git a/src/muxer/muxer_mkv.c b/src/muxer/muxer_mkv.c
index 3b50dc3..a496dd7 100644
--- a/src/muxer/muxer_mkv.c
+++ b/src/muxer/muxer_mkv.c
@@ -939,8 +939,10 @@ mk_add_chapter(mk_muxer_t *mk, int64_t ts)
 static void
 mk_close_cluster(mk_muxer_t *mk)
 {
-  if(mk->cluster != NULL)
+  if(mk->cluster != NULL) {
+    tvhtrace("parser", "matroska close cluster");
     mk_write_master(mk, 0x1f43b675, mk->cluster);
+  }
   mk->cluster = NULL;
   mk->cluster_last_close = dispatch_clock;
 }
@@ -1128,6 +1130,7 @@ mk_mux_write_pkt(mk_muxer_t *mk, th_pkt_t *pkt)
     mk_mux_insert_chapter(mk);

   if(t->hevc) {
+    tvhtrace("parser", "hevc video packet!");
     pkt = hevc_convert_pkt(opkt = pkt);
     pkt_ref_dec(opkt);
   } else if(t->avc) {

I don't see what else can be reduced / improved here.

#30

Updated by Jaroslav Kysela almost 9 years ago

Note it's analysis from my test machine, not from your logs..

#31

Updated by Stephan Oelze almost 9 years ago

Checked out latest git an applied the patch.
The result about 1second faster as you said. Debending on channel i am getting ~ 4-6.5 seconds.

Until now You made good improvements to matroska i think. but still MPEG-TS/av-lib + aac gives me the best results.
With MPEG-TS Container i am worst at 4 Seconds and best zap was 2.5 seconds. In average all channels are 4 seconds and lower.

This is verry close to htsp/pass. So in sum i can say awsome result for this mission :) Thanks a lot for your effort.

I was able to messure about 0.5-1 secon speed decrease for matroska with patch from your post 29. So it should be applied to master.
Anyhow for me MPEG-TS is the way to go for me.

Next step is playing with Intels Quick-Sync tecnology.

Thanks in advance Jaroslav!

If You need more traces or information please let me know.

#32

Updated by Stephan Oelze almost 9 years ago

or if you need an entusist for testing ;)

#33

Updated by saen acro almost 9 years ago

Stephan Gradl Oelze
more explayned I,P,B frames in MPEG stream
https://www.youtube.com/watch?v=P7abyWT4dss and https://www.youtube.com/watch?v=qbGQBT2Vwvc

@Jaroslav Kysela is it possible to forsly add key frames
at less this is live streams not files on storage

#34

Updated by Jaroslav Kysela almost 9 years ago

Sean Sean acro: There might be probably "universal" hints in the stream profile settings like low-latency, best-picture or so... So the transcoder can determine the purpose and set the parameters according this.

#35

Updated by Jaroslav Kysela almost 9 years ago

  • Status changed from New to Fixed

Stephan Gradl : All code is in the current TVH master. I'm closing this as fixed.

Also available in: Atom PDF