NEW Firmware Release - 2.1.18

I am running at 720p Roku 3 wired and Tablo WiFi and I am not seeing this buffering on live TV you guys are seeing. I am wondering if it is an issue with how things are setup or maybe some interference or something? Or maybe the speedup is showing some hard drive issues? ie. not able to keep up with the output since obviously there is less data to start on the live TV now that they have increased the time to start?
Just a thought.

Sure, it is possible…but that is the purpose of having a streaming buffer. Whether it’s hard-drive related, internal LAN infrastructure related, Wifi interference, etc…they can all cause issues. If you have a sufficient buffer, though, it becomes transparent to the user since any momentary lapses in throughput are backfilled by the buffer. If the buffer is too small, though (in order to speed up tuning, for example)…those momentary lapses will exhaust the buffer and create instances of “buffering”.


I’m anxious to hear what the Tablo tech guys have to say. Maybe there’s some other cause that I’m not seeing. That being said, I would much rather prioritize a sufficient buffer size over quick tuning. Others may feel different. In my opinion, a user-defined buffer size would be the best option. Maybe two options “quick tuning” which is a smaller buffer…and “stable viewing” which is a larger buffer but doesn’t tune as quickly.


Differences in hardware (hard drives) and network connectivity are easy to fault however when the system was working prior firmware update its reasonable to conclude that the firmware update is the issue.   I can’t speak for others but we have hard wired Cat6 gigabit home network and the only streaming device with issues is the Tablo.    

My point is although I see some people saying they have issues, I see about the same or more saying no issues. So saying it is the firmware may not be the right answer, even if you are seeing issues.


EDIT:

Let me add that I totally agree with the Hard Drive issues not being specific with what drives work well and which don’t. Just this week someone posted a BAD drive with a link to a Drive I use and works great. So, is that firmware? Most likely, yes. Could that affect you guys, probably.
My point is although I see some people saying they have issues, I see about the same or more saying no issues. So saying it is the firmware may not be the right answer, even if you are seeing issues.

I’m sure Tablo is aiming for much better than a 50-50 good/bad ratio.  The system needs to have sufficient resiliency to overcome the sorts of issues that come up with various HDDs and LANs. Reducing the buffer reduces that resiliency.

@DaFury you must have missed my edit :wink:

@Jestep - I agree with you and think its a real possibility this new firmware has created a hard drive incompatibility when there was not one previously.   Unfortunately this brings up a major weakness of Tablo - the lack of 4k sector support and continued user problems of hard drive compatibility.    Where does Tablo stand on resolving the 4k sector issue which has existed for months? 

@DaFury you must have missed my edit ;)

I did. :slight_smile:


In case there’s any correlation here…I’m using a Seagate Backup Plus Slim 1TB Portable External. Any of the others having issues using a Seagate Backup Plus?
Differences in hardware (hard drives) and network connectivity are easy to fault however when the system was working prior firmware update its reasonable to conclude that the firmware update is the issue.   I can't speak for others but we have hard wired Cat6 gigabit home network and the only streaming device with issues is the Tablo.    

Ditto on setup and thoughts.


Of course there will be differences between setups. That is inevitable, but that does not mean the update did not cause the issue. If 50% of a group has an issue after a change, statistically that would point to the change as the root cause of the issue.

Actually with the new firmware buffering on my upstairs TV and Roku have improved! It’s in a weak WIFI spot but now buffer times are less than 1 sec and are less often compared to 2 min before. Also, I’m not sure but I also upgraded the HDD at that time so it kind of hard to say unless I decontruct everything, and isolate the improvement.

Since the update my tablo seems to keep restarting its self. Alot of recordings are getting split 2 or 3 times before an hour long show finishes. is anyone else having similar issues?

This is a great update.  Good stuff.  Works great.

Good job! Keep up the good work!!

When is the feature for saving recordings to PC coming?

I would like to add that my buffering is is only on live TV. Recordings play fine with no buffering. Prior to the update, beta included, I had no issues with buffering at all. I do not think this is hard drive related at all, but more so with the reduced buffer on live TV to speed up tuning.

@hdmkv - It’s on the to-do list but I don’t have an ETA to share. 

