Pages

Monday, February 10, 2014

Ripping DVD's with K3b and Slackware(64)-14.1

K3b has the nice option to rip DVD's. Unfortunatly this requires transcode which doesn't come with Slackware by default.
When you open K3b and navigate to "Tools" -> "Rip Vide DVD..." then you will get the following error message:

"K3b uses transcode to rip Video DVDs. Please make sure it is installed."

This article will describe how to install transcode using the SlackBuild scripts from http://www.slackbuilds.org with needed minimum requirements.
First start by creating a directory where you can store all scripts and source packages:

# cd /usr/src
# mkdir transcode


The next steps are very easy. I'll show you which package is needed and the correct order to fulfill the requirements. The steps to install the packages are all very similiar:

1. Download SBo script
2. Download source package
3. Run SBo script
4. Install package

I had this setup already running for Slackware64-14.0 but this article was tested on Slackware64-14.1.
In case that one of the download links is not working then check http://www.slackbuilds.org for the package.
Let's get started!

lame:

1. Download SBo script:

# cd /usr/src/transcode
# wget -c "http://slackbuilds.org/slackbuilds/14.1/libraries/lame.tar.gz"
# tar xf lame.tar.gz
# cd lame


2. Download source package:

# wget -c "http://downloads.sourceforge.net/lame/lame-3.99.5.tar.gz"

3. Run SBo script:

# ./lame.SlackBuild
...
Slackware package /tmp/lame-3.99.5-x86_64-1_SBo.tgz created.


4. Install package:

# installpk /tmp/lame-3.99.5-x86_64-1_SBo.tgz
...


x264:

1. Download SBo script:

# cd /usr/src/transcode
# wget -c "http://slackbuilds.org/slackbuilds/14.1/multimedia/x264.tar.gz"
# tar xf x264.tar.gz
# cd x264


2. Download source package:

# wget -c "ftp://ftp.videolan.org/pub/videolan/x264/snapshots/x264-snapshot-20150223-2245-stable.tar.xz"

3. Run SBo script:

# ./x264.SlackBuild
...
Slackware package /tmp/x264-20131101-x86_64-1_SBo.tgz created.


4. Install package:

# installpkg /tmp/x264-20131101-x86_64-1_SBo.tgz
...


ffmpeg:

1. Download SBo script:

# cd /usr/src/transcode
# wget -c "http://slackbuilds.org/slackbuilds/14.1/multimedia/ffmpeg.tar.gz"
# tar xf ffmpeg.tar.gz
# cd ffmpeg


2. Download source package:

# wget -c "http://www.ffmpeg.org/releases/ffmpeg-2.1.tar.bz2"

3. Run SBo script:

# ./ffmpeg.SlackBuild
...


In case that you get the following error:

Could not find texi2html! Please make sure to have tetex or texlive installed and that texi2html is in PATH.

Then install the package tetex-3.0-*.txz from the Slackware CD/DVD shipped in the series t. Next add the following path to your path variable:

# export PATH=/usr/share/texmf/bin:$PATH
# which texi2html
/usr/share/texmf/bin/texi2html


Then rerun the build skript again:

# ./ffmpeg.SlackBuild
...
Slackware package /tmp/ffmpeg-2.1-x86_64_custom-1_SBo.tgz created.


4. Install package:

# installpkg /tmp/ffmpeg-2.1-x86_64_custom-1_SBo.tgz
...


At this point all minimum requirements for transcode are fulfilled. But to rip a DVD you need a couple more packages:

a52dec:

1. Download SBo script:

# cd /usr/src/transcode
# wget -c "http://slackbuilds.org/slackbuilds/14.1/audio/a52dec.tar.gz"
# tar xf a52dec.tar.gz
# cd a52dec


2. Download source package:

# wget -c "http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz"

3. Run SBo script:

# ./a52dec.SlackBuild
...
Slackware package /tmp/a52dec-0.7.4-x86_64-1_SBo.tgz created.


4. Install package:

# installpkg /tmp/a52dec-0.7.4-x86_64-1_SBo.tgz
...


libdvdcss:

1. Download SBo script:

# cd /usr/src/transcode
# wget -c "http://slackbuilds.org/slackbuilds/14.1/libraries/libdvdcss.tar.gz"
# tar xf libdvdcss-1.2.13.tar.bz2
# cd libdvdcss


2. Download source package:

# wget -c "http://download.videolan.org/pub/libdvdcss/1.2.13/libdvdcss-1.2.13.tar.bz2"

3. Run SBo script:

