Inhaltsverzeichnis

ProjectX

Java-Software zum Schneiden und demuxen von mit der m740av erzeugten Aufnahmen.

Ideal zur Verwendung mir dem cridmanager.

Download: http://sourceforge.net/project/showfiles.php?group_id=126669

Muss erst mit Java kompiliert werden

ProjectX ist ein demuxer, d.h. Video und Ton sind in 2 getrennten Dateien gespeichert (m2v und mp2).

Wieder muxen mit ffmpeg:

Quelle1)

Programme zur Enkodierung

Unter Windows

Unter Windows kann man den mitgelieferten DivX-Converter nehmen. Alternativ könnte man AutoGK nutzen (Achtung: DivX wählen, alternativ Xvid und FOURCC-Code überschreiben).

Unter Linux (und Windows)

Will oder kann man keine Windows-Programme nutzen, bietet sich FFmpeg an.

Beispiel mit FFmpeg, Xvid 700kbit/MP3 112kbit (Quellmaterial ist eine DVB-T-Aufnahme im Seitenverhältnis 16:9. Zum Demultiplexen wurde ProjectX benutzt):

Linux:

(Die Beispiele erzeugen Handyvideos)

ffmpeg -i src.m2v -i src.mp2 -vcodec xvid -s 740*414 -b 700kb -vtag DX50 \
-acodec mp3 -ab 112kb -ar 44100 out_740x414.avi

FFmpeg für Windows nutzt abweichende Namen für die Codecs:

ffmpeg -i src.m2v -i src.mp2 -vcodec libxvid -s 740*414 -b 700kb -vtag DX50 \
-acodec libmp3lame -ab 112kb -ar 44100 out_740x414.avi

Automatische Enkodierung von VDR-Aufnahmen

Um meine VDR-Aufnahmen automatisch zu enkodieren, habe ich ein Python-SkriptDirektdownload geschrieben, das diese Aufgabe in folgenden Schritten erledigt:

Um dieses Skript für jede Aufnahme auszuführen, erstellt man am besten ein Shell-Skript, das das Python-Skript aufruft. Das Shell-Skript muss im Verzeichnis recording-hooks (unter Debian /etc/vdr/recording-hooks/) der VDR-Konfiguration liegen:

#!/bin/bash
# Use Latin1 as charset
export LC_ALL=de_DE
# Run vdr2xvid nicely in the background
nice -n 19 /pfad/zu/vdr2xvid.py $1 $2 &

Viel Spaß beim gucken :)

Skript zum Erzeugen von MP4 aus zwei Streams

/usr/bin/mkmp4

#!/bin/bash
# erzeugt aus zwei gedemuxten streams einen neuen mp4
# (c) Nov 2008 G. Nasenbrecher


if [ -z "$1" ]; then    # -n tests to see if the argument is empty
        echo "Als Parameter 1 MUSS der basename (ohne Endung) der zu erzeugenden und der beiden Ursprungsstream stehen"
        echo "z.B. test: dann muss es eine test.m2v und eine test.mp2 geben. Aus denen wird dann eine test.mp4 erzeugt"
        echo ""
        echo "Als Parameter 2 kann optional die Datenrate des End-Videos in kb angegeben werden (default: 900 kb)"
        exit 1
fi

if [ -z "$2" ]; then    # -n tests to see if the argument is empty
    datarate_video="900kb"
else
    datarate_video="${2}kb"
fi

#cpufreq hi

ffmpeg -i "${1}.m2v" -i "${1}.mp2" -vcodec mpeg4 -b ${datarate_video} -acodec mp3 -ab 112kb -ar 44100 "${1}.mp4"

#cpufreq lo

exit 0