Apologies for the wall of text but some users have expressed concerns with the latest Tablo firmware load, specifically regarding buffering, macro-blocking and de-interlacing. Because of this, I’ve consulted with our engineering team to share some additional details on how Tablo works so that everyone can better understand Tablo’s behaviour on a typical home network.

About Buffering
Tablo uses a protocol called HTTP Live Streaming (HLS) to stream video from Tablo to clients (Roku, iPad, Android, PC…). HLS was created by Apple and uses HTTP to retrieve video files over the external Internet or your home network.

HLS works by dividing the video file (either recordings or live TV) into short segments that are delivered by a web server (in this case Tablo). The client (the video player in your phone, iPad etc.) controls this process. To playback a video from your Tablo, the video player on your device first requests a playlist file that describes the video and provides links to the individual segments that actually contain the video. A one-hour recording, for example, may have hundreds of individual video segments. 

Once the video player reads the playlist, it starts making requests to retrieve the video segment files with the video and audio. An HLS segment file can be anywhere from 2 seconds to many minutes in length. Most players need to retrieve several segments before they begin displaying and playing back the video. This is so that they can build up a small buffer used to recover from issues with the Internet or LAN connection. For example, Apple players typically request at least 3 segments before you see anything on your screen.

In previous releases (prior to 2.1.18), we used fixed segment sizes. For live TV we used 4 second segments. Therefore, when you initiated playback of live TV in the video player, you would not see any video until the player had received 3 segments (4+4+4) or 12 seconds of video. In reality it takes longer than this since the Tablo needs to receive the first segment before it can build it and transmit it (4 seconds) and it takes additional time to tune the channel, set up the transcode path and to record it to disk. In 2.1.16 the total time to wait was around 18s. Many users felt this was too long so we worked to identify ways we could reduce this time.

One way is to reduce the segment size, but this has the downside of creating a lot more segments, which increases the size of the playlist. This can cause a problem for live TV since the player must reads the playlist at frequent intervals during playback. 

Another solution is to stagger the segment sizes. This is the approach we used in 2.1.18. Instead of a fixed segment size, we start with 2-second segments and ramp up to 10 seconds. The first 3 segments are each 2 seconds in length, which cuts the start-up time to 6 seconds from 12 seconds. For most people, this is a good compromise and eliminates 8 or so seconds of wait.

However, a consequence of this is that player has buffered only 6 seconds instead of 12 seconds of video. If your home network experiences issues, this may cause you to see stuttering (brief pauses in video playback) where there was no stuttering previously. Users experiencing this likely already had networks with lower bandwidth capabilities. In most networks, the loss of a few seconds of buffering in the client video player should have no effect.

If you are experiencing this, the best solution is to improve your home network (either by tuning your WiFi or adding a more robust router) so that the segments are not delayed. You can also manually pause the video within the player for a few seconds, which will also build up a buffer. 

We will also consider adding a setting to the next Tablo firmware release which will enable a switch back to fixed segment sizes. It is important to note that the change only affects the first minute or so of playback. By the end of a minute, the segments sizes are the same as the 2.1.16 release. If you see persistent stuttering problems later in the video, there may be other issues at play. 

This is the only change to video processing in this release.

About Deinterlacing
The ATSC standard supports several different video formats, but the most common ones are 1080i, 720p and 480i. 1080i is the most challenging. The ‘I’ in 1080i stands for interlaced. Most other formats use a progressive format to encode the video which means that each frame (or picture) of the video is transmitted as a single frame. To playback the video, the player just displays a frame and then displays the next frame, and so on and so on. 

Interlaced video is a bit different. For interlaced video, a single frame is actually divided into two parts, one with the odd number horizontal lines and the other with the even number horizontal lines. So for the player to display a single frame, it plays the even lines and then plays the odd lines. Back in the days when we used CRT technology in televisions, the persistence of the phosphor would keep both the even and odd lines on the screen at the same time and the viewer’s eyes would perceive a complete picture. Now with digital technology, this approach no longer works. The display now has to store the even lines and then add in the odd lines to create a complete frame that it displays to the user. This is called de-interlacing and it converts interlaced content to progressive content. All digital displays need to do this and therefore most modern streaming formats used on the internet are all progressive formats (like 720p). In fact, most modern video players will not play interlaced video. That is why Tablo always converts 1080 interlaced to 1080 progressive before streaming it to your device. If it did not, the video would likely not play on your device of choice – for example iOS only supports progressive - or in the best case, it would work on one device and none of the others.

