Anyone able to play 4K@60Hz without stuttering?

Hi,

I have noticed that all 4Kp60 content I have available is stuttering badly on my Vero 4K+. I also get sound and picture dropouts. Before I am uploading any logs, has anyone been able to play back 4K60P sources?

Like Big Buck Bunny in 4K:

download link

General
Complete name                            : /net/Public/Demos/UHD/bbb_sunflower_2160p_60fps_normal.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/avc1)
File size                                : 642 MiB
Duration                                 : 10 min 34 s
Overall bit rate                         : 8 488 kb/s
Movie name                               : Big Buck Bunny, Sunflower version
Performer                                : Blender Foundation 2008, Janus Bager Kristensen 2013
Composer                                 : Sacha Goedegebure
Genre                                    : Animation
Encoded date                             : UTC 2013-12-17 16:40:26
Tagged date                              : UTC 2013-12-17 16:40:26
Comment                                  : Creative Commons Attribution 3.0 - http://bbb3d.renderfarming.net
©com                                     : Jan Morgenstern

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L5.1
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 10 min 34 s
Bit rate                                 : 8 000 kb/s
Maximum bit rate                         : 35.1 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 60.000 FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.016
Stream size                              : 605 MiB (94%)
Writing library                          : x264 core 120
Encoding settings                        : cabac=1 / ref=4 / deblock=1:1:1 / analyse=0x3:0x133 / me=tesa / subme=11 / psy=1 / psy_rd=0.40:0.00 / mixed_ref=1 / me_range=24 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=12 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=16 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=2pass / mbtree=1 / bitrate=8000 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:0.60
Encoded date                             : UTC 2013-12-17 16:40:26
Tagged date                              : UTC 2013-12-17 16:40:29

Audio #1
ID                                       : 2
Format                                   : MPEG Audio
Format version                           : Version 1
Format profile                           : Layer 3
Mode                                     : Joint stereo
Mode extension                           : MS Stereo
Codec ID                                 : 6B
Duration                                 : 10 min 34 s
Bit rate mode                            : Constant
Bit rate                                 : 160 kb/s
Maximum bit rate                         : 165 kb/s
Channel(s)                               : 2 channels
Sampling rate                            : 48.0 kHz
Compression mode                         : Lossy
Stream size                              : 12.1 MiB (2%)
Writing library                          : LAME3.99r
Encoding settings                        : -m j -V 4 -q 3 -lowpass 17.5 -b 160
Encoded date                             : UTC 2013-12-17 16:40:28
Tagged date                              : UTC 2013-12-17 16:40:29

Audio #2
ID                                       : 3
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Mode extension                           : CM (complete main)
Format settings, Endianness              : Big
Codec ID                                 : ac-3
Duration                                 : 10 min 34 s
Bit rate mode                            : Constant
Bit rate                                 : 320 kb/s
Channel(s)                               : 6 channels
Channel positions                        : Front: L C R, Side: L R, LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 spf)
Bit depth                                : 16 bits
Compression mode                         : Lossy
Stream size                              : 24.2 MiB (4%)
Encoded date                             : UTC 2013-12-17 16:40:28
Tagged date                              : UTC 2013-12-17 16:40:29

→ Is this video supposed to be playable?

4K60 is fine for HEVC.

Keep in mind that you are playing 4K 60 H264. This doesn’t exist in the real world.

As such, we’ve never really optimised the decoder at 4K60 much for H264. It’s likely a buffering issue: did you try playing the file back locally?

I recommend trying the 4K60 jellyfish 10 bit HEVC clips which you should be able to play up to 300Mbps with ease. This should demonstrate what the device is capable of.

Sam

I have just copied one of the troublesome demo clips to the fastest USB flash drive I have, just to try it with local playback. Unfortunately the stuttering is still there. I am not getting image dropouts, it’s just that motion is not smooth at all.

BTW: SD cards or USB disks are usually slower than my network :slight_smile: I am getting a steady 113 MB/s read rate from my NAS with CIFS (iperf says 937 Mbits/sec). You definitely did a very good job with the Vero’s network interface and driver support.

Nice, the 300Mbps demo streamed from my NAS is working.

