Freevo Developers Interviewed
prostoalex writes "O'Reilly's LinuxDevCenter features Freevo, 'a media platform that brings together various applications for video recording and playback.' They interview the developers, and talk about the current plans for the project. Freevo is not just a standalone product, it's a platform to which other developers, interested in home media on Linux, can plug into."
Howard Wen: How does Freevo differ from MythTV?
Dirk Meyer: MythTV uses QT, which uses X. Freevo should also run on a frame buffer, a DXR3 or something else. The next difference is MythTV depends on a MySQL database. Freevo always was a GUI for external programs. There was never the idea to build a TV application like MythTV inside Freevo.
Rob Shortt: MythTV has the live TV time-shifting nailed, and for that I am envious. While Myth has the advantage in [this], I think Freevo does a better job of other media handling.
Freevo tends to be a more nimble program, or I should say "platform." This has to do with us not using a data server like MySQL or depending on Apache for the web interface. Instead, we use a combination of caches, object serialization, XML files, and SQLite for persistent storage, and our own lightweight web server using Twisted.
Aubin Paul: MythTV is exceptional, and I admire much of what they've done. But I don't like some of their design choices. For example, why would I run X-Windows on my TV?
Runnin' On Empty
I'm amazed that they wrote up the Freevo project without even mentioning the MythTV project, which is far more mature (i.e. dues more, works a lot better, has more users and developers). Aside from doing more and working better, MythTV has a nice, scalable architecture that allows you to have multiple back-ends (storage and video encoding) and multiple front-ends (control and playback) so that you can have (for example) a big MythTV back-end in the basement with tons of storage and a couple of tuner cards, and have lightweight MythTV front-ends (which can run on an X-Box (for example, see http://www.killefiz.de/k/machines/xbox-mythtv-fron tend/) or a Mac. And since mythtv is available via apt-get install mythtv-suite it's really easy to set up and play around with on any Linux box. The latest version adds MythPhone, which is a fun way to play around with voice over IP and videophones. I'll admit that I spend more time in MythGame (runs all MAME games, etc.).
From trying both projects, the only interesting thing about Freevo is that the front-end is written in Python, which is a nice language but is slow, while MythTV is written in C++, which is an annoying language but is fast.
Enable 3D printed prosthetics!
Freevo is "lighter", more modular and more customisable. The MythTV developers really have time shifting sorted out well. On the other hand running MythTV means running X11, using a MySQL server for recording and listing management and Apache if you want a webserver from end for it. Freevo does the same thing with three python apps that sit over SDL, XMLtv/PySQLlite and the twisted framework. I have tried both and I like Freevo better - the flexibility it affords is a big plus.
Mythtv, only because of Jarod's HOWTO:
http://wilsonet.com/mythtv/fcmyth.php
Runnin' On Empty
I know that was a joke but Windows users do have an excellent option available in Media Portal. It is a very good open source rip-off of the Windows Media Center Edition functions.
"It takes considerable knowledge just to realize the extent of your own ignorance." - Thomas Sowell
The original Tivo was done with a lot of Tcl scripts, probably with a healthy dose of C integration (which is very easy with Tcl). The point being, that yes, using scripting..errr..dynamic programming languages improves flexibility, and if you plan carefully (doing the right bits in C), won't even impact performance much.
http://www.welton.it/davidw/
I suggest you check out mysettopbox.tv (knoppmyth's home page). Their forums have lots of knowledgable people who have done just this. You might also search the mythtv-users group (available in archive or in a nicer threaded format on gossamer-threads.com). There are people there who have helped a bunch of others getting the correct X modelines, etc. Good luck! -C
I've used both for a long time and I currently use Freevo.
Both do a great job at playback on video files. Both have similar features for photos.
Freevo has a better music playback system IMHO. Myth requires an overly complicated two step process of making a playlist using a badly designed menuing system in one screen and then going to another section of Myth to play back your currently selected playlist. With Freevo you have the option of selecting a folder to playback as a complete album or making a playlist. 99% of the time I want the album so this works better for me.
I guess my life isn't random.
Neither is very good at playing DVDs. If you do get DVD playback functioning, the menus will either kinda work or not at all. Don't throw away that $30 DVD player just yet.
Myth has more polish and extra features such as background ripping and VOIP.
The main problem with Myth is the complexity of the application. It uses a MySQL database to hold almost all of its information on movies, music and settings. This makes setup, even on a Debian system very complicated. Using a specialized distro such as Knoppmyth helps, but even the Knoppmyth installer is a bear to get fully functioning.
With Freevo, details about each movie are kept in a single text file located in the directory with the movie. If I move the files around, the data never gets lost. With Myth, losing the database will lose any work you have done entering movie info. I know I could backup the database, but why should I have to? Think Windows registry vs. Unix text configuration files. Why use a database when a simple directory listing will suffice? The developers never heard of KISS, that is certain.
Compared to Freevo, MythTV crashes a lot. IMHO, the overhead of the database and the complexity of C++ make MythTV harder to debug. At one point, one of my Myth installs lost the ability to add more files to the listing. I have quite a few full series on the drives and I wonder if I didn't hit some limit in the software. I finally gave up on Myth at that point and went with Freevo.
Don't get me wrong, I'd like to use MythTV. It's the instability and the dread of configuring MythTV that keeps me using Freevo instead.
Freevo is simple and functional.
If tyranny and oppression come to this land, it will be in the guise of fighting a foreign enemy. - James Madison
It is possible to install Myth without X. It's a bit of a PITA nowadays, but it can be done.
Now relying purely on framebuffer, on the other hand... BAD IDEA. Ditching X means ditching hardware scaling, hardware IDCT, and hardware motion compensation, critical to:
a) Running a frontend on a slower system
b) Viewing HDTV at all. It's a pain without hardware MoComp and IDCT, but there's no way in hell you're going to do it with software scaling.
retrorocket.o not found, launch anyway?
My advice, if you want to try DVI to your TV, that's fine. But if you don't get satisfactory results initially, don't waste any more time. After huge amounts of research, I found out that my TV (a 30" Widescreen CRT by Toshiba) is basically impossible to get working (beyond 640x480) with DVI from a computer.
I think the same is true of many TVs. The path of least resistance lies with VGA to component adaptors like the Audio Authority VGA to Component (Y-Pb-Pr) Transcoder (Model 9A60). The 9A60 is a bit pricy, but it was well worth it for me. My theory is that the component input (Y-Pb-Pr) circuitry in TVs is often much more flexible than their DVI interfaces.
As for quality. The VGA route gives you perfectly clean text and menus, pretty much like you are used to on a proper monitor. Video quality is another matter. My set is HDTV capbable, but I don't feel the cost of HDTV where I live is acceptable. So my video quality benchmark is DVD quality. On my TV, watching a DVD via MythTV (actually xine) on my computer is indistinguishable from watching the same DVD via my progressive scan player (also made by Toshiba).
I've researched this a lot, and the only other option I'm still curious about is using an Xbox for the front end. The Xbox can do Y-Pr-Pb directly, and the linux Xbox claim to have it working. My main concern is that the CPU may not be powerful enough in some cases. For example, some of my cable channels are of truly horrible quality (Shaw cable in BC). I use the MythTV feature that transcodes video to compact MPEG-4. This space savings substantial, but the quality on the poor channels is what I'd call VHS level (occassionally much worse). There are playback postprocessing filters that can help this, but they seem to need a lot of CPU.
Neither is very good at playing DVDs. If you do get DVD playback functioning, the menus will either kinda work or not at all. Don't throw away that $30 DVD player just yet.
I have to disagree with this. First of all, neither one plays DVDs directly, they both rely on an external program. The default player for both is probably still mplayer, which as you say, does not do DVD menus. But if you tell them to use Xine for DVDs instead, as most people do, DVD menus work flawlessly.
Some people also use Ogle instead of Xine or mplayer, but although I know Ogle also supports menus, I haven't used it and am not sure how well it supports them.
Compared to Freevo, MythTV crashes a lot.
I've been using MythTV for about a month, and it's never crashed.
But neither did Freevo in the week I used it before I tried MythTV.
Myth runs under OSX. Current CVS (soon to be release .17) compiles clean for OSX out of the box.
I'm the main developer of Freevo. I don't know what you are talking about. We only parse the imdb website and unlike many other projects pulling data from imdb, we have the permission to do so. And you were in contact with us? I can't remeber someone saying something like this and I would never say "I don't care" about such things. And BTW, we don't rely on pulling data from websites, it's only a small add on.