Thursday, April 23, 2015

PlayLater - Is It Really HD Recording?

There are many ways to download media streams in this day and age, many of which are illegal or frowned upon. But I want to discuss a program that does just that - and as far I have read, legally. More importantly I want to delve into whether or not what they state as HD recordings are actually so. That program is PlayLater.

Mediamall is the company behind PlayLater and PlayOn. PlayOn is a media server that allows you to stream media from your PC - as well as many other devices - to your TV. This is not a new technology feat by any means, and there are several other companies that have similar software.

PlayLater is a time-shift recording program that can record in SD or HD (if opted for and purchased). It relies on the PlayOn server to stream from many different sources. It can be likened to screen capturing software, but it is different. Here are a couple of differences that make it unique:

  • While PlayLater does do live recording-like screen capturing, a screen of the actual source footage is never needed or seen.
  • PlayLater requires logins to (most) popular media streaming sites such as Hulu, Netflix, Amazon, HBO Go, YouTube, etc. Screen capturing software merely captures what is being shown regardless if it is a paid service or not.

Why Bother?
There are plenty of free screen capturing programs out there, so why not just use that? Well, I think there are a few good reasons that PlayLater can become a necessity:

The first is ease-of-use. It is simple to get running and all settings are already defaulted for you. Some screen capture software is fairly simple, but it can also be tedious in setting up. This may be more trouble than what it is worth for some.

The second is that not all media streaming sites are easily captured. Without advanced knowledge, sometimes it becomes impossible to capture streams from certain sites. And even if possible, the potential additional tasks of having to crop out certain items might be cumbersome to perform for every single recording.

The third is that this is good for travelers. In some foreign countries bandwidth can be so restrictive (or just not abundant) that buffering plagues a 20-minute video making it a 50-minute experience. Throw in a proxy or VPN and buffering becomes a complete nightmare. But with PlayLater, even with a proxy or VPN, and given just enough bandwidth, a show or movie is recorded and then playable without such hiccups.

Is It Legal?
There are many that contend that it is not, but ask for evidence from those that believe as such and they will be hard-pressed to find anything to the contrary.

In the US, there is a law that allows for time-shifting. This was created when VCR's became widely popular so that people could watch shows and movies at a later time if they had to be somewhere else when the media was shown on TV.

Today is a bit different with all the new technological methods of recording media. Because piracy is everywhere, it becomes an even bigger problem as people will not just record a show or movie and watch it, but later upload it to the web and allow others to download it.

As I have mentioned in a previous article the heart of the problem is really in TV networks losing funding and support due to ratings, which in turn affects DVD and Blu-ray creation and sales. And the sales that they do make are often diminished due to pirating of a DVD or Blu-ray.

However, PlayLater still exists, and has for some time. It has been featured in numerous popular magazines, and claims that it is perfectly legal. You have to remember that PlayLater is essentially a DVR for your computer. It does the exact same thing, however, networks cannot get ratings from it as they can with devices like a TiVo...

There are some apparent downsides for both the end-users and the companies that provide the media streaming:

  • The quality of the recordings, albeit with large bitrates and hefty files, are decent to great depending on your PC setup. Animations seem to fare far better than live action shows or movies regardless of your hardware and bandwidth.
  • The files seem padded to me, but even if not, you will need quite a bit of hard drive or SSD storage space to have more than a few recordings on hand.
  • Because PlayLater is meant for "average" users, there are almost no settings that can be changed to squeeze out better quality and/or shrink file sizes.
  • While it is not impossible to download and pirate streams from a DVR, it is in no means an easy task. With PlayLater, the file given is one you are meant to be able to use on portable devices and TV sets. This makes it much more susceptible to piracy than more common time-shifting devices.
  • I have encountered bugs that would not allow me to login to a media streaming site, or simply disallow me from recording at all. I will discuss this further below.

So Is It HD?
To reiterate from a past article, HD is considered 720p, full HD is considered 1080p. PlayLater does only the former so anything HD is allegedly in 720p.