Sadly many short films I have are in that format. But the Vero also struggles at 4K 24p with H.264 (which is not so uncommon). This video is also stuttering:

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4.1
Format settings, CABAC                   : Yes
Format settings, ReFrames                : 4 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 2 h 11 min
Bit rate                                 : 47.9 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.241
Stream size                              : 44.8 GiB (96%)
Writing library                          : x264
Encoding settings                        : cabac=1 / ref=1 / deblock=1:0:0 / analyse=0x3:0x113 / me=hex / subme=7 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=0 / me_range=16 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-2 / threads=12 / lookahead_threads=2 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=1 / b_bias=0 / direct=1 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=40 / rc=2pass / mbtree=1 / bitrate=47923 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=54 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=50000 / vbv_bufsize=50000 / nal_hrd=none / filler=0 / ip_ratio=1.40 / aq=1:1.00
Language                                 : English
Default                                  : Yes
Forced                                   : No

The reason for this probably is the high bitrate in combination with the “High@L4.1” profile. Other H.264 4K-sources with “Main@L5.1” are working however.

The sad part is that I can feed all of these files to Kodi on my PC where they can be played back without any hickups. I know the PC beats these files with pure CPU power :cry:

Hi,

L5.1 is a higher profile (and more complex) than L4.1; so should be more difficult than L4.1 on the whole. But your experience sound antithetical to this. Can you compare bitrates with what works vs what doesn’t work?

Is there an opportunity to upload (feel free to PM) a short film that doesn’t play as expected?

Cheers

Sam

Also, when Sam suggests trying to playback the file locally, I think he meant the Vero’s internal 16GB not a USB stick.
The Vero only has a USB 2.0 so that could be a potential bottle neck too.

EDIT: I tried that file from my home/osmc/Movies folder and it was choppy too so it looks like that’s just a format that’s not going to play friendly with the Vero 4K+.
Re-encoding to x265 is your best bet.
You said your files are short so hopefully that wont be to painful to encode for your computer (I know x265 can take a long time).

I just checked what currently is probably the biggest movie data base online and it seems that there is pretty much none commercially released movies H264 2160p on UHD Blu-ray

But it seems there is some Netflix content encoded with H264 2160p

The maximum possible bit-rate for a UHD blu-ray rip is 128Mb/s - and that’s peak rate, the average bit-rate will be a lot less. USB 2.0 can handle >300Mb/s sustained. It’s unlikely to be a limitation.

What do you mean by rip ? When talking about ripping video it usually means taking the original that comes from the disc and encoding it so that the file size is reduced while the average user wont see the difference.

If you are talking about just copying the content from the disc and muxing it into mkv without encoding and reducing size you probably meant remuxing.

Nope, ripping is generally the process of extracting all the information from a digital media. If you keep than the original information or you re-encode in a different format is another story

That is certainly how I use the term. :slight_smile:

My point was that even with a raw blu ray remux, the peak bit-rate will be <128Mb/s, and USB 2.0 speed is more than double that.

BTW: These files don’t come from outer space. Big Buck Bunny is quite popular. I also have a few 4K recordings from sports events and they are 60 Hz and encoded with H264. All the 4K recordings from the FIFA world cup 2014 I possess are 59,9 Hz (some matches are only 1080p, but the last rounds are 4K). They are all H.264 - please don’t aske me why, they just are.

Some of the other demo 4K footage I have is also H.264, albeit with lower framerate. The AUO 4K demo for example is also suffering from micro-stuttering on the Vero (although it is hard to spot with this particular kind of video as it does not have much motion). Sintel 4K does not play at all, it just gives a black screen. And that’s not just a demo, it’s an actual movie.

I also find it not very logical that Level4.1 is stuttering and Level5.1 is working. I couldn’t really find a big difference in bitrates, but maybe it’s because of High@L4.1 (stutters) vs. Main@L5.1 (no stuttering)? I am sorry that I cannot send you this particular file. It is over 40GB in size and would take ages for me to upload.

The stuttering is very likely not related to I/O issues or buffering. The Vero’s Gigabit network is doing a good job here. It’s just that apparently these 4K/H.264 clips are generally troublesome, with 60Hz probably not working at all. And I really don’t want to go through re-encoding my videos.

AFAIK UHD BluRay is always H.265. Yet, some of the “rips” (or let’s call them re-encodes) are H.264, just like the example I have posted in my 3rd post. And some of these “rips” cannot be played smoothly by the Vero, probably due to the high bitrate or features required by the “High” profile.

Yeah. My network has over 937 Mb/s (iperf measured) with 113 MB/s real-life read speed. This will not cause any issues. My PC is also streaming all of these files over the network without any playback issues on PC Kodi (with DSPlayer).

There are none, to my knowledge.

It won’t be at 60fps; so should play back fine.

4K H26460 is a non-existent format. It isn’t really in spec. I’ll look at things later; but it’s low on the list. We have issues to fix with content that’s available first instead of optimising for killer samples.

