DVD ripper......... tímaskekkjan


Höfundur
Televisionary
FanBoy
Póstar: 739
Skráði sig: Þri 17. Feb 2009 15:26
Reputation: 146
Staða: Ótengdur

DVD ripper......... tímaskekkjan

Pósturaf Televisionary » Fös 02. Maí 2025 18:38

Eigandi stórt safn af DVD og CD diskum. Sem ég rippaði alla fyrir 15+ árum síðan og tónlist fór í FLAC form og Flestir DVD diskarnir fóru í MPEG prógram straum. Einhverjir voru settir í transport straum. Þetta eru um 1000+ diskar af báðum gerðum.

En nú hafa árin liðin og það sem pirrar mig svolítið er að það vantar texta og engir kaflar þegar ég er að spila þetta. Allir diskarnir ennþá til hérna í kössunum.

Mikið vatn hefur runnið til sjávar síðan þetta gerðist og MKV var ekki svona stór eins og hann er í dag. Gerðar voru tilraunir um að skipta um container snið á þessu s.s. efnið er ennþá MPEG-2 en sett í MKV container s.s. engin umbreyting á myndefninu. Bara ílátið ef svo má segja. Þetta gekk vel og kaflar og texti skilar sér.

Þegar föndrið byrjaði hérna í vetur og henti fjórum DVD drifum í Chieftec Dragon kassa. Prófaði mig áfram með að nota Windows og gera þetta í höndum. Það gekk ágætlega. Sjá mynd "Ripper útgáfa eitt."

Fókusinn var á DVD diska eingöngu í þessari tilraun. CD kemur síðar. Verst að lýsi gögnin (metadata) af Tonlist.is sem var og hét er að mér sýnist týnt. Ég átti öll cover í hæstu upplausn sem þeir buðu uppá, skriptaði og sótti þetta einhvern tíma í fyrndinni. Möguleiki að þetta sé til á IDE disk hérna heima.

Það var ekkert farið í alvöru að rippa á græjunni en hún var skilin eftir þannig að hægt væri að ræsa hana og fara í Remote Desktop og græja sig. En núna átti ég einn auka frídag og ákvað að henda í útgáfu númer tvö og ákvað að fara í átta DVD drif. Sjá mynd "Ripper útgáfa tvö."

Einnig prófaði ég ARM, Automatic Ripping Machine. Þetta er samansafn af verkfærum sem keyrir í Docker, getur rippað, transkóðað o.fl. sjá nánar hérna:
https://github.com/automatic-ripping-machine/automatic-ripping-machine

Þessi uppsetning var sett á Arch Linux sem lá hérna full uppsettur s.s. ARM varð ofaná að sinni sökum þess hversu einfalt þetta er í uppsetningu og öllu stýrt í gegnum vefviðmót. Öllum gögn eru skrifað á NFS drif sem situr á annari Linux vél (Unraid 7.1.0) (Ultra Scary Raid, efni í annað innlegg sko, uppsóf af ónýtum diskum).

Ripper útgáfa eitt.
Mynd

Ripper útgáfa tvö.
Mynd

*Uppfæri þetta innlegg mögulega eftir því sem við á.

p.s. Ef einhver á DVD SATA drif handa mér fyrir lítið eða ekkert væri það vel þegið. Það er svigrúm til að stækka of fara í fleiri drif til að flýta vinnunni.

Arch setup skriptan, þessu var breytt úr Debian skriptu sem er á github hjá verkefninu:

Kóði: Velja allt

#!/usr/bin/env bash
set -eo pipefail

RED='\033[1;31m'
NC='\033[0m' # No Color
FORK=automaticrippingmachine
TAG=latest

function usage() {
    echo -e "\nUsage: docker_setup.sh [OPTIONS]"
    echo -e " -f <fork>\tSpecify the fork to pull from on DockerHub. \n\t\tDefault is \"$FORK\""
    echo -e " -t <tag>\tSpecify the tag to pull from on DockerHub. \n\t\tDefault is \"$TAG\""
}

while getopts 'f:t:' OPTION; do
    case $OPTION in
        f) FORK=$OPTARG ;;
        t) TAG=$OPTARG ;;
        ?) usage; exit 2 ;;
    esac
done

IMAGE="$FORK/automatic-ripping-machine:$TAG"

function install_reqs() {
    echo -e "${RED}Installing required packages...${NC}"
    sudo pacman -Sy --noconfirm curl lsscsi sudo docker
}

function add_arm_user() {
    echo -e "${RED}Adding arm user${NC}"
    if ! getent group arm > /dev/null; then
        sudo groupadd arm
    else
        echo -e "${RED}arm group already exists, skipping...${NC}"
    fi

    if ! id arm > /dev/null 2>&1; then
        sudo useradd -m -g arm -G optical,video arm
        echo -e "${RED}Set password for 'arm' user${NC}"
        sudo passwd arm
    else
        echo -e "${RED}arm user already exists, skipping...${NC}"
    fi
}

function launch_setup() {
    echo -e "${RED}Enabling and starting Docker service${NC}"
    sudo systemctl enable --now docker

    echo -e "${RED}Adding user arm to docker group${NC}"
    sudo usermod -aG docker arm
}

function pull_image() {
    echo -e "${RED}Pulling image from $IMAGE${NC}"
    sudo -u arm docker pull "$IMAGE"
}

function setup_mountpoints() {
    echo -e "${RED}Creating mount points${NC}"
    for dev in /dev/sr?; do
        [ -e "$dev" ] && sudo mkdir -p "/mnt$dev"
    done
    sudo chown -R arm:arm /mnt/dev/sr* 2>/dev/null || true
}

function save_start_command() {
    url="https://raw.githubusercontent.com/automatic-ripping-machine/automatic-ripping-machine/main/scripts/docker/start_arm_container.sh"
    sudo -u arm bash -c "
        cd ~arm
        if [ -e start_arm_container.sh ]; then
            echo 'Backing up existing start_arm_container.sh...'
            mv start_arm_container.sh start_arm_container.sh.bak
        fi
        curl -fsSL '$url' -o start_arm_container.sh
        chmod +x start_arm_container.sh
        sed -i \"s|IMAGE_NAME|$IMAGE|\" start_arm_container.sh
    "
}

# Start here
install_reqs
add_arm_user
launch_setup
pull_image
setup_mountpoints
save_start_command

echo -e "${RED}Installation complete. A template command to run the ARM container is located in: $(eval echo ~arm)${NC}"
Síðast breytt af Televisionary á Fös 02. Maí 2025 18:40, breytt samtals 1 sinni.