I first became suspicious of PlayLater recently when I wanted to grab some Sesame Street episodes for my daughter. The quality was fairly bad. Watchable, but in no way could I mistake it for HD content. I was writing in the support forums and came to find out that many users had already determined that Netflix was not actually recorded in 720p, but at a much lower resolution. The shows or movies were then reencoded to a resolution of 1280x720, which is not 720p, it is just an upscaling of a smaller resolution. This problem with Netflix has supposedly been fixed, but as I will explain later, upscaling SD content has not...

H.264 Profiles
I had entered a discussion on being able to increase bitrates, but this led me into delving into the recorded files themselves and seeing what details would shed light onto the subject. The bitrates were actually quite high from what I had expected to see. I then went online and compared the file to specifications readily available to view for that of illegal online content of seemingly far better quality. That content was using only half the bitrate of what PlayLater was using...

To preface my next paragraph, there are several H.264 profiles ranging from baseline, to main, to high. Main and high can handle HD content, and high profiles are meant for HD quality. The lower-leveled the profile the more compatibility across devices and the less CPU power needed for live recordings. The higher-leveled the profile the higher the quality of a file.

While I thought the bitrate was and is an issue for PlayLater, it was more in terms of overdoing the bitrate. In other words, I don't think you could achieve (much) higher quality files by increasing the bitrate. So there had to be another possible culprit that was hindering good 720p quality. This led me to H.264 profiles.

The real concern I noticed was the profile being used to do the recording in PlayLater was a main profile level 3.0. Content in HD should have a minimum main profile level 3.1 in order to achieve 720p at a maximum of 29.97 frames per second. However, my PlayLater recordings are done at a main profile level 3.0 at a 1280x720 resolution with 29.97 frames per second.

If you go to Wikipedia they try to explain the many aspects of these profiles in greater depth. You will see that there is no 1280x720 resolution listed for a main profile level of 3.0. Regardless, I did some basic calculations and determined that the two resolutions in common between main profile level 3.0 and 3.1 are increased almost identically by 267%. Using this number I determined that even if main profile level 3.0 could support 720p, it would have have a maximum frame rate of just over 11fps.

A simple jump from 3.0 to 3.1 seems like nothing to worry about. But these are not small jumps by any means, and the amount of extra data that can be used can vastly improve quality for these profiles. Again, that is if that profile can be used to its full extent. If you do check Wikipedia, you will see the differences between them in these terms.

While a lower-leveled profile does mean more compatibility for more older devices, this should be put into perspective with an example: The iPhone 3GS was the first iPhone to accept and display videos with a main profile of 3.1. Other apple products of that time are similar, anything before (e.g. iPhone 3G) was restricted to a main profile of 3.0. The iPhone 3GS was released in 2009, almost six years ago!

Main profile level 3.1 is the standard for bringing 720p content to devices, and it should be followed, but it doesn't have to be as we will soon learn.

CPU Power
It is true that more CPU power is needed to record at higher levels, but again, the main profile level 3.1 is not new. It has been around for a long time now and while CPU power for that profile may have been somewhat of concern years ago, today most any laptops or desktop computers easily supply the necessary CPU power to record live at a main profile level of 3.1.

To given you a simple example of how much CPU power is truly needed, I can easily achieve a main profile level of 3.1 on my computer which I have decided to currently use along with a Phenom X II 1100T. This is an unlocked AMD CPU with 6-cores. It runs at 3.3GHz and can "turbo" itself to 3.7GHz.

That sounds like an amazing CPU, so of course it can do what is needed. But, there are a couple of factors that are important not to forget: 

  • Just because it has a higher frequency than some modern CPU's, that does not mean it is faster or better, that is just a common misconception.
  • More importantly, this chip was a top-of-the-line CPU... almost 5 years ago!
  • There are newer, cheaper CPU's that can perform as well or better than the CPU I am using now. And better yet, YOU DON'T NEED THIS MUCH POWER FOR MAIN PROFILE LEVEL 3.1!