# ./libdvdcss.SlackBuild
...
Slackware package /tmp/libdvdcss-1.2.13-x86_64-1_SBo.tgz created.


4. Install package:

# installpkg /tmp/libdvdcss-1.2.13-x86_64-1_SBo.tgz
...


libmpeg2:

1. Download SBo script:

# cd /usr/src/transcode
# wget -c "http://slackbuilds.org/slackbuilds/14.1/libraries/libmpeg2.tar.gz"
# tar xf libmpeg2.tar.gz
# cd libmpeg2


2. Download source package:

# wget -c "http://libmpeg2.sourceforge.net/files/libmpeg2-0.5.1.tar.gz"

3. Run SBo script:

# ./libmpeg2.SlackBuild
...
Slackware package /tmp/libmpeg2-0.5.1-x86_64-1_SBo.tgz created.


4. Install package:

# installpkg /tmp/libmpeg2-0.5.1-x86_64-1_SBo.tgz
...


xvidcore:

1. Download SBo script:

# cd /usr/src/transcode
# wget -c "http://slackbuilds.org/slackbuilds/14.1/multimedia/xvidcore.tar.gz"
# tar xf xvidcore.tar.gz
# cd xvidcore


2. Download source package:

# wget -c "http://downloads.xvid.org/downloads/xvidcore-1.3.3.tar.bz2"

3. Run SBo script:

# ./xvidcore.SlackBuild
...
Slackware package /tmp/xvidcore-1.3.2-x86_64-1_SBo.tgz created.


4. Install package:

# installpkg /tmp/xvidcore-1.3.2-x86_64-1_SBo.tgz
...


faac:

1. Download SBo script:

# cd /usr/src/transcode
# wget -c http://slackbuilds.org/slackbuilds/14.1/audio/faac.tar.gz
# tar xf faac.tar.gz
# cd faac


2. Download source package:

# wget -c http://downloads.sourceforge.net/faac/faac-1.28.tar.bz2

3. Run SBo script:

# ./faac.SlackBuild
...
Slackware package /tmp/faac-1.28-x86_64-3_SBo.tgz created.


4. Install package:

# installpkg /tmp/faac-1.28-x86_64-3_SBo.tgz
...


Finally: at this point you're ready to install transcode. Before you run the SBo script make sure that you change the configure options:

transcode:

1. Download SBo script:

# cd /usr/src/transcode
# wget -c "http://slackbuilds.org/slackbuilds/14.1/multimedia/transcode.tar.gz"
# tar xf transcode.tar.gz
# cd transcode


2. Download source package:

# wget -c "https://bitbucket.org/france/transcode-tcforge/downloads/transcode-1.1.7.tar.bz2"

3. Change the configure options like the following and run the SBo script:

# vi transcode.SlackBuild
...
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
...
  --enable-libmpeg2 \
  --enable-libmpeg2convert \
...
  --enable-x264 \
  --enable-xvid \

  --enable-faac \
...
  --enable-a52 \

  --enable-lame \
...

# ./transcode.SlackBuild
...
Slackware package /tmp/transcode-1.1.7-x86_64-3_SBo.tgz created.


4. Install package:

# installpkg /tmp/transcode-1.1.7-x86_64-3_SBo.tgz
...


Now insert a DVD, (re)start K3b and navigate to "Tools" -> "Rip Vide DVD...". The column "Preview" will show a small picture of the available title now. Deselect all unwanted titles and click on "Start Ripping". The next window will show some options for the video codec, audio codec etc. Make your changes and click on "Start". In case that something still goes wrong then click on "Show Debugging Output" and try to figure out what went wrong.
If anything fails then look at the end of the log and try to run the transcode commands manually, eg:

/usr/bin/transcode --nice 19 --log_no_color --progress_meter 2 --progress_rate 1065 -i /dev/sr0 -x dvd -T 2,-1,1 -a 0 -j 0,0,0,0 -R 1,/tmp/kde-karellen/k3b_0.log -y xvid,null -o /dev/null -w 1200 -Z 640x480
/usr/bin/transcode --nice 19 --log_no_color --progress_meter 2 --progress_rate 1065 -i /dev/sr0 -x dvd -T 2,-1,1 -a 0 -j 0,0,0,0 -R 2,/tmp/kde-karellen/k3b_0.log -y xvid -N 0x55 -b 128,1 -o /home/karellen/Samu - Title 02 (English MPEG1 Layer III 2Ch).avi -w 1200 -Z 640x480


Updated 12.09.2015: updated to current versions, added faac