Kaffeine aufnahmen automatisch umwandeln per script

Dieses Thema im Forum "Linux & BSD" wurde erstellt von rockenderzwerg8, 15. Februar 2010 .

  1. 15. Februar 2010
    hi meine lieben rrler

    ich möchte gerne meine Kaffeine Aufnahmen die in m2t gespeichert werden (dvb-c), automatisch in xvid umwandeln.

    Dies sollte so aussehen.

    -cronjob der zB. jeden Tag das Script ausführt
    -demultiplexen und muiltiplexen (sonst A/V Async)
    -transcoden nach xvid mit guter qualität, 90 min ca 1400mb sollten reichen
    -das ganze aber mit allen videos die sich im Aufnahmeordner befinden durchführen
    -alles sollte in einem script automatisch ablaufen ohne das man was angeben muss
    -cronjob der zu einer Zeit in der nie aufgenommen wird, alle Dateien im Aufnahmeordner wieder löscht.
    -Dateinamen sollten von kaffeine nach dem epg benannt werden, geht das überhaupt?

    Das wärs eigentlich, wenn mir da jemand weiterhelfen könnte wäre echt klasse von euch.

    Zum System:

    Debian Lenny
    Athlon 64 4000+
    2,5 GB ddr 400
    Asus A8N-E
     
  2. 15. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    wieso isses async, wenns dus net demuxt+muxt?
    muss es per kaffeine sein oder auch ruhig ffmpeg? wie siehts mit den xvid-einstellungen aus? also auflösung, durchläufe etc?...mfg coach
     
  3. 15. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    Meine Dvb Aufnahmen sind nach dem transcoden immer async, hab im Internet gelesen das man das Video zuerst duch Projectx jagen muss damit die Tonspur gesynct wird.

    mir eigentlich egal welche Programme genommen werden. Kaffeine hat halt am besten geklappt und auch den EPG finde ich fein zum Sendungen einprogrammieren.

    Am besten wäre ein Tool mitdem ich per Webinterface/Apache den EPG programmieren kann und die Aufnahmen steuern.
    Mythtv und co sind mir total überladen, ich brauche nur einen Rekorder und eben ein script das alles automatisch umwandelt.
    Ich selber habe von scripting unter linux leider noch so gut wie keine Ahnung ... Aber bin sehr interessiert, habs schon selber versucht aber ich glaub das pack ich noch nicht

    Auflösung sollte original beibehalten werden also Pal 720x576
    2 Durchläufe wären natürlich sehr fein.
    Fein wäre wenn man beide Tonspuren aufnehmen könnte also stereo und 5.1 geht sowas überhaupt?

    Das ganze läuft auf einem Server im lan also ist es egal wenn das ein paar Stunden rennt, Qualität ist sehr wichtig
     
  4. 15. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    nunja, wenn du z.v. avi als container nimmst, sollteste mehrere tonspuren unterbekommen können=)
    ums zusammen zu fassen:
    1. du nimmst filme etc auf (m2t format, nie von gehört, aber ok^^)
    2. deine aufnahmen sind async(?)
    3. du möchtest in möglichst guter quali nen xvid drauf machen?

    dann würde ich sagen du suchst mit hilfe der manpage von ffmpeg oder von mencoder passende parameter, die dir die ergebnisse liefern, die dir am meisten zusagen, nennst sie uns und wir basteln dir nen script draus ;-)

    ...mfg coach
     
  5. 15. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    Die Aufnahmen sind erst nach dem Transkodieren async davor passen sie, liegt wie gesagt am format m2t
    ok werde mal nachsehen kann aber n bisschen dauern hab nicht viel plan davon :-D
    m2t ist der MPEG Transportstream, liegt wohl daran das es keine FF Karte ist und den Stream nur direkt Speichert, ist sozusagen ein Rohstream.

    danke schon mal.
     
  6. 15. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    hier mal ein link der die TS problematik eines DVB Streams beschreibt.

    Link


    Blicke bei den ganzen Parameter nicht durch das muss jemand von euch übernehmen
    habe rumgegoogelt aber leider nichts passendes gefunden.
     
  7. 15. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    Hi,

    ich hab das Skript kurz geschrieben aber nicht ausführlich getestet, aber die einzelnen Befehle funktionieren bei mir ganz gut und nix async.

    Bei 'ffmpeg -threads 2' , das muss bei single core CPUs raus.
    TS_FOLDER natürlich noch anpassen, und cronjob oder so.

    Code:
    TS_FOLDER='/home/rips/dbx2'
    
    for I in $(ls "${TS_FOLDER}/*.ts")
    do
     FILENAME="$(echo ${I} | sed -e s/'\.ts$'/''/ )"
     if [ -f "${FILENAME}.Xcl" ]
     then
     projectx -tom2p -cut "${FILENAME}.Xcl" -out ${TS_FOLDER} "${I}"
     else
     projectx -tom2p -out ${TS_FOLDER} "${I}"
     fi 
     if [ $? -ne 0 ]
     then
     echo "Fehler aufgetreten, bitte LogFile anschauen: ${FILENAME}_log.txt"
     exit 5
     fi
     
     ffmpeg -threads 2 -i "${FILENAME}.m2p" -f avi -r 29.97 -vcodec libxvid -vtag XVID -maxrate 1800kb -b 1500kb -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv -trellis -aic -cmp 2 -subcmp 2 -g 300 -acodec libmp3lame -ar 48000 -ab 128kb -ac 2 "${FILENAME}.avi"
    
     #rm ${FILENAME}.m2p ${FILENAME}_log.txt
     #rm ${I}
    
    done
    
     
  8. 15. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    cool sieht schonmal sehr gut aus vielen dank

    muss ich hier *.ts in *m2t ändern oder?
    Weil bei mir sinds m2t Dateien

    Und nen twopass möchte ich noch eingebaut haben dann sollte das laufen

    Code:
    TS_FOLDER='/ordner/der/aufnahmen'
    [B]TRANSCODED_FOLDER='/ordner/der/transcodierten/Files'[/B] [B][COLOR="Red"]wie muss ich das einbauen damit die fertigen Videos in diesem Ordner landen?[/COLOR]
    [/B]
    for I in $(ls "${TS_FOLDER}/*.[COLOR="Red"]m2t[/COLOR]")
    do
     FILENAME="$(echo ${I} | sed -e s/'\.[COLOR="Red"]m2t[/COLOR]$'/''/ )"
     if [ -f "${FILENAME}.Xcl" ]
     then
     projectx -tom2p -cut "${FILENAME}.Xcl" -out ${TS_FOLDER} "${I}"
     else
     projectx -tom2p -out ${TS_FOLDER} "${I}"
     fi 
     if [ $? -ne 0 ]
     then
     echo "Fehler aufgetreten, bitte LogFile anschauen: ${FILENAME}_log.txt"
     exit 5
     fi
     
     ffmpeg -i "${FILENAME}.m2p" -f avi -r [COLOR="Red"]25[/COLOR] -vcodec libxvid -vtag XVID -maxrate 1800kb -b 1500kb -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv -trellis -aic -cmp 2 -subcmp 2 -g 300 -acodec libmp3lame -ar 48000 -ab 128kb -ac 2 [COLOR="Red"]"${TRANSCODED_FOLDER}/{FILENAME}.avi"[/COLOR]
    
     #rm ${FILENAME}.m2p ${FILENAME}_log.txt
     #rm ${I}
    
    done

    hab ich das richtig verstanden?
     
  9. 15. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    Code:
     FILENAME="$(echo ${I} | sed -e s/'\.m2t$'/''/ )"
     if [ -f "${FILENAME}.Xcl" ]
    
    ersetzten in:
    Code:
     FILENAME="$(echo ${I} | sed -e s/'\.m2t$'/''/ )"
     SAVEFILE="$(echo ${FILENAME} | sed -e s#"${TS_FOLDER}\(.*\)"#"${TRANSCODED_FOLDER}\1.avi"#)"
     if [ -f "${FILENAME}.Xcl" ]
    
    und
    Code:
    "${TRANSCODED_FOLDER}/{FILENAME}.avi"
    
    ersetzten in:
    Code:
    "${SAVEFILE}"
    beim twopass muss ich passen, muss gleich weg, vielleicht schau ich mal später wie das geht.
     
  10. 15. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    ok super danke

    noch ne Frage, kann es sein das hier ein kleiner Fehler ist? (Rot markiert)

    Code:
    FILENAME="$(echo ${I} | sed -e s/'\.m2t$'/''/ )"
     SAVEFILE="$(echo ${FILENAME} | sed -e s#"${TS_FOLDER}\(.*\)"#"${TRANSCODED_FOLDER}\[B][COLOR="Red"]1.avi[/COLOR][/B]"#)"
     if [ -f "${FILENAME}.Xcl" ]
    werden jetzt alle Videos als 1.avi abgespeichert?
    Oder fortlaufend nummeriert?
    Mir wäre am liebsten wenn man den Dateinamen der original Aufnahmen beibehalten könnte.

    Ich kann das Script aber sowieso erst am abend testen sitze im Moment am Windows Pc der Freundin.
     
  11. 16. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    "\1" das ist kein fehler.

    schau mal hier
    Code:
    date +"%x %T %x" | sed -e s/'.* \(.*\):\(.*\):\(.*\) .*'/'Stunden: \1 \nMinuten: \2 \nSekunden: \3'/
     
  12. 16. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    habs gerade getestet und es geht nicht alles installiert und alle Ordner angelegt. Auch ein Videofile liegt im ordner /video...


    Code:
    ubuntu@ubuntu:~/Desktop$ ./script.sh
    ls: cannot access /home/ubuntu/Desktop/video/*.m2t: No such file or directory
    Wenn ich statt dem * einen Dateinamen eintrage und das videofile so benenne, dann klappts aber wieso gehts mit * nicht?
     
  13. 16. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    Das ganze funzt nicht so wie es sollte hat es bei dir geklappt?
     
  14. 16. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    poste mal deine Datei, bei mir hat es funktioniert.
     
  15. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    Code:
    #!/bin/bash
    
    # Transcoding Script für DVB Aufnahmen
    # im Format m2t
    
    TS_FOLDER='/home/michael/Desktop/video'
    TRANSCODED_FOLDER='/home/michael/Desktop/video/finished'
    
    for I in $(ls "${TS_FOLDER}/*.m2t")
    do
     FILENAME="$(echo ${I} | sed -e s/'\.avi$'/''/ )"
     SAVEFILE="$(echo ${FILENAME} | sed -e s#"${TS_FOLDER}\(.*\)"#"${TRANSCODED_FOLDER}\1.avi"#)"
     if [ -f "${FILENAME}.Xcl" ]
     then
     /usr/bin/projectx.sh -tom2p -cut "${FILENAME}.Xcl" -out ${TS_FOLDER} "${I}"
     else
     /usr/bin/projectx.sh -tom2p -out "${TS_FOLDER} "${I}"
     fi 
     if [ $? -ne 0 ]
     then
     echo "Fehler aufgetreten, bitte LogFile anschauen: ${FILENAME}_log.txt"
     exit 5
     fi
     
     ffmpeg -i "${FILENAME}.m2p" -f avi -r 25 -vcodec libxvid -vtag XVID -maxrate 1800kb -b 1500kb -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv -trellis -aic -cmp 2 -subcmp 2 -g 300 -acodec libmp3lame -ar 48000 -ab 160kb -ac 2 "${SAVEFILE}"
    
     #rm ${FILENAME}.m2p ${FILENAME}_log.txt
     #rm ${I}
    
    done
    
    Das passiert:

    Code:
    ./script4.sh
    ./script4.sh: line 25: unexpected EOF while looking for matching `"'
    ./script4.sh: line 31: syntax error: unexpected end of file
     
  16. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    Code:
    #!/bin/bash
    
    # Transcoding Script für DVB Aufnahmen
    # im Format m2t
    
    TS_FOLDER='/home/michael/Desktop/video'
    TRANSCODED_FOLDER='/home/michael/Desktop/video/finished'
    
    for I in $(ls ${TS_FOLDER}/*.m2t )
    do
     FILENAME="$(echo ${I} | sed -e s/'\.avi$'/''/ )"
     SAVEFILE="$(echo ${FILENAME} | sed -e s#"${TS_FOLDER}\(.*\)"#"${TRANSCODED_FOLDER}[COLOR="Red"]/[/COLOR]\1.avi"#)"
     if [ -f ${FILENAME}.Xcl ]
     then
     /usr/bin/projectx -tom2p -cut "${FILENAME}.Xcl" -out ${TS_FOLDER} "${I}"
     else
     /usr/bin/projectx -tom2p -out "${TS_FOLDER}[COLOR="Red"]"[/COLOR] "${I}"
     fi 
     if [ $? -ne 0 ]
     then
     echo "Fehler aufgetreten, bitte LogFile anschauen: ${FILENAME}_log.txt"
     exit 5
     fi
     
     ffmpeg -i "${FILENAME}.m2p" -f avi -r 25 -vcodec libxvid -vtag XVID -maxrate 1800kb -b 1500kb -qmin 3 -qmax 5 -bufsize 4096 -mbd 2 -bf 2 -flags +4mv -trellis -aic -cmp 2 -subcmp 2 -g 300 -acodec libmp3lame -ar 48000 -ab 160kb -ac 2 "${SAVEFILE}"
    
     #rm ${FILENAME}.m2p ${FILENAME}_log.txt
     #rm ${I}
    
    done
    paar fehler haben sich da eingeschlichen, so sollte es gehen. Ich bin mir nicht sicher ob du ein Script für projektx brauchst, habs sicherheitshalber mal weggelassen.
     
  17. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    , sollte
    hmm ok jetzt gehts aber es startet leider die gui von projectx, sollte ja automatisch ablaufen
     
  18. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    die gui sollte nicht geladen werden, hast du projectx aus den repositories oder hast du es selbst runtergeladen. Es kann auch sein das du ein Wrapper Script oder vielleicht ein alias?

    Code:
    quick CL usage: 
    Note: CL doesn't load the GUI components, except with switch [-gui]
    <without options> ...starts the GUI
    switches and inputfiles can be in any order
    
    options:
    [-ini <path + inifile>] ..use that specified iniFile instead of the standard
    [-dvx1] ..create a .d2v ProjectFile on demux
    [-dvx2] ..create a .d2v ProjectFile + .ac3.wav (RIFF WAVE Header)
    [-dvx3] ..create a .d2v ProjectFile + .mpa.wav (RIFF WAVE Header)
    [-dvx4] ..create a .d2v ProjectFile + .ac3.wav + mpa.wav (RIFF WAVE Header)
    [-out <path>] ..use that specified directory for output
    [-name <filename>] ..use that specified filename for output
    [-cut <file>] ..use that text based file as cutpoint list
    [-chp <file>] ..use that text based file as chapterpoint list
    [-id <tokens>] ..use only these (P)IDs, separated by comma ","
    [-gui] ..display the GUI using all given CLI options
    [-log] ..write the normal logfile
    [-saveini] ..save changes made bei CLI in active .ini
    [-split <xxx>] ..split output at xxx MB
    [-demux, -tom2p, -topva, -tovdr, -tots, -filter] ..action types
     
  19. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script


    Ich ab ein aktuelles deb geladen, werde mal die neusten Sourcen laden un compilieren.

    im Moment starte ich das wie folgt: /usr/bin/projectx.sh


    Inhalt von projectx.sh

    Code:
    #!/bin/sh
    #
    # startscript for ProjectX
    #
    
    cd /usr/share/projectx
    java -jar ProjectX.jar
     
  20. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    Code:
    #!/bin/sh
    #Starts ProjectX
    java -jar /usr/share/java/ProjectX.jar "$@"
    
    bei mir sieht es so aus das $@ übergibt dann die parameter.

    such mal nach packet "project-x" ist bei ubuntu im universe dabei.


    ProjectX › Wiki › ubuntuusers.de


    edit: ach du hast debian
     
  21. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script


    So es klappt schon fast

    aus den aktuellen Sourcen compiliert, hab was geändert

    Code:
    [COLOR="Red"]java -jar /usr/share/projectx/ProjectX.jar[/COLOR] -tom2p -cut "${FILENAME}.Xcl" -out ${TS_FOLDER} "${I}"
     else
     [COLOR="Red"]java -jar /usr/share/projectx/ProjectX.jar [/COLOR]-tom2p -out "${TS_FOLDER}" "${I}"
     fi 
    so gehts nur kommt erneut ein fehler:

    ffmpeg versucht das hier:

    Code:
    /home/michael/Desktop/video/qwert.[B][COLOR="Red"][COLOR="Red"][COLOR="Red"]m2t.[/COLOR][/COLOR][/COLOR][/B]m2p: no such file or directory
    Der Dateiname stimmt aber leider wird die alte Dateienung mitgeschrieben.
    Habe gerade die Datei, die projectxausgespuckt hat, mit den Werten von unten in ein avi(xvid) umgewandelt, leider geht der videostream verloren und es wird nur der Ton abgespeichert.

    Nach ffmpeg:

    Code:
    video:0kB audio:1044kB global headers:0kB muxing overhead 5.934508%
    Ansonsten klappt das recht gut, gut wäre noch wenn man ffmpeg beibringen könnte das AC3 Ton bevorzugt wird wenn verfügbar.

    Sowas in der Art:


    Mit projectx zusätzlich demuxen mit -demux
    und mit mplex ac3 bevorzugen (ist nur ein Beispiel müsste man noch ein bisschen umschreiben):

    Code:
    if [ -f "$FILE.ac3" ]; then
    mplex -f 8 -o "$FILE.mpg" "$FILE.ac3" "$FILE.m2v" "$FILE.mp2"
    rm "$FILE.ac3"
    else
    
    if [ -f "$FILE[1].mp2" ]; then
    mplex -f 8 -o "$FILE.mpg" "$FILE.m2v" "$FILE.mp2" "$FILE[1].mp2"
    else
    mplex -f 8 -o "$FILE.mpg" "$FILE.m2v" "$FILE.mp2"
    fi
    
     
  22. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    Code:
    FILENAME="$(echo ${I} | sed -e s/'\.[COLOR="Red"]m2t[/COLOR]$'/''/ )"
     
  23. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    ha bin ich dumm :-D

    so gehts jetzt hab ich nur noch das problem mit dem videostream
     
  24. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    und wieder ein fehler
    Code:
    SAVEFILE="$(echo ${FILENAME} | sed -e s#"${TS_FOLDER}\(.*\)"#"${TRANSCODED_FOLDER}[COLOR="Red"]/[/COLOR]\1.avi"#)"
    
    Code:
    SAVEFILE="$(echo ${FILENAME} | sed -e s#"${TS_FOLDER}\(.*\)"#"${TRANSCODED_FOLDER}\1.avi"#)"
    
    poste mal die ausgabe von project-x
    Code:
    -> Input File 0: '/home/rips/tmp/2010-01-29_001.001.ts' (2.674.847.644 bytes)
    -> Filetype is TS (generic PES Container)
    -> make a MPG2
    -> Service ID 0x6D66
    -> PMT 0xFFF refers to these usable streams:
    Video:
    PID: 0xA7
    Audio:
    PID: 0x88
    Teletext:
    n/a
    Subpict.:
    n/a
    
     
  25. 17. Februar 2010
    AW: Kaffeine aufnahmen automatisch umwandeln per script

    Hm as macht keinen Unterschied, er findet alle Dateien und speichert alles, nur fehlt am Ende der Videostream, in der Avi Datei ist nur Ton.

    Ich versuche mal einen anderen codec.
     
  26. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.