Now, I am sure that the settings of how PlayLater encodes could use some tweaking for higher quality HD content, but the aspect about the H.264 profile just bugged me too much. 

The only possible reason I could see a company wanting to use it is because it is used for both their SD and HD recordings, so instead of giving different profiles, they could just keep them the same. Essentially, this is just laziness of their part. But even this seems like idiotic logic because you would have to force "720p" into a main profile level 3.0, as opposed to not having to at all for level 3.1.

The argument that it requires more CPU power seems invalid, as well as the need for compatibility across devices, especially if you read what I wrote above on the subjects. And I was told that many people are just using a PC as a media center. There is no way to know if a person uses a PC as a media center or not, and why would you use something that would have to be ridiculously old in order to record HD content? 

The only other way I could see "720p" being done with a main profile of 3.0 is by upscaling. Which, again, means that it is not really 720p at all. It is just a lesser quality video enlarged to be the same resolution as 720p, but certainly not the same quality that it should or could have.

I was told it was possible to change a video file's "labels", which would just be in namesake alone. However, it seems unlikely MediaMall did this as why would they forget something as significant as a profile. Even if so, other aspects are truly as detailed, so the profile would be the only thing they would really need to change.

Evidence to the Contrary
Trying to give PlayLater the benefit of the doubt I started to do some searching for articles or posts that would suggest 720p is possible with a main profile level 3.0. I found one media streaming site that did suggest that it used a main profile level 3.0 at one time, but that it had since updated to level 3.2.

I found a couple of Chinese IP cameras that also suggested they used a main profile level 3.0, but whether they actually do or not is beyond me. Chinese specifications are not known for being accurate.

I decided to try to see if I could make a video on Premiere Pro with a resolution of 1280x720 using a main profile level 3.1. When attempted, Premiere Pro would give an error saying that the profile needed to either be increased for the resolution wanted, or that the frame rate would need to be decreased.

I tried to check the label of a PlayLater recording, and the program I was using at first could not find any. Once I changed some settings I got multiple profiles, including high and baseline. Something was definitely not right...

After some discussion with someone on the subject, they stated it should not be possible to encode at 720p while using main profile level 3.0 if following the standard constraints. However, if someone was able to force or go beyond the constraints of the profile for an encoder, then it could be possible.

The First Response
The support forum is fairly good for responses that are not time-sensitive. But people with the software have a support area in the settings to email questions, which I find has a much faster response time.

I had already asked the questions I wanted to in the forum, but I figured I would just take the direct approach. I asked two questions, the first about why main profile level 3.0 was being used, and the second asking if Amazon was like Netflix in that real 720p recordings were not taken?

The reply I got was short, but mainly sidestepped the issues at hand. To paraphrase, I was told that there would be no problems for recording HD. And this is (somewhat) correct, but this didn't really answer anything I asked.

Initially, I wanted to reply with a bunch of information, but it was a lot and some came out as too much of an attack. I instead shortened my response to just ask how the main profile level 3.0 was implemented, and if there was documentation I could read on it. I also reiterated the problem about Netflix as the support staff's reply seemed to indicate as though recordings were in HD, despite the many users who stated otherwise on their forums. I also explained that reencoding a source that is less than 720p and then upscaling was not true 720p.

A final remark made on their part was that of CPU power needed for an increase in profile level. I fought the urge to explain what I have done so in this article, if anything, I would bring up at a later time.

The only interesting point they did say was that GPU encoding was on the way. Although, there was no ETA on when it would happen, and no information on if they were taking an OpenGL, OpenCL, or dual approach. They did add that this may cause them to make some changes, but the keyword there is 'may'.

The Second Response
This response was even less helpful than the last. They admitted they had no documentation to point me to in order to help me understand how their encoder was setup. I was told I could look at the video to know if it was a 720p recording.

This was disheartening. I wanted some real answers not, "I don't know." I don't expect support staff to know everything, but to know nothing is frustrating.

I replied that all I could do to check a recording is see its resolution size and its profile, by which a resolution size doesn't mean 720p, and that the profile being used was being used improperly.

