Script para capturar fitas VHS usando o digitalizador de vídeo analógico Hauppauge 610 USB-Live 2 e o dispositivo de captura de vídeo

0

Este dispositivo é suportado no kernel Linux para distribuições Linux modernas. Eu tive mais sucesso usando o VLC Media Player na digitalização (comparado ao FFmpeg que renderizou uma imagem pixelizada). No entanto, como eu poderia criar um script para tornar o VHS de digitalização o mais eficiente possível?

    
por jbrock 12.11.2016 / 21:44

1 resposta

0

Esse script foi eficiente para digitalizar VHSs em casa. Você precisará do VLC Media Player e do FFmpeg se quiser converter em mp4 para o nível ideal de compressão. Ajuste v4l2:///dev/video0 :input-slave=alsa://hw:2,0 (entrada de vídeo e áudio), se necessário, de acordo com a sua máquina. Você pode encontrar essas informações usando o VLC e indo para o Media > Dispositivo de captura. Lá você pode ver o nome do dispositivo de vídeo e o nome do dispositivo de áudio.

É um dispositivo mpeg2. Usando VLC para codificar diretamente para mp4 ou h264 produzirá vídeo com lábios fora de sincronia. É por isso que primeiro codifico para o mpeg2 e depois procuro para o mp4. O FFmpeg aqui está configurado para usar 3 de 4 núcleos de CPU, de modo que não ultrapasse a CPU. Você vai querer ajustar -threads 3 de acordo com sua CPU. Se você não tiver certeza, -threads 3 pode ser removido. Certifique-se de marcar o script como executável antes de usar: chmod +x your-script-name

#!/bin/bash

# Enter the name of the file.
read -p "Enter file name: " filename

# Enter how many minutes.
read -p "How many minutes? (If left blank by hitting enter, the default is 124 minutes.): " minutes
if [ -z "$minutes" ]; then
    minutes=124
fi

# Remove any spaces in the file name.
filename=$(echo "$filename" | sed 's/ /-/g')

# This is for metadata. It will show up in the media player playlist or after clicking Properties (in OS X Info) on the file context menu.
read -p "Enter a description: " details

# Turn off sleep. You can uncomment this only if using Xfce.
# xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/inactivity-on-ac -s 14

# Create Videos directory if not there.
if ! [ -d $HOME/Videos ]; then mkdir $HOME/Videos; fi

# Encode video. 
timeout --foreground ${minutes}m cvlc v4l2:///dev/video0 :input-slave=alsa://hw:2,0 :v4l2-standard=NTSC :live-caching=300 --sout '#transcode{vcodec=mp2v,acodec=mpga,ab=128,channels=2,samplerate=48000,fps=29.97,deinterlace}:std{access=file{no-overwrite},mux=ts,dst='$HOME/Videos/$filename.ts'}'

# Convert to libx264 to compress further, add in the metadata comments, and keep CPU usage to 75%. 
ffmpeg -i $HOME/Videos/$filename.ts -s 720x480 -c:v libx264 -preset medium -crf 22 -acodec copy -metadata comment="$details" -threads 3 $HOME/Videos/$filename.mp4
    
por jbrock 12.11.2016 / 21:44