linux video

...or, why do I bother.

I understand that one can play videos on one's computer. I understand these videos come in many different formats. Every now and then I try to figure out what the Done Thing is, as far as playing movies on one's Linux machine.

I finally found RPMs of mplayer that would consent to install themselves on a Red Hat 7.2 machine, and actually got it to play some videos. Amazing. But it's a total pain in the ass to use due to rampant "themeing." Why do people do this? They map this stupid shaped window with no titlebar (oh, sorry, your choice of a dozen stupidly-shaped windows without titlebars) all of which use fonts that are way too small to read. But, here's the best part, there's no way to raise the window to the top. So if another window ever gets on top of it, well, sorry, you're out of luck. And half of the themes always map the window at the very bottom of the screen -- conveniently under my panel.

Resizing the window changes the aspect ratio of the video! Yeah, I'm sure someone has ever wanted that.

It moves the mouse to the upper left corner of every dialog box it creates! Which is great, because that means that when it gets into this cute little state of popping up a blank dialog that says "Error" five times a second, you can't even move the mouse over to another window to kill the program, you have to log in from another machine.

Fucking morons.

So I gave up on that, and tried to install gstreamer. Get this. Their propose ``solution'' for distributing binaries on Red Hat systems? They point you at an RPM that installs apt, the Debian package system! Yeah, that's a good idea, I want to struggle with two competing packaging systems on my machine just to install a single app. Well, I found some RPMs for Red Hat 7.2, but apparently they expect you to have already rectally inserted Gnome2 on that 7.2 system first. Uh, no. I've seen the horror of Red Hat 8.0, and there's no fucking way I'm putting Gnome2 on any more of my machines for at least another six months, maybe a year.

Ok, no gstreamer. Let's try Xine. I found RPMs, and it sucks about the same as mplayer, and in about the same ways, though slightly less bad: it doesn't screw the aspect ratio when you resize the window; and at least it's stupidly-shaped window is always forced to be on top. I don't like that either, but it's better than never being on top. It took me ten minutes to figure out where the "Open File" dialog was. It's on the button labeled "://" whose tooltip says "MRL Browser". Then you get to select file names from an oh-so-cute window that I guess is supposed to look like a tty, or maybe an LCD screen. It conveniently centers the file names in the list, and truncates them at about 30 characters. The scrollbar is also composed of "characters": it's an underscore.

What are these fucktards thinking???

Then I checked out Ogle again, and it hasn't been updated since the last time I tried, six months ago. It's a pretty decent DVD player, if you have the physical DVD. It does on-screen menus, and you can click on them with the mouse. But I don't need a DVD player (I have a hardware DVD player that works just fine.) It can't, as far as I can tell, play anything but actual discs.

Oh, and even though I have libdvdcss installed (as evidenced by the fact that Ogle actually works) Xine won't play the same disc that Ogle will play. It seems to be claiming that the CSS stuff isn't installed, which it clearly is.

A common idiocy that all of these programs have in common is that, in addition to opening a window for the movie, and a window for the control panel, they also spray a constant spatter of curses crud on the terminal they were started from. I imagine at some point, there was some user who said, ``this program is pretty nice, but you know what it's missing? It's missing a lot of pointless chatter about what plugins and fonts have been loaded!''

Tags: , , ,

