dvdrip
I have been ripping DVDs and converting them to smaller playable files so I can watch them on my laptop while I travel. I’ve been doing this on my Mac Mini because it works. I use Mac The Ripper to rip the DVD and Handbrake to encode the rip to playable files. It works, mostly. But there is one aspect of it that I have not been able to make work. I have a lot of Indian films, and I want to rip them with the subtitles. I can’t make it work yet.
I was having coffee with a friend yesterday morning and he showed me how he does this with Linux. He uses dvdrip. This is apparently a Perl script that puts a very ugly but very functional GUI in front of the large mess of command lines necessary to rip and encode a DVD on Linux. I was impressed. I wanted to get this to work at home.
So I went to slackbuilds.org and looked at dvdrip. That looked like a reasonable install. So I tackled it with sbopkg. I started with the dependencies for dvdrip. All the Perl modules installed without a problem. transcode failed. It had dependencies. From the look of it, the dependencies would be settled if I installed the optional software listed on the SlackBuilds site for dvdrip. I started installing them, and then the problems began.
transcode depends on ffmpeg, and that depends on a bunch of libraries. I found and installed faad2 and faac, and they installed fine. But then it required libmplex2 and libx264. I found libmplex2 and it will get built when mjpegtools gets built. So far I can’t find libx264.
So transcode depends on ffmpeg, and ffmpeg depends on mjpegtools. I used sbopkg and tried to install mjpegtools. It failed while trying to build libmplex2. I downloaded the sources directly and tried to install from scratch. It fails, because there are compiler errors in lpcmstrm_in.cpp while compiling the mplex2 library. It’s C++. It should compile. Are library programmers checking in code nowadays that breaks the build? Looks like the answer is yes. So what do I do now? Wait a few days to see if the code is fixed and will compile and then I can continue? Or abandon the mess and go back to the Mac?
I’m going to think about it while I’m away today and then tackle it again tonight.
libx264 is at http://slackbuilds.org/repository/13.0/multimedia/x264/
and I couldn’t get mjpegtools or subtitleripper to build on my slackware64-current installation. I am guessing that the issues with those projects is related the to stricter rules added in gcc 4.X. I would recommend trying to build them in a 13.0 installation, that is what I am going to try.
Henry, I was right they built perfectly under 13.0 and I e-mailed the packages to you, they will install in -current. This was one of the fears when they updated gcc in -current. The authors of those effected apps will have to clean up their code for distros to keep using them.
That’s great news. Thanks for finding that. And thanks for the packages.
Through sbopkg, I found x264, it depends on an assembler and they recommended yasm. I used sbokpkg and got yasm successfully installed, and then x264 fell into place and successfully installed.
I installed the two packages you supplied for mjpegtools and subtitleripper.
Then I used sbopkg and got it working on ffmpeg. That succeeded this time.
Next on the stack is transcode. I got sbopkg working on it. Success.
That should be all the dependencies for dvdrip installed successfully, so time to install dvdrip. sbopkg accepts it and installs it. Time to test it.
It starts up, then complains out some missing Perl modules, mainly Gtk2/Ex/FormFactory.pm. I thought I had installed perl-gtk2 already. Maybe it got uninstalled? I’ll install all those Perl modules again and see what happens. Nope. Same problem. Maybe I should try installing these modules directly using cpan?
I used “cpan Gtk2″ and once I agreed to the dependencies, it started downloading and installing the Perl modules I thought I already had installed with sbopkg. I’ll investigate this later. I used cpan to install all the Perl modules required.
I start dvdrip and splash screens appear and disappear and I am left with this error: “ERROR: ‘execflow’ not found in PATH. Can’t locate Gtk2/Ex/FormFactory.pm in @INC”. I will investigate this.
I used “cpan Gtk2::Ex::FormFactory” and it downloaded and installed the module.
Next error is “ERROR: ‘execflow’ not found in PATH. Can’t locate Event/ExecFlow.pm in @INC”.
Tried “cpan Event::ExecFlow” and there were dependencies, but I said to install them all.
After that, I ran dvdrip and oh lordy, I got a screen. It looks like it might be installed. Now I have to work out how dvdrip works.
Thanks to Matthew for his help in getting me this far in this project.
I don’t quite know what I am doing, but it looks like I am ripping a dvd to hard disk. So far, so good.
Okay, I have advanced up to a point. dvdrip works and will rip a DVD to disk. It fails to transcode, giving a great number of errors. The ones I can make out appear to be “No libxvidcore API4 found” and “No support for MPEG2 configured”. I will see if I have missed something.
Now I am getting no errors but no transcoding. I’ll resume this later tonight when I get back.
You are getting the same errors that I did from dvdrip, all dependencies installed correctly, but the app keeps failing. I checked http://www.exit1.org/dvdrip/doc/install.cipp for dependencies, but I am not as familiar as you with span so I can’t help too much. Maybe you can find the correct info and pass it to the maintainer of the slackbuild when it finally works.
I’ve been working through the generated logs and running them manually. When I run transcode, I get this error: “[decode_mpeg2.c] critical: No support for MPEG2 configured — exiting”. Feeding that into Google, leads me to this thread:
http://forum.mandriva.com/viewtopic.php?t=120414
I think the relevant part is this comment: “I realised that transcode must not have been built with the libmpeg2-devel libraries.”
What I would like to do is work through the lot and install everything from source and see how that works out. But I can’t do that because of the gcc upgrade issue. I don’t have systems back on 13.0, they are all on current. So this leads me to believe that I should always keep one system on the base level, or get VirtualBox working with the base level in it. Or I could wait till the next big release when hopefully it will all get fixed.
I’ll work on VIrtualBox and see what I can do with that.