I reiterated my question on why the profile was being used, and gave a bit of information on why CPU power and compatibility were non-issues for what I was asking. I went so far as to say that if they could not give me a real answer, then I would be happy to handed off to someone in the company that had some.

At this point I realized there were really only one of two problems occurring. Either the profile really was the issue, or the encoding settings were. Of course there could be a bit of both, but to me, one or the other is the main hindrance in getting proper and satisfactory 720p recordings.

I decided to find an encoder that would allow me to bypass the constraints of a profile and enable me to perform a simple test. The test would be to take a 720p video that ran at 29.97fps, identical settings to what these "720p" recordings are from PlayLater. I would then take that sample video and use FFMpeg to manually enter parameters into a command line interface that would enable me to use the same settings and bitrate, with only the profile changed.

The first step to achieve this was to create a 720p@29.97fps file. To do this I used Adobe Premiere Pro. I decided to use a sample from an old music video I had shot in 1080p of the same frame rate. I shrunk it down to 720p, placed it in a MP4 container, and changed the main profile level from 3.2 to 3.0. The 29.97fps remained the same. No other settings were changed. I used a 1-pass VBR and did not enable any extra render settings to help maintain quality. The video came under just 9 seconds with an overall bitrate of 3100+Kbps, quite similar to most of my PlayLater recordings.

The next step was to put it in FFMpeg and give it the parameters necessary to output a similar file but with a main profile level 3.0. I typed in the commands and had to wait a couple of seconds.

The results were that the files looked identical. I expected this because if the stream stays the same - the raw file in the container - then the quality should remain the same. It would only be worse if the bitrate somehow dropped, or something else was constrained, but it wasn't.

What this meant was that the profile, while not being a standard and a no-no for professional encoding, was not an issue for PlayLater. Meaning that it must be something with the encoding settings. The problem there is that we have little real control over the settings. You can choose from Auto, Max, and others, but nothing that would enable us to specify bitrates, profiles, frame rates, resolutions, etc.

The Third Response
This email was just as pointless as the last. I was again told how moving up the profile would be a problem for users and that there were "settings" that could help with quality.

I wrote back asking what data they had to suggest that their users did not have systems capable of running main profile level 3.1 (since none was cited)? I even went so far as to explain that I could think of no friends from a third-world country that did not have computers capable of sustaining live recordings at this level.

Even ignoring that, I stated that it should be a feature for HD users, since that is what the profile is for. It does not have to be an across-the-board implementation. And explained that I knew of no other company that had a business plan where staying behind was the best idea. If anything, people allowed backwards compatibility while updating and upgrading, which further opens up your audience.

I continued with stating that they were right about no quality enhancement by jumping up profiles, but because there was no way to increase the settings of the PlayLater's encoder, no one could ever test this and be sure.

I then just made my point that if the profiles are not the issue, then the encoder settings are. All my settings are set to max so the problem isn't there. I asked that he help me with that issue so we could determine where the real problem lies.

My final words in this reply were about sending me some sample clips of what HD is supposed to look like from PlayLater. This would tell me if the same crappy quality I am getting is just what is MediaMall considers HD, and if it was better it would mean that something on my end was the problem.

The Fourth Response
I received another email explaining that they did have data and that most people were using "old" laptops and PC's for media servers. Of course, "old" is a preference word that doesn't determine or give any information.

The reply stated that they would not be implementing main profile level 3.1 now, but that it may occur when they released a PlayLater version that supported GPU encoding. However, no ETA could be given.

Mention was made of the VPN I used and that it may be why my recordings are unsatisfactory. This could be true, but I had no way of knowing giving my present conditions.

The only other interesting information I was told was that they knew exactly which VPN site I had been using recently, which is somewhat frightening in these post-Snowden times. Although, there is not much they could actually do with that data, I did send another email asking what else they collected from its users.

Another Set of Emails
Recalling that when I Initially purchased PlayLater I could not download Amazon Prime Instant Videos, I decided to try again and see if it was still an issue I should bring up with PlayLater support.