Sam

Can you not use MKVToolNix/mkvmerge to produce a short extract - 20-30 seconds, say?

That would be perfect.

I’m curious why someone would spend £99 for a device to play demo clips? Why would you not actually rip real 4K content and play that instead? If you did that you’d find that the 4K works just fine.

D’oh, you are right. Didn’t know that MKVToolNix could do that. I’ve just prepared a link for Sam with the troublesome H.264 24p 4K.

If you are calling films such as Big Buck Bunny, Sintel or Llama Drama “demo clips” you are not paying much respect to their creators. They are real (and free) short films, which are fun to watch from time to time, especially when you have kids around. None of their official 4K versions are working on the Vero 4K+, although Sintel and Llama Drama are only 24p. Okay, the kids don’t care if it’s 4K or 1080p, but I don’t see why I should be using 1080p content for my 4K TV/media player.

And the sports recordings I have are also not just “demos”. They are legit F1 races or soccer matches. Sometimes I actually like to watch historic soccer games, such as the 2014 final, just to compare the past and present teams. And I’d like to watch it in 4K, as that’s what the source is in this case. I can’t change anything about the fact that it was recorded with H.264 and 60 Hz (as I said I don’t want to go through re-encoding).

It’s true that some of the other 4K footage I have are obviously demo clips. I don’t watch those all day, I play them on a new device in order to get an overview of the strengths and weaknesses of a particular device (in this case the Vero 4K+). When you have a new device it’s just more convenient to watch 2 minute clips instead of full movies in order to spot problems.

It’s not a huge deal if some of these Demos don’t play at all. But some revealed actual weaknesses of the device (such as micro-stuttering), which also apply to rips. When I’ve played an actual 4K “rip” I also ran into stuttering issues (as I said I have sent a short sample to Sam).

The Amlogic S905D specification says it supports h.264 up to 4K30 (but h.265 and VP9 profile 2 up to 4K60); so it seems highly unlikely that it will ever be able to play back 4K60 h.264 video. 4K24 h.264 is a theoretical possibility, based on that; but I suspect it will take less time for you to transcode everything to h.265 than it will take the OSMC developers to get that working. :slight_smile:

SMH… and my new router can do 5Gbps over WiFi too.
Theoretical specs are worthless to this conversation.
In the real world the USB on the Vero will more likely do 200Mbps.
And yes I do understand that this is well below UHD blu-ray peak bitrates BUT his problem is not with playing back UHD blu-rays but rather with files that are not limited to the UHD blu-ray specifications.
Run the jellyfish demos from the USB verses the internal memory and you’ll find that the USB bottle neck comes into play.
All that is besides the point though now since I tested one of his files from the internal memory and it did stutter.
Don’t rule the USB bottle neck out because it is a real world issue on random files I’ve come across.
They may be rare, but they exists.
I think it’s pretty clear now that this guys issue is not because of the USB but rather the processing limitations (if you want to call it that) of the Vero.
I personally wouldn’t call it a limitation because I think these files are very far from standard and are not part of the design of the Vero.
But I guess someone could argue that their UHD Blu-ray player has limitations because it doesn’t play VHS or Betamax.
To each there own.

Yes this is correct for the entire AML S9xx chipset family.
No use trying to play h.264 4K@60fps that the AMlogic Video Engine simply does Not support.

See section 3.4 Video Path on the following Data Sheet:

https://dl.khadas.com/Hardware/VIM1/Datasheet/S905X_Datasheet%20V0.3%2020170314publicversion-Wesion.pdf

I think I tried to play some 2160p files x264@24fps see media info a year ago or so and they did stutter. would have to check now to see if they still do. But if you could at least make 2160p 24fps playback butter smooth if encoded with x/h264 that would be fantastic

Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 5 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 52 min 9 s
Bit rate : 33.7 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.169
Stream size : 12.3 GiB (99%)
Writing library : x264 core 148 r2638 7599210
Encoding settings : cabac=1 / ref=5 / deblock=1:-3:-3 / analyse=0x3:0x133 / me=umh / subme=10 / psy=1 / psy_rd=1.00:0.00 / mixed_ref=1 / me_range=48 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-2 / threads=24 / lookahead_threads=4 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=9 / b_pyramid=0 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=240 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=0 / crf=19.5 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=62500 / vbv_bufsize=78125 / crf_max=0.0 / nal_hrd=none / filler=0 / ip_ratio=1.40 / pb_ratio=1.30 / aq=3:0.70
Default : Yes
Forced : No