PDA

View Full Version : Transcoding for the iPhone



TVsoundguy
07-07-2011, 01:18 AM
Hi Dennis,

I've never been happy with Mezzmo's ability to transcode video files to a format that the iPhone can handle (one of the main features I'm interested in). In response to other users' issues on the forums, you've stated that Mezzmo needs to transcode the entire file, due to an index or some other bits that can't be written until the entire file is transcoded, in order for the iPhone to play it.

The premise is that a user would click on the file to play it within a particular DLNA app, wait for the app to hang and respond with an error, exit the app, wait quite some time for the entire file to be transcoded, then relaunch the app and attempt to play the file again now that transcoding is complete. While I respect the fact that Mezzmo is one of the few media servers to actually provide some support for iOS-friendly transcoding, this solution, of course, is quite awkward and inconvenient.

Whenever I've attempted to stream a file to my iPhone from Mezzmo, it nearly brings my PC to a crawl, causing instability and often requiring a reboot of the machine. Oddly, Mezzmo transcodes to other devices (Samsung BD-C5500 and Sony SMP-N100) flawlessly.

If I may be so bold as to disagree with Conceiva's official stance regarding the way the iPhone handles streaming video, I've seen evidence to the contrary. Orb and Air Video both have been proven to transcode incompatible files to the iPhone on the fly with nearly instantaneous playback. Of course, these solutions both rely on proprietary iPhone apps.

What's particulary interesting is TVersity. TVersity does a wonderful job of transcoding files on the fly to the iPhone via it's web interface in Safari. Files play back almost instantly with impressive quality. Is it not possible for Mezzmo to do the same with such speed and grace?

I must apologize for continuing to bring up a competitor's product in your forums. The fact is, TVersity has served me well in the few years I've used it, proving to be a fast, reliable, and, above all, stable media server. Where Mezzmo outshines it is in its superior user interface, FAR better device profile capabilities, continued development, and friendly & responsive user support. With the expectation that Mezzmo will continue to resolve the few issues that affect my use of it, I hope to make the final transition to Mezzmo as my go-to server for all my media.

Is there anything on the development horizon that might make on-the-fly transcoding a better experience for iPhone users? I'd be happy to try anything you might have brewing in the lab.


Thanks,
Chris

Paul
07-07-2011, 10:19 AM
Hi Chris,

I can appreciate your frustration with the current way of transcoding files for the iPhone.

We'll do some testing with what other servers do (well, except those that have iPhone apps, since most likely they are doing internal decoding on their own on the client side and that's not a generic solution) - it's a very interesting point about the web interface. Do you know what type file is generated and played through that? Mezzmo is planned to have a web interface as well, so once that's implemented, perhaps it'll solve this issue.

TVsoundguy
07-14-2011, 09:31 PM
Hi Dennis,

Though the web interface works quite well to get a file playing on the iPhone nearly instantaneously, it's not an ideal solution. For one, the way the "other guys" implement it, it only displays 10 items at a time, followed by a "load more items" link at the bottom. You can imagine that this makes browsing a large list of media, say 200 files, quite laborious (forget a list of 2900 artists in a music folder!). As well, it's not nearly as elegant as having a single unified interface for all UPnP DMP and DMC functions, such as within PlugPlayer or other UPnP/DLNA apps. That said, it does have the distinct advantage of providing the ability to stream media to devices with only a web browswer, but no UPnP functionality (Nintendo Wii, for example).

As I understand it, the iPhone needs an index, or something like it, in order to stream the media via UPnP before it's fully transcoded. Would it be possible to "fake" the index? This might not allow for seeking with a time-bar slider, but would at least allow a file to play promptly. Or how about guesstimating an index? Though this might not provide for frame-accurate seeking, it might be close enough to allow rough seeking and navigating within a file.

Of course, the best solution would be to figure out what sort of magic happens for instant streaming via Safari and port that to UPnP streaming.


Thanks,
Chris

TVsoundguy
07-14-2011, 09:47 PM
As to the specifics of the file that TVersity is transcoding to via Safari, it doesn't tell me much, only that it's sending "as TS."

Paul
07-15-2011, 10:41 AM
We'll need to investigate this further, but technically that "index" (or actually it's an ATOM) is written by FFmpeg's encoding library. To change that, we'd need to change the way FFmpeg actually encodes such files. There have been similar suggestions raised with FFmpeg developers over time, but I don't think there's any resolution at the moment.

The ATOM we put in after the file is written is not related to FFmpeg's encoding, but we cannot write it while FFmpeg is processing the file (since it'll be overwritten by FFmpeg anyway).