Prime for today is my frustration with transcoding videos. And audio files for that matter.
There’s a group of people building a tool called ffmpeg. The idea is great, it’s a fast processor of video/audio files, and will convert to and from mpeg2 as needed. Like I say, the idea is great. However implementation Sucks!
First of all, they release updates occasionally, they come with bugs. You want specific formats supported? Recompile, don’t want to re-compile because the library for accessing the format is already on your system and you would much rather the application came supporting plug in codexes? Sucks to be you. Oh, and by the way, all the information about how to use these tools that you learned from the last release? Forget it, we changed the API.
To be clear, they are doing great work, it’s just that you can’t relly upon what you had working yesterday, to be working today, or tomorrow. And if you are looking for solutions to problems you are encountering now, make sure you’re not looking at someone’s blog posting, or thread comments from before the release you are using now.
The bad part is that when everything is ‘right’ on the ffmpeg end, that doesn’t mean that you will get anything useful. I’m running a mythbuntu system, with two back-ends recording and playing back through one of many front ends. The front end might be a laptop, or it might be the front end running on one of the back end servers. For people wondering about this ‘front-end’/'back-end’ business, back-ends are responsible for recording and processing the TV and other media. The Front end should be a reasonably ’simple’ device that allows you to view the content stored on the back ends, and instruct the back ends in how to process that content. You may have a DVD drive in the front end so that you can watch DVDs without having to go hunt down the back end server, and so on.
So I have two computers functioning as the back-end for my MythTV/Mythbuntu setup. One of these is also my front end, and I can watch Live TV, and recorded media through my projector, and listen through my home theater tuner. All well and good. Right?
Well I was watching an episode of one fo the TV shows that I enjoy, and it occured to me that one of my neighbors would enjoy the show. Since my neighbor does not have access to my mythtv platform, I’m going to have to provide her with the media in one way or another, if she is going to watch that show. Now the ‘universal’ solution is to burn a DVD with the content on it. In fact, MythTV has that functionality built into the front end in the form of MythArchive. It’s a beautiful program. It also doesn’t do me any good, because the content I want to put to DVD is on the other back end, and MythArchive, can’t access it directly.
Ok, any way to fix that? Well, supposedly if you set up the front end to map the second back end’s drives to the same named mount points on the front end, you should be good to go. Minor issue here in that the second back end’s mount points have a name collision with the front end’s mount points. changing that will be a bit ‘interesting’ which is not ‘good.’
However there is a possiblity using nfs. followed some instructions, no good. Still not getting the content on the front end to be ready for the mytharchive program. However it is there, so I copy the file from the nfs share to the front end’s home user directory, and it’s now available for me to work with. Well, sort of. Apparently the transcode appication does not like something about the file now in my local directory.
Ok, well, what now. Well, since you have the mythtv file in a local directory, might just as well put it on the local directory of the computer you would otherwise use, and see if you can convert the file to something more useable.
After ripping out the video, and the audio, them multiplexing them together again with a third program and getting a DVD variety mpg file, I run the dvd-author application and out pops a bunch of errors about the audio needing to be re-muxed. In fact burning a DVD with the resulting output ends up with a very nice video, and no audio.
Some DVD players will handle .mpg files directly. I’m left hoping that’s the case for my neighbor, or that her computer will allow her to play the mpg file in Windows Media player, or the like. Because that’s about the only option I have left.
Oh, and for what it’s worth, the bugs have been out there for some time regarding pretty much very step of this process. I might get things working at some point, we’ll see. For the moment, I’m done. I suspect that the way that I’ll ultimately get this to work is to create new mount points on my primary backend/frontend, repoint at the new mount points, then point the shares of the secondary backend to the old mount points, so that the mount point entries match, and everyone is happy. (At which point I’ll probably find that something else does not work well, or has been broken.)
Ideal world? Mythbuntu gets put together in such a way that you build a backend and plug it into your network. It checks to see if there is another backend already sitting on your network someplace, and if not it becomes the ‘primary’ backend. You build another backend, and plug that one into the network. It checks to see if there is already a back end on the network some place, finds that yes there is. Now it offers you two options, Stand alone back end, (say you want to create a backend that is specificly for your kids, and doesn’t have access to the R rated movies) or attach to the existing backend.By attaching, all media sources become available to the primary back end, and are re-mapped if neccesary on the secondary backend to point to non-coliding namespaces. Next up, a userfront end is configured. It might be sitting on one of the back ends, or it may be a stand alone micro-box that happens to have a DVD+/-RW drive that can be used to archive or play movies. No matter what system is hosting the content, the front end MythArchive tool treats it as local. That may include copying files over the network if you need faster access at some point, or it may mean using resources on the back end to store the content while you work on it. It may even check to see if there is a ‘best’ DVD burner to wor with rather thean the one on the front end. Perhaps you have one on a backend that will burn significantly faster, or more reliably, who knows.
Sadly we are not qutie there yet. I think we are getting close. UPNP is becoming viable. File sharing and storage sharing technology is getting to the point where somewhere down the line we will be able to reference a common ’storage’ location, that may be distributed across multiple devices, I’m not holding my breath though. I tend to suspect that such updates are a couple of generations down the line.
Frustrating…