Category Archives: Freevo

media-tv/freevo-1.7.2

Freevo got bumped in the portage tree recently to its latest upstream release. I didn’t realize this, but we were actually slightly behind their release schedule a bit. The main reason for that is probably that not many developers are using it, and the ebuild is a pain to compile. I really didn’t have anything to do with this release, there were a lot of people contributing to it, and it’s always nice to get user input, patches and ebuilds.

This is the version I’ve been playing with on my box at home. Despite my last post where I railed on Freevo pretty hard, I actually like the program quite a lot. Just like MythTV, it’s a love-hate relationship. I get extremely critical of design decisions of programs that I rely on, especially if they are one of a kind. In short, I’m extremely picky.

I haven’t been using Freevo for a long time, and just started looking at it again recently to use as a frontend to just browse my video library. In that arena, it’s definately got more options than MythVideo for customizing the display and things like that, which is the reason I’m playing with it. I’m still split between choosing between the two, though, so I’m probably going to be spending some time looking at all my fun little options. If I find anything interesting, I’ll be sure to write about it. :)

Leave a comment

Filed under Freevo, Gentoo

freevo and lirc

I should clarify on my last post about Freevo and MPlayer fighting over LIRC events, since after some more research, I figured out what is going on. Here’s the story.

Freevo, when it uses mplayer to watch a movie, will pass some extra options to the command along with whatever you specified. That in itself is extremely annoying, I think, since you already have a config file for mplayer in ~/.mplayer/config, but the fact represents the philosophy that Freevo has of trying to configure everything all in one place instead of relying on original configuration files. That philosophy wouldn’t be so horribly bad if two things didn’t come into play: you wanted to use your original customizations, and freevo limits your options of the original program by trying to provide such a service. That second one is what I ran into.

Two of the extra options that Freevo sends to mplayer when starting a movie are this: disabling lirc support (-nolirc) and adding slave mode (-slave). If you haven’t heard of slave mode, what it does is when you run it, it will listen for commands you can still pass to the terminal to control mplayer. Some examples would be, display on screen information, skip forward a chapter, seek forward / back, quit, etc. Now if you built mplayer with lirc support, you can directly access all those commands with a simple lircrc file. As an example, I have an old one hosted here.

Now, I should also mention that LIRC is setup so that it will respond to whatever events are pressed, based on what programs are running. So, you could have VLC and MPlayer and MythTV all running on your desktop at once, assign commands to each of them in your lircrc files, and switch between the applications, use your remote, and not have it affect the other programs. Sounds great, right? This is where Freevo starts to change things around.

Remember that Freevo disables LIRC support for MPlayer in the command line. There’s a reason for that – it is capturing all LIRC events being sent, not just the ones to Freevo. Whether this is done by design or not, I can’t be sure. For all I know, it could be a limitation of pylirc. Either way, Freevo is programmed from here on out to take on the role of master of remotes, and process any events you press to the programs you are using. For someone like me, who was gone out of his way to tweak his current setup so that my remote works in *any* MPlayer session, doesn’t like having to re-setup the events in a watered down version through Freevo configs a second time around.

If you want to send a command to mplayer through Freevo, here is what you would have to do: edit your ~/.freevo/local_conf.py and add events for each Freevo event plus the slave command to send to mplayer. Examples can be found in the FAQ:

EVENTS['video']['PREV'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='seek -600')
EVENTS['video']['NEXT'] = Event(VIDEO_SEND_MPLAYER_CMD, arg='seek 600')

Now to be honest, I wouldn’t mind that too much if it weren’t for one simple fact — LIRC gives you more options. With Freevo’s way of doing things, I can’t send multiple events on one keypress, alternate options on keypresses, or set the repeat time. Nope. I can just send slave events, and that’s it. It’s making me pretty frustrated, too.

To be fair to Freevo developers, I honestly don’t know if this is a design flaw of something else or a known implementation. It could be that pylirc is written to listen to all events and not distinguish between programs, and Freevo had to find a way to filter them out. I’m not sure, and I’m going to try and find out for sure, and hopefully see if there’s a way to disable the option.