46 Responses:

  1. mattlazycat says:

    And people ask me why I endure the banality of windows? At least when Win2k fucks up, I know there's nothing I can do about it and I can get on with my life :P

    Also, whenever a programmer thinks, "Hey, skins, what a cool idea", their computer's speakers should create some sort of cock-shaped soundwave and plunge it repeatedly through their skulls.

    I wish.. just deeply, sincerely, honest-to-god, beg to the heavens every night that every programmer be forced to learn some UI Design/HCI/common-sense principles, and then actually use them. It's just too much to ask, I guess.

    • jwz says:

      HA! I fully support your proposed audio-cock technology.

      • bdu says:

        yes, please, simply output a maximum level peak to peak square wave from the sound card's outputs. Destroy their ears and their speakers, thank you.

    • mhat says:

      I fully agree.

      Though lately the people I really want to see on the receiving end of a high fidelity skullfucking machine are the ones responsible for all those shockwave only websites. You know, the ones with the Hackers-esq interfaces with the schmancy whirrling graphics, the whoosh mouse over sounds and the 15 second long techno mix stuck on repeat designed to either "get you into the mood of the site" or launch you the viewing audience into a homicidal rage.

    • ralesk says:

         What you said, what you said!

         Suddenly got reminded of the horror of Win32-QuickTime...

  2. decklin says:

    I don't even bother compiling the GUI into mplayer. It's almost halfway bearable that way.

    • jwz says:

      There's no fucking way I'm going to watch movies with a command-line interface. That's so comically wrongheaded that I hardly have words for it.

      • decklin says:

        Er, what command-line interface are you referring to?

      • dormando says:

        Whenever I watch crap on my computer, I just maximize it and use the keys to control it anyway. So why not start it from the CLI and get on with my life without belitting my brain cells with stupid interfaces.

        So that means you watch movies in a window? Seems easy enough to control anyway...

  3. q says:

    Xine doesn't come with the CSS stuff enabled out of the box, for legal reasons. You have to install a plugin, like DVDNav or DMD. You can also play things from the command line if you don't like the browser.

    Have you considered changing distributions?

    • jwz says:

      Xine doesn't come with the CSS stuff enabled out of the box, for legal reasons. You have to install a plugin, like DVDNav or DMD.

      As I said, I've got the CSS stuff installed: it's working in Ogle. Apparently Xine has different hoops it wants me to jump through to get it to realize the library is there. That's ok, I'm all out of caring.

      Have you considered changing distributions?

      Yes, every single time I try something like this, I very seriously consider getting a Mac.

      Really the only thing that's stopping me is that I fear the Emacs situation.

      • malokai says:

        emacs situation?

      • mistergrumpy says:

        The different hoop is in fact installing one of those plugins. DVDNav is "we stole the menus and libdvdcss support from Ogle and put it in a plugin".

        I won't hold up the situation as ideal. I'm just telling you what you're missing.

      • q says:

        The hoop you have to jump through is installing DVDNav. It doesn't come with Xine. That "DVD" button is just a farce. I'd also recommend changing the default driver to Xv, not Xshm.

        <pimp> Try Gentoo. The downside is that it has to compile everything, and the user tools are a bit sparse. On the upside, it gives you very good control over everything it does (unlike Debian). To install Xine, all I needed to do was emerge xine-dvdnav. It took care of everything else. Yes, they also have mplayer and Ogle.</pimp>.

        • mhat says:

          Wait.. are you seriously suggesting someone use a different distribution of linux just to play a movie?

          • jwz says:

            Oh, I've been saturated with Unix-peanut-gallery effluvia for so long that it no longer even surprises me when every question -- no matter how simple -- results in someone suggestion that you either A) patch your kernel or B) change distros. It's inevitable and inescapable, like Hitler.

            • fuckminivans says:

              Well i hate to beat a dead horse, but what you described above is basically the reason i switched from RH to Debian... RPM-hell made it almost impossible to ever install anything of value without (as you said) upgrading the kernel or tracking down about 500+ other dependancy packages.

              With debian, i installed xine (and gxine, a non-braindead interface that keeps the movie and controls in 1-window and doesnt have any kind of theming engine) in about 5 minutes with apt-get... and it actually worked. The biggest problem ive had so far is that some WMV files wont play (probably becuase they're optimized for MS player 9 and i dont have the proper codec files)

              Of course, changing a distro to play a movie is kinda silly -- but i personally think that the problems you're having getting a proper movie player to play are more to do with your choice of redhat/RPMs than a true problem regarding linux+video.

          • q says:

            Of course not! It just seemed to me that most of his frustration stemmed from wrangling RPM's, not from getting the players to work. A five-minute excursion into the FAQ's and README's will tell you all you need to know to get an encrypted DVD to play. Getting it done with a minimum of hassle is a different trick altogether.

  4. vxo says:

    Try installing the mplayer package (without the ui)... or compiling mplayer without the UI.

    Then you can start it up from the command line, and it just comes up with a nice little featureless video output window. The focus problem seems to be absent that way...

    It has keyboard controls that way, and the mouse button can be used to rewind/fast-forward through the video.

  5. avacon says:

    I still haven't quite understood the strong desire for themes. But then, I *like* using vtwm.gamma as a windowmanager...

    About a year or two ago I was tempted to try and figure out how to graft one of the movie players into an xscreensaver module. I took one look at the interaction of how X handles color with root windows and also with the complex ickyness of most of the video players and deciding that running away screaming was the best course of action. Maybe I'll regain enough bravery to reconsider some year...

  6. baconmonkey says:

    that's fascinating.
    I'm going to go and effortlesly watch movies on my windows PC now.
    maybe by the time I got bored with that, you will have gotten that square peg pounded into that round hole.

    • jwz says:

      But see, you're going to Hell.

      • baconmonkey says:

        as opposed to currently being there now like you with your highly cooperative computer?

        GNOME: your ___________ is out learning experience.

    • revargent says:

      Bravo, Chucky! Instead of installing a new distro to play movies without stupid skins, you use an OS where you can't play movies without stupid skins at all. I salute your dedication, or something...

      • baconmonkey says:

        odd, my player has no stupid skins, and has never caused me any problems when it comes to playing movies.

        but it is lamentable that I am unable to run the astonishingly robust image and non-linear video editing applications that are available under GPL for Linux.

        I just have to settle for things like that GIMP knock-off that those haxors calling themselves "mud-brick" made.

        • revargent says:

          You're using a player that just uses the straight Windows user interface, with no oddball controls?

          What is it? I've had a hell of a time finding good players for my laptop (Thinkpad T23, Windows 2000 Pro).

          The old Windows Media Player (version 2 or earlier) was actually not bad, and I keep it around... in fact I think I have it as the default player for most appropriate file types... but there's too much stuff it doesn't play any more. The new WMP is, of course, skin-based. I can understand why WIndows programmers are so willing to abandon Microsoft's UI guidelines when Microsoft does it so often. It's a pity, really... the Microsoft UI elements and overall design was about the best there was in the early '90s (NOT excluding Macintosh and NeXTSTeP).

          Apple's Quicktime player is, of course, a UI nightmare. It's a pity is down, they had a great User Interface Hall of Shame entry on it.

          Realplayer's gotten increasingly garish, and RealOne is one of those web-pages-disguised-as-applications that are so common these days.

          The DVD player it came with had a reasonably good UI, but it couldn't handle many DVDs. The one I bought to replace it is horrible, but it works so I'm sticking with it. What else can I do?

          And now I'm running into music players... not just movie players, but plain old music players... that use DirectX for their user interface and conflict with applications that run in full-screen mode. At least in UNIX I can stick the stupid skinned music player on another virtual screen and ignore the user interface. On Windows one of the damn things used to pop up in the middle of my Photoshop session when it changed tracks... even if it was minimized.

          So if you have a movie player that doesn't belong in the UI hall of shame, why don't you spill the beans and let us know about it? But don't try and tell me that Windows is immune to this whole stupid User Interface disaster, because that's where it came from in the first place. And it's more annoying there, because Windows *used to* have such a great user interface...

          • baconmonkey says:

            I use windows Media Player 6.4.09, with up-to-date codecs.

            Realplayer is adware, and I avoid it as much a possible.

            Quicktime is, as you said, pretty unfortunate UI.

            I'm quite fond of Winamp for all my audio needs. It is skinned, but the defalt skins are prety clean. I've never had any problems with it, and it uses almost no CPU time. I'm a little displeased by the new winamp 3, because it has pokey startup times, and generally sluggish UI response.

            Windows is by no means immune to Stupid UI, but given the massive software library out there for it, I'll suffer the occasional candy UI in exchange for the convenience of having pwerful applications. Were I running servers, I'd go with linux in a hertbeat. Windows is a desktop OS, UNIX is a server OS. Why people try to force either one to take the role of the other is beyond me. I mean, I'm not going to try and teach a golden retriever to poo in a box and catch mice, not am I going to try and teach a cat to guard my house or fetch downed waterfowl from marshes.

            and on that note, I'm baffled as to why people sitting on their home desktops, running fancy GUIs would use the pinnacle of 1970s technology and read their email in a text-mode shell.

            meh, I think I'm gonna go play Space Wars

            • revargent says:

              I don't care how clean the skins are. The problem is that they're not using the standard Windows controls at all.

              This is where Windows greatest strength, as a user interface, lies... the uniformity and basic good design of their user interface. A program that uses the standard controls can be easily controlled from the keyboard or from the mouse, it can even be embedded and scripted to a certain extent, with third party packages, though of course nowhere near as well as a UNIX command line program.

              If a developer creates all his own controls, as he has to if he's going to make the interface skinnable, or uses many of the more recent controls... all this is lost.

              As for your other comments. Well, I use both user interfaces, and UNIX almost exclusively for servers. Why do I use UNIX and command lines instead of GUIs? There's a lot of reasons. First, there's a huge software library for it, in many areas much richer than Windows' (not in games or extensive editing applications, no, which is why I have Windows for Photoshop and the like), and I have the source to a good percentage of that software. Second, it's simpler... there's less that can go wrong, and when it does go wrong it's easier to debug. Sure, there's a lot of good Windows software that almost always "just works"... but when it doesn't, there's absolutely no way to figure out why and fix it or keep it from breaking again.

              So it's a tradeoff. I put up with a little less everyday convenience, and in exchange I avoid periodic flag days where I have to reinstall everything, and occasional situations where I simply can't make any progress and reinstall because it's too hard to fix things the right way.

              Case in point: the computer I'm sitting in front of has been upgraded from a 486/50 running FreeBSD to a 1.7 GHz Celeron running FreeBSD 4.7. Every piece of hardware has been replaced multiple times, but I haven't ever had to do a "burn it to the ground and rebuild it" install. I have files, including executables and application configuration files, still bearing timestamps from the last time I touched them in 1995.

              I dread upgrading Windows. I know that every time I do it I'm going to lose something. No matter how careful I am, I'll forget something, and have to go grovelling through backups to bring it back from the dead... if I even remember (or know!) where it was. I can't even take a complete backup of a system and be sure of restoring it in working order. It just seems so terribly fragile an environment to trust my data to.

              So for me Windows is a "smart X terminal" that can run some sophisticated apps locally, while I do my real work in X11 and shell windows. And at home, I hardly use it at all.

  7. scjody says:

    Apt-rpm is actually a much better idea than it sounds. Apt is not a "competing packaging system", but rather a tool for dealing with packages. Apt-rpm is a version of apt designed to deal with RPMs. So you're still using RPM, it's just a much easier way to get all the RPMs that gstreamer requires. Mind you, this MAY be all of GNOME 2.. Luckily, apt will ask you before installing or upgrading extra packages. I'd try it.

    Providing binary packages for Linux is a nightmare these days. The person installing the package is likely to have libraries that are too old (or too new (!)) to work with what you're giving them, especially if you're using multimedia or anything to do with GNOME. I wish library authors made more of an effort (or ANY effort) to ensure backwards compatibility, and that packaging systems (RPM / deb) could deal with the simple situation of having more than one version of a library around.

    I have a working DVD / TV setup on a Debian box. I got it working one weekend about a year ago, then copied the entire root partition to a safe place on the drive. I boot that whenever I want to watch movies or TV (I can plug a VCR directly into my projector, but the PC does a better job of resampling from NTSC to 800x600).. I refuse to upgrade anything on that partition, because I know SOMETHING will break.

    • confuseme says:

      Yeah, I've been using apt-rpm on my RH 8.0 machine at work for a few months now, and it's been great; much better than the steaming heap of crap that is up2date.

      What gstreamer is doing is still totally stupid, though. Requiring users to install and learn a new package management system just to install your binaries is a terrible idea, assuming you actually want anyone to use your software. Also, in order for apt-rpm to work, doesn't there have to be at least one RPM somewhere? Any sane person would provide a link to it on the downloads page.

      • scjody says:

        Yes, they could provide instructions for installing without apt-rpm, but they would be something like "download all the RPMs in this directory, try and install XXXX.rpm, see what it needs, add that, repeat". Also, many of the things you have to add would come from whatever version of RedHat you have, so you would need a local copy of those, or you would need to download some of them manually. It sucks, but that's what you get when your distribution doesn't provide a real dependency solver. I really don't understand why they don't.. apt-rpm works, and it would take relatively little effort to write a better GUI for it than up2date.

        I'm responsible for the process [submit a blank email if you use that link] used to install OEone HomeBase DESKTOP, and what it does is send out an installer program that uses Ximian's Red Carpet library to solve dependencies then install. Unfortunately, for a sufficiently complex piece of Linux software, that or apt-rpm is the only way to go, and the Red Carpet approach took me several weeks of hacking. I have seen developers try to install our software by solving dependencies manually, for example if the packages in our internal prerelease RPM repository don't work, and they always give up and wait until the internal repository is fixed.

  8. waider says:

    Just tossing another two cents down this bottomless well (Hey! There's no floor in here!): the xine RPMs distributed on are the shit. For RedHat 7.x or 8. The only problem (hah, there's always something) is that you need to install aalib on top of everything else that Xine would conceivably require - presumably so you can, if you so choose, watch your DVD in a terminal window as ASCII art. That aside, the RPMs include full CSS support and the d5d plugin which provides you with menu support which only occasionally gets so fucked up that you have to kill the player from the console you started it in.

    Oh, and if you run magicdev or similar autoplay goofiness, just configure said goofiness to do "xine -f -p dvd5://" when you insert a DVD.

    For bonus points, throw Indeo dlls somewhere it can see them and you can play Indeo-codec videos. It can handle some other windows-originated codecs as well, but I've not had a need to find out thanks to Codeweavers' Crossover plugin.

  9. polywogsys says:

    This is an excellent post. This is what happens when you have geeks design a UI.

  10. schoschie says:

    B... but... where did it go? The video, it's not there. :(