This time it did work, which was great, but having solved that issue another took its place. I had decided to download an old 90's cartoon show, something that was created during a time HD was not around on TV channels. It did record and the quality was fine, but the resolution was at 1280x720... This show would have likely been created and displayed in 480i, but certainly not at 720p.

I tried another 90's cartoon show from Amazon, as the previous one did run long enough where it could have been made in HD at some point. However, I did download from the first season so that shouldn't have mattered. Anyways, I chose a show that was not even around during the times HD came to pass for networks and channels. Yet again I got a video at 1280x720.

Puzzled, I contacted PlayLater support and explained my dilemma. Being somewhat obtuse, as I had noticed previously, they thought my problem was with the black bars created by the 4:3 aspect ratio.

My reply reiterated that I was recording a SD show in HD resolution. The response I received gave me a workaround to get 480i (or 480p as stated) to achieve the actual resolution the shows were broadcast in, and came on DVD.

Before I forget, I was also told that I could not get any samples. I am not sure why as YouTube and other sites they list are free, so I'm not sure why they couldn't take a minute to product a sample...

Wait, What Now?
I sent one final email explaining what HD was, which is not just resolution but quality. The support person I was talking to kept referring to these recordings as if they were HD, which they are clearly not. I then realized something and asked another important question: Is PlayLater able to differentiate between quality and resolution, or just resolution?

About 10 minutes later I got an email with a partial answer. Amazon allegedly does not communicate if what it is showing is in SD or HD. Therefore, PlayLater can only go by the resolution that is given. And if Amazon determines that you have a slow Internet connection it may reduce the quality but still give a resolution of 1280x720.

Eager to know more, I asked if this applied to all channels, or if PlayLater could determine the difference between SD and HD on some channels? And if so, was there a list anywhere users could view to know. I was told that it applies to all channels. Which means, even sources that are should be or start off in HD, may have a final output of mostly SD!

Admittedly, Amazon, or any other channel, is not going to try to work with PlayLater on this matter (or any other) because MediaMall is essentially doing something they frown upon.

But this could easily be argued as falsely advertising HD recordings. A normal user might think they are getting 720p recordings, when in reality they are not. They won't even know it if they aren't looking for it. This is similar to the current NVIDIA GTX 970 debacle where it was advertised as 4GB GDDR5 RAM, but it was actually 3.5GB and an additional .5GB. They are currently in a class action lawsuit about this...

Furthermore, it seems unfair that the user is forced to recognize this and fix it. Especially when considering the average user would not even know it is an issue. For a company trying to make a product easy for users, does that give them the right to knowingly withhold information to trick users into only thinking they got what they paid for?

The Final Test
There was only one other test I could perform to see if the quality was bad because of my circumstances. I enlisted the help of my brother who is back in the USA. He has a great Internet connection and the ability to use Netflix. All he needed was my login credentials to use PlayLater, and then he could record an episode I had already recorded while overseas. If the two looked the same, the problem was with PlayLater. If his copy was better, then it was likely my VPN and Internet connection.

We coordinated a time and at that time began preparation. I had him setup PlayOn and PlayLater and ensure his computer had all the same settings as mine. The only difference was that my Internet speed was shown as "High", and his as "Max". My CPU was shown as "Max", and his as "High".

I also want to mention that we share the same Netflix and Amazon Prime account, and the Amazon video used was a HD purchase I made. Those that might argue that the HD purchase should not be shared are not considering a Bluray or DVR. If I bring a Bluray to anyone's house and watch it even if they haven't purchased it as well, there are no laws being broken. If I go to someone's house and watch a recorded show from their DVR, there are no laws being broken.

We started with my Amazon HD purchase - an animated episode from last year - and after a few failed attempts finally made a full recording. I then had him upload the video and send me a link so I could compare the copy I recorded to "his".