There is an alternative option. You could setup irxevent to send commands to Freevo directly, but that is kind of sluggish, I’ve noticed, and I don’t really like it.

Also, if you weren’t so anal as I am about your LIRC events, you could just map your slave commands through Freevo to MPlayer just fine and be happy with it. I’m pretty picky about my settings though, so my rant would only affect a very small minority.

Anyway, the fact is that I absolutely love Freevo. It is a *great* little program, perfect for my needs. I just really dislike how it hardcodes some settings into the program like passing extra mplayer commands, and then doing stuff like reinventing the wheel for my LIRC setup. Hopefully there’s a way around this stuff without getting too deep into the code. In the meantime, I switched back to MythTV + MythVideo which is a nice little frontend to browse your media files, but doesn’t come near the number of cool options that Freevo has for customizing your display. At least I can watch my movies, though. :)

1 Comment

Filed under Freevo, Gentoo, MPlayer, Multimedia

mplayer: display filename on osd with lirc

I’ve been playing with MPlayer, Freevo and LIRC most of all day today, and made some small progress. For one, I found a lovely nasty bug in the latest Freevo, where if I hit the right or left buttons on my remote while watching a movie in mplayer, the event gets sent to both freevo and mplayer. At least I think that’s what it’s doing. What actually happens is that mplayer quits, and I’m blaming Freevo since it works fine by itself outside of that.

Of course, the way Freevo hides and then adds it’s own set of mplayer commands drives me absolutely bonkers. One it has in the latest release is to add -nolirc meaning none of my remote commands are going to work at all. However, I worked around that with mplayer-resume, and I’ll write about that later.

This is the cool thing I stumbled on. Among mplayer’s slave commands is one called osd_show_property_text which will display on screen (osd = on-screen display) the property text of something. In this case, I wanted to display the filename that was playing, since with dvd-bend, I eventually rip all my files to the title of the show. The problem I ran into was I couldn’t figure out how to get it to display the filename. Here’s how, though: just map the command to osd_show_property_text “${filename}” in your LIRC rc file.

Here’s an example from my ~/.mplayer/lircrc that I added:

begin
prog = mplayer
button = green
config = osd_show_property_text “${filename}” 500
end

In the case above, my StreamZap USB remote has four colored buttons on the bottom, and I have an event press called ‘green’. So when I press the green button, it tells MPlayer to display the filename. I added 500ms as an optional duration time, since the default is really short.

A picture is worth a thousand words, though, so here’s what it looks like on your display.

I should mention that I’m sure that there are lots of other variables you could display on screen, but I can’t figure it out. Actually, now that I think about it … Okay, I figured it out. Run mplayer -input cmdlist (by the way, I hope by now you’re running either SVN of MPlayer or a really recent snapshot, you always should), and at the bottom you’ll have a table called available properties. Just do the same command as above, putting the variables in the same format. Another example, would be to display the time position: osd_show_property_text “${time_pos}” I don’t know if they all work, but I tried about half a dozen and they all did, so go wild. :)

One last thing to mention … if you’re just using the keyboard, press capital I to get the same thing.

Now if I could only get my Freevo + MPlayer + LIRC issues solved, I’d really be good to go .. I’ll have to post another time on my issues / updates with that arena, though. For now, it’s fun enough just to get MPlayer decked out. :D

2 Comments

Filed under Freevo, Gentoo, MPlayer, Multimedia

no more mythtv

I’m sick of MythTV, and I’m finally going to get rid of it once and for all. The thing that has really ticked me off is that in trying to archive my shows, I have to jump through so many hoops just to get my video back out in a file format that isn’t a total hack and still manage to not get it to squelch.

That’s just my latest problem, though. Myth drives me insane for a lot of reasons. Here’s all of em:
Things I hate about MythTV:

  • Stupid file format incompatible with everything else in the world (hacked NuppelVideo)
  • Lame naming scheme of recording files (like it would be hard to save a file as “TV Show – Episode Name.mpg” instead of something like 1071_20061017220000.nuv)
  • How they reinvent the wheel on freaking *everything* — let’s ignore the fact that there’s already VLC, MPlayer and Xine, we’ll just write our own internal media player! Yah!
  • Subversion tree of the fixes release branch segfaults so much you have to have create a cron job to check every few minutes if its running

