UPDATE (05/28/2012): 1.) after several hours of using the app for watching movies while in the gym, I've run into another problem: that of the embedded subtitles in MKV files. The app doesn't seem to correctly parse the end time and only shows each of them for about two seconds - even those that are meant to be on-screen for a lot more.
There are two solutions to the problem:
- yes, remuxing the MKV file to an MP4 (or MOV or M4V - the extension doesn't matter, assuming it's one of these three ones). Use Subler, use Subler, use Subler if you have a Mac (see THIS), it's REALLY fast and, in It's Playing, the playback of the results is smoother than playing back MKV files!
- if you absolutely can't remux your MKV files, use the Mac-based iMkvExtract to extract the subtitle track(s) only - this only takes 2-3 minutes for a 10 Gbyte file on a traditional hard disk (on SSD, far less). (Please see THIS for my hack to update it to the newest engine. Extracting a subtrack to a SRT file using the app couldn't be easier: open your MKV file, select only the subtitle track(s) you want to extract and click "Extract".) Then, transfer these SRT files info the Documents folder of It's Playing in the same way you've transferred the MKV files. The subtitles can be named anything (you can always select the external subtitle from inside It's Playing); however, if you make sure it's named the same as the MKV, it'll even be auto-selected. (You can override the selection by tapping the "i" icon at the bottom right, select "Subtitle" and select the external subtitle file. These will be listed under the embedded subtitle tracks, if any, of the video file.)
2.) in my latest, iOS 5.1.1 jailbreaking-related article, in the paragraph describing iFile, I've explained how you can easily move video files from one player to another. Unfortunately, this is in no way supported on non-jailbroken device. Apple SHOULD implement moving instead of the pretty much broken (200Mbyte file size restriction; not all apps are listed; can only copy but not move files) and, for video transfer, pretty much useless (as they're commonly over 200 Mbytes) "Open In" feature. Until it's done, you will need to jailbreak if you'd like to play back the same (even huge - even a 25 Gbyte video file can be quickly moved from one player to another) video file in more than one player, depending on the external circumstances.
Again, a very common situation: let's assume you're watching a MKV movie at home (in darkness and silence) using, say, BUZZ Player. You use this player because (not taking the DTS audio track bug into account) it has the best, most fluent MKV engine (better than that of It's Playing, which does stutter now and then). Apart from the jailbreak-only XBMC and RushPlayer+, of course. (Of course, this example also applies to these two apps as well as neither of them supports volume AND brightness boosting in the same app.)
However, when you'd like to continue watching in, say, a brightly lit and noisy gym, you'll soon find out you won't see / hear a thing even with the iPad's brightness and volume maxed out (a problem I very frequently run into) using BUZZ Player (or the two other players I've mentioned). Then, a player with brightness / volume boost is needed. You, with iFile, quickly (in, say, half a minute) transfer the video from BUZZ Player to It's Playing and start playback in the latter. When you're back at home where no volume / brightness boosting is required and absolutely don't want any video stuttering (ruling out It's Playing), just move back the files to their original directory. Pretty clever, isn't it? Too bad it only works on jailbroken devices and Apple don't seem to want to introduce such an essential feature but keeps with the current, as already stated, for video transfer, useless document exchange & app invocation scheme.
Of course, you can put the same video file in the Documents folder of both video players if you don't jailbreak so that you can still switch between the two players, depending on the circumstances forcing you (or not any more) to use volume and/or brightness boosting. However, this approach takes twice the storage AND even more time for transfers through iTunes.
UPDATE (somewhat later, still the same day): the brand new BUZZ Player article is HERE, with a lot of comparisons between the two players. Highly recommended article if you need to select between the two players!
UPDATE (later, the same day): I've thoroughly tested the MKV hardware acceleration too with both the newly-created (it's HERE and will be referred to in my future articles too) MKV version of my H.264 MOV (link) / WMV (links in Section 3 HERE) benchmark video (the opening sequence of Kung Fu Hustle) and several Blue Ray rips I've made of my discs (which is entirely legal here in Europe).
The results are pretty good. While there's a dropped frame now and then, these are in no way as annoying as the lengthy pauses of EC Player or, even worse, RushPlayer. (Note that, as has been pointed out several times, if you do jailbreak, both XBMC and RushPlayer+ (note the "+" sign!) will deliver flawless MKV playback.) That is, if you in no way want to remux your MKV's to MOV's because you don't have the time or your MKV's contain tracks (e.g., graphical subtitles) that are inherently incompatible with the MOV container format, the new version of It's Playing is a very decent alternative.
I've shot the playback of the Kung fu test benchmark MKV video mentioned above, comparing the player to the also brand-new and, MKV-wise, heavily enchanced version of BUZZ Player (of which I'll also post a separate article soon):
(It's Playing on the left, BUZZ Player on the right. At start, I show It's Playing uses hardware decoding and "Best" quality and BUZZ Player uses the brand-new MKV engine (the radio switch at the bottom). It's also worth comparing the fluidity of this video to that of the previous, 3.0, pretty much stuttering version in my original, April review.)
BUZZ Player seems to have a little fewer dropped frames in real-life, long MKV videos but it has absolutely no runtime DSP's and not even embedded subtitle support. (In the latter, It's Playing definitely excels: you can even change the size of plain text subtitles.) And, yes, it doesn't support any MKV files with a DTS audio track in it. With the latter, IP works just fine.
There is one catch, though. You'll want to have at least 2-3 Gbytes of free storage on your iPad as the size of your MKV file you play back. It's Playing seems not to clean up the temporary files it creates very frequently; this means your free storage will quickly be exhausted if it's less than, say, 1 Gbyte. (This won't be fatal as you can, then, just exit the app, kill it from the task manager (it's then that the storage will be freed up), return to it and just continue playing.
Original article follows:
Back in April, I've already reviewed (the then-current version of) It's Playing, a third-party multimedia player for iOS.
Back then (and in my forum posts and other articles – see e.g. THIS - in the meantime), I couldn't really recommend it. Nevertheless, in the last 1.5 months, as I've, generally, found the runtime features they offer unique and worth trying to fix, I've been closely working with the developers of It's Playing to make it as good as possible.
Needless to say, this all has resulted in a success. Now, with the just-approved, new (3.5) version (a screenshot of the changelist above), It's Playing (IP for short) has become the only(!) player to offer the following runtime(!) digital signal processing (DSP for short) features for hardware(!!!)-decoded (that is, H.264) videos:
- saturation change
- brightness change
- contrast change
- volume boost
Note that it also offers speed changing, but several other players also offer this even while playing back H.264 content using hardware decoding.
When is IP definitely indispensable?
Any time you'd really need any of the four functionality because, otherwise, you just couldn't see / hear what's happening, but still can and do want to use hardware decoding. Want to watch a dark(ish) movie outdoors? Via the built-in loudspeaker or in a (somewhat more) noisy environment via headphones? You WILL need either brightness or volume boosting – something the built-in Videos (and most third-party apps) aren't capable of. In addition, if you want to use the hardware H.264 decoder of your iDevice (because, say, you're playing back full HD content) while still using the above-mentioned boosters, you absolutely won't have another choice. Not even in the same program if you jailbreak either: the, otherwise, excellent all-in-one player XBMC only supports audio boosting (but not brightness setting), while RushPlayer+ (review HERE) doesn't support brightness boosting with MP4 / MOV / M4V files, only with all the other formats, and doesn't support audio boosting at all.
There also can be cases when the colors in the movie you'd like to watch are plain pale. A new(er) example is the decent French movie, Chrysalis, the colors of which are (deliberately) very muted. An example:
(as usual with all my articles, click the thumbnail image to see the iPad 3 screen in its full glory!)
and this is what you can achieve by just boosting color saturation:
(Of course, you won't want to do this with regular, well-saturated movies.)
What about adding some extra brightness (also keeping the extra saturation we've just added) as it's a very dark scene? It can clearly be done! The results:
(Also notice the first (Brightness) and third (Saturation) icon being activated in the screenshots (annotated with a red rectangle on the thumbnails. The annotation with a red oval shows the slider's position – on the first screenshot, it's in the default position; in the two latter shots, it's maximized). They'll be your best friend, in addition to the fourth one, where you can boost the volume!)
Much better, isn't it?
NOTE: I don't elaborate on non-MOV / M4V / MP4-playback. Currently, I recommend It's Playing for hardware MOV / M4V / MP4 playback where you don't need to switch subtitle or audio tracks and you need to boost brightness or audio (or both). I'll return to the question of playing back software-decoded formats as soon as the It's Playing folks have implemented something I've been talking to them about. Hope it'll happen in the very near future. Up until them, use the player for what it does best (and uniquely among all players on iOS), namely, DSP-enhanced, hardware-decoded MOV / M4V / MP4 playback.
In addition to running my standard benchmark suite, to find out the real speed hit caused by the DSP's (signal processing like runtime brightness tweaking MAY cause the devices slow down, at least on some other players), I've also run my standard hi-res 60p benchmark test video I've created a year ago. My dedicated article (for programmers) on how I've created it is HERE. There, I also elaborated on how the four-times slowdown (originally 120 fps video capture played back at 30 fps) video should be used to evaluate the frame-per-second performance of a given player. Generally, on the Mac, you'll want to use QuickTime, pause the video and step back/forward by one frame using the Left/Right arrow keys. As the video is shot at 120 fps and, ideally, my benchmark movie that is shot played back at 60 fps, you'll need to see approximately two frames of the same counter number. If you see four frames of it and, then, the counter just skips the next one, then, the video is played back at 30 fps only, which already may be a problem with genuinely 60 fps source (but not with most movies shot at 24 fps).
HERE's the 60 fps video as shown by (the latest, 5.1) GoodPlayer running on a non-jailbroken iOS 5.1.1 iPad 3using the hardware decoder (I don't upload it to YouTube as it needs to be scrutinized frame-by-frame, which the YouTube player isn't capable of and I don't want to force my readers to install some kind of a YouTube downloader tool to be able to correctly evaluate the benchmark videos). Steady 60 fps (except for the very first 10-20 counter values, where there is one or two dropped frames).
And, HERE's that of the new IP. We start in non-fullscreen mode. As you can see (if you DO step over the frames one-by-one), only every other frame is displayed. This isn't helped when I switch to full screen. When the counter turns 205, I tap the screen to hide the DSP controls. This certainly helps a lot: from around 230 until 316 (when I enabled the overlays again), there hasn't been a single dropped frame! When the counter reaches 380, the “Info” screen is displayed (after my tapping the “i” icon in the lower right). There, I switch the “Best” quality to “Automatic”. (The latter is, BTW, the default, as will also be emphasized below, in the "Usage tips" section). Then, I resume playback, which starts to play without any frame rate-restricting overlays at around 600. Not a single dropped frame until 733, when I re-enable the overlays in order to maximize the brightness, contrast and color saturation, in this order. I finish their re-setting when the counter reaches 1118. I run the no-overlay view from 1167 to 1200 and from 1260 right to the end of the video – as you can see, no dropped frames either, even with tons of DPS functionality running in the background. (Their effects can't be seen in this particular test video as it's black-and-white using fully black and fully white colors. This is why brightness / contrast / color saturation tweaking don't have any effect on the video. The DSPs did work.)
Some tips to keep in mind:
1, when used on the (new) iPad (3) and playing back hi-res content, don't forget to tap the “i” icon in the lower right corner and set “Playback quality” to "Best", as is also shown in the following screenshot:
Again, this won't cause any performance hit (as can be also seen in my demo videos) and MUST be enabled on a file-by-file basis. (Fortunately, the app, then, remembers the setting for the given video.)
2, until I tell you otherwise, you may want to use the player to play back (unprotected – none of the third-party players are able to play back Apple's protected movies purchased from the iTunes Store) MOV / M4V / MP4 files only. Nevertheless, as has already been explained, it's the best player to do so if you need any kind of boosting.
3, don't forget to switch to full screen and tap the screen to hide any user interface components! It's only then that the player delivers its full speed.