However, de-interlacing is not as simple as pasting the two frames together. If there is fast movement in the video content between when the odd lines were captured and the when the even lines were captured, you will see artifacts in the new progressive frame. To get around this, devices use various strategies to de-interlace the video so that the motion does not cause a problem. De-interlacing is very computationally intensive. Tablo needs to de-interlace multiple streams of video (and transcode it to H.264) in real time, and at an affordable price. While we use the best chips that are available to us, with current technology it remains possible to see some artifacts under certain circumstances.

We have worked hard to improve de-interlacing performance since launch and made some significant improvements in 2.1.16. There have been no changes to de-interlacing in 2.1.18. With Tablo creating multiple streams at 1080i transcoded to 1080p the hardware is reaching the limits of its performance. This is less of an issue at 720p output and therefore de-interlacing does perform better for 720p output streams. We continue to work with our chip vendor to improve de-interlacing performance but we may have to wait for the next generation of silicon to make substantial improvements.

About Macroblocking
All video formats use ‘lossy’ compression to encode video and cannot completely replicate the original. To record Over-the-Air video, Tablo converts MPEG 2 video to H.264. H.264 is a modern, more efficient codec which can use less than half the bit rate to store the same video information. We also chose H.264 because MPEG 2 is not supported by most modern devices (Roku, smartphones, tablets...)


To make a recording or to stream live TV, Tablo decodes the MPEG 2 video and then encodes it back into H.264. To do this in real time we use a hardware-accelerated H.264 encoder. Companies like Netflix encode their video using a software-based two-pass encoder since there is no need to do it in real time. The first pass previews the video so that the encoder understands how best to encode it and can optimise how much bandwidth it uses. Unfortunately, the Tablo does not have this luxury and must encode all the video in real time as it is received. 

Therefore, for sequences with very fast scene changes, it is possible for the encoder to be momentarily
overwhelmed. This can cause very brief periods of macro-blocking whereby the pixel structure appears more coarse (or blocky) than usual. This usually only persists for a fraction of a second and is only really
noticeable if you pause the video at that point. Unfortunately, it is a consequence of the need to encode in real time at an affordable cost. The chip set we use is one of the very best and it is very unusual to see macro blocking in most video. If it seems to persist, it could be in the source MPEG 2 video or could be due to other issues such as high bit error rates in the incoming video due to reception issues.

What does this mean?
Every day we are working very hard to make Tablo more awesome. We hear your concerns and we do our very best to deliver an amazing experience for Over-the-Air TV. We will keep pushing the technological constraints of the hardware and software we use and striving to make our product the best on the market today. All we can ask is that you give us the time to continue to make improvements and understanding when we are faced with the limitations of today’s technology.

If you have any questions about this content, please feel free to reply to this post and we’ll do our best to answer. 

Great write up.  Thanks for taking the time.

I am becoming concerned the the hardware design of the Tablo is underpowered for the task of encoding in real time if the silicon or algorithm in Tablo has difficulty processing/de-interlace 1080i video content -> 1080p without artifacts during motion, particularly during sports.    This is not an issue with nearly any other DVR including Tivo/cable/satellite which do not have 12-15 seconds of lag time for streaming to clients.   Even Windows MCE which re-encoded everything didn’t have issues with such a long lag time or issues with 1080i video content.     Perhaps Tablo version 2  can have better hardware.   


That was worth the “wall of text” … as @BraveUpNorth said … great write up… 

@BraveUpNorth Thanks for the feedback! 

@7up The difference here is that other DVR’s (Tivo/Cable/Satellite) don’t transcode the Mpeg2 to H.264 – so they can’t run into the same issue. They record in native and play back in native Mpeg2.   

We use H.264 to stream to mobile and internet devices like Roku, Apple TV & Chromecast that do not support Mpeg2. The same can be said for Windows MCE devices; they record and play back in Mpeg 2, but can't mobile or 'internet' devices. Basically, if we want to send it to your other devices, and not your TV, it has to be transcoded.