Things I like about MythTV:

  • Skips commercials for me

I could go on about all the stupid things that totally nag me about mythtv, but I’ll tell you this much — it’s worth the pain of having to fast forward every now to use something that isn’t going to screw me over when I try to do something *outside* of mythtv with my files.

Even then, instead of complaining, I’m actually going to do something about it. MPlayer is already working on adding native support for the IVTV cards, and I’m going to find out what I can do to get the Plextor ConvertX working as well. It’s about freaking time we had some options, and if it means me buying some hardware and giving it to developers, well I’m definately all up for that idea.

Plus, I’m seriously starting to think of just writing my own PVR system. Nothing too exotic (definately nowhere near the compelixty of MythTV or Freevo), but something simple to just setup a recording schedule. I was looking at the xmltv data that I grabbed from DataDirect, and there is a lot of stuff in there. It would be trivial to just setup some kind of combination of cronjobs, a webpage, and mencoder to record what I schedule. It’s not that hard to say “Foo Show” is on at 5:00, see if the file already exists, if not, record it.

I’m gonna see what I can whip up. In the meantime, I’m gonna downgrade back to 0.19 of mythtv so I can at least get nuvexport working again.

11 Comments

Filed under Freevo, Gentoo, Multimedia, MythTV

tv tuners

I haven’t been able to sleep tonight, and one thing that’s been keeping me up tonight is that the AV on my myth recordings tonight are mysteriously out of sync. I’m not the one to blame this time, though, I really haven’t touched anything in a good while. I am curious what’s throwing it off, though.

Well, I started playing with my TV tuner card in my desktop (a Lifeview Flyvideo 3000), and recorded a few 30-second spots on the same channel to see if it was still doing it. Well, everything seemed fine, so I guess it was just a fluke or those shows.

Well, I was recording the TV using MEncoder instead of Myth because I’ve been having problems with my tuner card and MythTV not recording the audio. That idea lead me to start thinking why I don’t use my TV tuner card instead of my Plextor ConvertX. Now, I love my little USB MPEG4 hardware recorder, but it does have its drawbacks. The USB2 requirement is one, which really isn’t a big deal unless you want to stick it in an older computer. Even then, you’d buy a USB2 PCI card, which is easy enough to do, but if you’re running low on PCI slots it becomes a hassle. The second thing is that it *only* works with MythTv. That of course is noone’s fault, it’s just that myth is the only project that has written software that will interface with the device.

The problem is that it gets frustrating sometimes with myth being my *only* option. If I was using a TV tuner card I could easily switch between mythtv and freevo and mencoder plus a cron job and tweak and play around with it much easier and have far more options when something is going wrong.

So now I’m starting to think about swapping out my TV tuner card to be my main recording device. I think the main reason I got the Plextor was to take the recording load off of the computer. Well, with an amd64 box, the CPU usage is not even noticable. It runs between 15 to 55 percent depending on how high a quality I’m recording to and the resolution. A thirty-second clip of using mencoder to record to MPEG4 at 2200 video bitrate, and MP3 VBR audio with 720×578 resolution (the highest my card supports) hovers at around 40 percent. That’s really good. Especially considering you can record this stuff at 320×240 for much lower CPU usage (about 13%) and that will still be really good quality for watching it on a standard TV display.

I gotta say, too, that the video quality on this card rocks. It’s the best I’ve ever seen. I daresay it’s even better than the Plextor, even though they both use the same Philips tuner … dunno why, just seems that way. Plus, my card records in stereo. And I don’t need a stupid audio cable from my TV tuner card to my audio input to record sound. Not to mention I bought this thing years ago, and it *still* runs like a champ.

Sometimes I wonder why I make things so complex.

Leave a comment

Filed under Computers, Freevo, Multimedia