His copy was far superior in quality. You could see it jump from more of a SD to HD version in the very beginning, but it seemed to hold throughout the rest of the video. His copy also had a ever-so-slightly higher bitrate, but were talking a matter of 40Kbps. My copy was a larger file, but once I viewed mine and his, I realized that mine had some advertisements that must've been removed since that time.

From here we moved on to Netflix. We used a live action show that I had already downloaded, a kids show if you must know. After a few attempts we were unable to record the show. Not even a partial recording could be made. The recording would begin at last for a short time before abruptly failing. We decided to call it quits, and try again later.

I decided to record a clip from Comedy Central, which required no login of any sort. In doing so, I could use one of their short clips. The choice was just under a minute. My assumption was that as long as we could start the recording, we would probably be able to finish before failing.

A few days later my brother and I scheduled a time to try this last clip. Without going into too much detail, no recordings were made. The server was reset several times, the program restarted just as many, and even a change of venue back to Netflix proved fruitless. This just goes to show that a nice interface is worthless without a functioning product.

The test completed successfully proved one thing, bandwidth, which can be restricted by where you live and what speeds you opted for, or by a proxy or VPN, does have an impact on PlayLater recording. As described above, even if a recording starts off in HD, it can switch into SD but PlayLater will continue to record in HD resolution.

The Rundown
So let's go over all the facts we know:

  1. PlayLater records in a main profile of level 3.0. While not standard for 720p, and considered bad practice to do so, it can be done. This should not affect the quality.
  2. PlayLater records in an arguably high bitrate, which at face value would lend to quality video recordings.
  3. PlayLater creates large files, which at face value would lend to quality video recordings.
  4. PlayLater cannot distinguish between a SD or HD stream, only resolution. This means it can produce videos that are in HD resolution but are actually SD quality.
  5. PlayLater cannot distinguish if a HD source has been reduced to SD. This means it can produce videos that seem to be HD quality (or are at first) but are actually in SD quality.
  6. PlayLater relies on abundant bandwidth to record HD, which can greatly affect how "good" a HD recording looks.
  7. PlayLater virtually makes no change in bitrate if a recording is done in SD or HD, which may make it harder to discern if a file is actually in SD or HD.
  8. PlayLater can still be quite buggy, which means that even with a powerful CPU, a copious amount of RAM, and an Internet connection with blistering speeds, you may still be unable to record HD because PlayLater doesn't work perfectly or properly at most times.

PlayLater has a smooth interface, and easy enough controls, but problems still occur quite frequently. The majority of the bugs I encounter is about failing to record. Normally, closing out PlayLater (and ending the process in the Task Manager), then restarting PlayLater fixes it. Sometimes just restarting the PlayOn server from PlayLater's settings will fix this too. And in some occasions, nothing seems to fix this. While there are other concerns, this major point of conflict should take priority over all others due to the simple fact that if PlayLater doesn't work, it's a waste of money.

The Verdict
PlayLater can and will make HD recordings. The main problem is if your computer can handle live recording, and if so, do you have the necessary bandwidth to achieve true HD results. And even if all that, will PlayLater actually work or just bug out?

So, in all honesty, the answer is yes and no. If you have a new computer with an Internet connection that allows for high speeds, chances are you can get true HD recording. However, if you are in a foreign country that has decent speeds at best, and are forced to use a proxy or VPN, there is a probability that you will not be able to get true HD recordings (even if you have a top-of-the-line computer).

And again, it can come down to PlayLater just not working. PlayLater seems to work perfectly about 30% of the time in my experience. Most of the time it's a game of will it work and how to make it work. During those times, I would say you have a 50% chance of getting it to work.

Final Words
PlayLater is a good product, however, it has many sides to it. Things that you will not learn before purchasing it. Those who are in first-world countries may appreciate it more than those who are not. Then again, foreign and third-world country users may still appreciate its abilities if not using it for HD purposes, or HD is not a real concern.

In either case, given the requirements, HD recording is possible and looks great. If you can survive the bugs, and its secrets, then it can be a worth-while purchase. The support is also good about replies, although, they may not be as good at given answers to certain questions...

No comments:

Post a Comment