Seite 1 von 1

avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 12:42
von kiss_me
Um meinen Toppi als Jukebox für avi's zu nutzen, habe ich mal begonnen, ein batch-Script zu schreiben, das alle avi's aus einem Verzeichnis in Topfield-kompatible rec-Dateien umwandelt.

Vorbereitung:
  • ProjectX installieren
  • ffmpeg installieren
  • in avi2rec.bat die Pfade zu diesen 2 Programmen anpassen
Anwendung:
  • alle Dateien in ein Verzeichnis legen:
    • avi2rec.bat
    • X.ini (EDIT: bei der Version aus post #5 nicht nötig)
    • alle avi's, die transcodiert werden sollen
  • avi2rec.bat starten
  • die entstandenen rec-Dateien auf den Toppi übertragen.
Wird das Programm abgebrochen und neu gestartet, sollen unvollständig erzeugte Dateien gelöscht und neu erzeugt werden.

Das funktioniert für normale Dateinamen, aber nicht bei Dateinamen mit Sonderzeichen (space, "&" und "-"). Das Problem liegt bei den Dateien "Filename.mpg.in_progress", die ich erzeuge, um nach einem Programmabbruch erkennen zu können, welche Dateien unvollständig bearbeitet wurden. Kann mir hier jemand sagen, wie man den Dateinamen auch mit Sonderzeichen korrekt erzeugen kann ?


Dies ist meine erste Version von "avi2rec.bat" (Anwendung auf eigenes Risiko):

Code: Alles auswählen

:avi2rec.bat by kiss_me

set ffmpeg="C:\Dokumente und Einstellungen\.......\FFmpeg-svn-15666\ffmpeg.exe"
set proj_x="C:\Dokumente und Einstellungen\.......\ProjectX_Source_0.90.4\ProjectX.jar"

set resolution=720x576
set frame_rate=25
set aspect_rat=16:9
set audio_samp=48000
set audio_rate=192000
set video_rate=4000000

for %%a in (*.avi) do (
  :set current_dir=%~dp0
  :set name=%%~na
  :set ext=%%~xa
  if exist "%%~na.mpg.in_progress" (
    rm "%%~na.mpg"
    rm "%%~na.mpg.in_progress"
  )
  if not exist "%%~na.mpg" (
    touch "%%~na.mpg.in_progress"
    %ffmpeg% -i "%%a" -s %resolution% -r %frame_rate% -vcodec mpeg2video -acodec mp2 -ab %audio_rate% -ar %audio_samp% -b %video_rate% -aspect %aspect_rat% "%%~na.mpg"
    rm "%%~na.mpg.in_progress"
  )
)

for %%a in (*.mpg) do (
  if exist "%%~na.rec.in_progress" (
    rm "%%~na.rec"
    rm "%%~na.rec.in_progress"
  )
  if not exist "%%~na.rec" (
    touch "%%~na.rec.in_progress"
    java -jar %proj_x% -tots -out %~dp0 "%%~fa"
    rm "%%~na.rec.in_progress"
    rm "%%~na_log.txt"
  )
)
Und diese "X.ini"-Datei sagt ProjectX, dass eine Topfield-kompatible TS-Datei mit rec-Header erzeugt werden soll:

Code: Alles auswählen

# Project-X INI
# ProjectX 0.90.4.00 / 30.03.2006

# Application
Application.Agreement=1
Application.Language=en

# CollectionPanel
CollectionPanel.CutMode=0

# MainPanel
MainPanel.ConversionMode=4

# SpecialPanel
SpecialPanel.Input.concatenateForeignRecords=1
SpecialPanel.TS.HeaderMode=2

# WindowPosition
WindowPosition.Main.Height=652
WindowPosition.Main.Width=906
WindowPosition.Main.X=151
WindowPosition.Main.Y=284
Meine Versuche, die X.ini-Datei aus dem avi2rec.bat -Script heraus zu erzeugen - etwa so:

Code: Alles auswählen

: funktioniert nicht, selbst nur ein Leerzeichen am Zeilenende stört ProjectX:
echo # Project-X INI                                 > X.ini
echo # ProjectX 0.90.4.00 / 30.03.2006               >> X.ini
echo #                                               >> X.ini
echo # Application                                   >> X.ini
echo Application.Agreement=1                         >> X.ini
echo Application.Language=en                         >> X.ini
echo #                                               >> X.ini
echo # CollectionPanel                               >> X.ini
echo CollectionPanel.CutMode=0                       >> X.ini
echo #                                               >> X.ini
echo # MainPanel                                     >> X.ini
echo MainPanel.ConversionMode=4                      >> X.ini
echo #                                               >> X.ini
echo # SpecialPanel                                  >> X.ini
echo SpecialPanel.Input.concatenateForeignRecords=1  >> X.ini
echo SpecialPanel.TS.HeaderMode=2                    >> X.ini
- sind bisher am "echo" Befehl gescheitert. Ich bekomme einfach die Leerzeichen an den Zeilenenden nicht weg; diese stören ProjectX. Unter Linux kann man ja einfach "Anführungszeichen" um den Text setzen, in einem bat-Script würden diese mit in die Datei gedruckt. Wenn ich die >>-Symbole direkt hinter den Text setze, ohne Leerzeichen, wird das völlig anders interpretiert. Weiß jemand, wie man das lösen kann ?

Für weitere Anregungen, Kritik und Verbesserungsvorschläge bin ich immer dankbar. Als Linux-Mensch fällt mir die DOS-batch-Programmierung etwas schwer...

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 13:18
von FireBird
Ich habe aus Urzeiten (File-Datum 1991) ein Commandline-Tool namens filt, das unter anderem Dein Problem lösen kann. Ein

Code: Alles auswählen

echo # Project-X INI                                 | filt rZ > X.ini
kappt alle trailing spaces.

Nachdem ich weder weiss, wo es herkommt, noch ein Copyright-Hinweis in der EXE selbst ist, hänge ich es mal hier an.

MfG. Alex

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 14:56
von kiss_me
FireBird hat geschrieben:Ich habe aus Urzeiten (File-Datum 1991) ein Commandline-Tool namens filt, das [...] kappt alle trailing spaces.


Ich wollte eigentlich die Anzahl der beteiligten Tools und Files reduzieren, indem ich die X.ini aus meinem Script heraus erzeuge. Auf ein zusätzliches Tool würde ich daher gerne verzichten.

Danke aber für die Idee mit dem "pipen" des outputs, ich wusste gar nicht, dass das auch in DOS batch geht. Ich habe gerade mal versucht

Code: Alles auswählen

echo # Project-X INI                                 | sed -e "s/ *$//" > X.ini
echo # ProjectX 0.90.4.00 / 30.03.2006               | sed -e "s/ *$//" >> X.ini
aber leider werden dabei Linux-mäßige Zeilenumbrüche erzeugt. Ist sed überhaupt ein natives DOS batch Kommando, oder habe ich mir das mit Cygwin "eingeschleppt" ?

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 15:05
von FireBird
sed ist genauso pöse wie filt. :wink:

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 16:16
von kiss_me
Geschafft! In dieser Version wird die X.ini im Script erzeugt

(DOS batch ist schon eine kranke shell ...)

Code: Alles auswählen

:avi2rec.bat V1.1 by kiss_me

set ffmpeg="C:\Dokumente und Einstellungen\.......\FFmpeg-svn-15666\ffmpeg.exe"
set proj_x="C:\Dokumente und Einstellungen\.......\ProjectX_Source_0.90.4\ProjectX.jar"

set resolution=720x576
set frame_rate=25
set aspect_rat=16:9
set audio_samp=48000
set audio_rate=192000
set video_rate=4000000

echo\# Project-X INI> X.ini
echo\# ProjectX 0.90.4.00 / 30.03.2006>> X.ini
echo\>> X.ini
echo\# Application>> X.ini
echo\Application.Agreement=1|FIND/V "CantFindThis">> X.ini
echo\Application.Language=en|FIND/V "CantFindThis">> X.ini
echo\>> X.ini
echo\# CollectionPanel>> X.ini
echo\CollectionPanel.CutMode=0|FIND/V "CantFindThis">> X.ini
echo\>> X.ini
echo\# MainPanel>> X.ini
echo\MainPanel.ConversionMode=4|FIND/V "CantFindThis">> X.ini
echo\>> X.ini
echo\# SpecialPanel>> X.ini
echo\SpecialPanel.Input.concatenateForeignRecords=1|FIND/V "CantFindThis">> X.ini
echo\SpecialPanel.TS.HeaderMode=2|FIND/V "CantFindThis">> X.ini

for %%a in (*.avi) do (
  :set current_dir=%~dp0
  :set name=%%~na
  :set ext=%%~xa
  if exist "%%~na.mpg.in_progress" (
    rm "%%~na.mpg"
    rm "%%~na.mpg.in_progress"
  )
  if not exist "%%~na.mpg" (
    touch "%%~na.mpg.in_progress"
    %ffmpeg% -i "%%a" -s %resolution% -r %frame_rate% -vcodec mpeg2video -acodec mp2 -ab %audio_rate% -ar %audio_samp% -b %video_rate% -aspect %aspect_rat% "%%~na.mpg"
    rm "%%~na.mpg.in_progress"
  )
)

for %%a in (*.mpg) do (
  if exist "%%~na.rec.in_progress" (
    rm "%%~na.rec"
    rm "%%~na.rec.in_progress"
  )
  if not exist "%%~na.rec" (
    touch "%%~na.rec.in_progress"
    java -jar %proj_x% -tots -out %~dp0 "%%~fa"
    rm "%%~na.rec.in_progress"
    rm "%%~na_log.txt"
  )
)

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 16:27
von FireBird
(DOS batch ist schon eine kranke shell ...)
Klar, denn das
sed -e "s/ *$//"
kann ja jedes Kind übersetzen. :wink:


Ich verstehe nicht, wieso Du bei der Batch-Erzeugung überhaupt so kompliziert vorgehst. Ich würde
  • die original X.ini in eine X.ini.backup wegsichern, damit die User-Settings nicht verloren gehen
  • eine X.ini.template mit kiss_me-Inhalt über die X.ini kopieren
  • zum Schluss wieder die .backup zurückkopieren

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 16:32
von kiss_me
[quote="FireBird"]Ich verstehe nicht, wieso Du bei der Batch-Erzeugung überhaupt so kompliziert vorgehst.[/quote]

Ich hielt es für anwendungsfreundlicher, wenn nur eine Datei (avi2rec.bat) in das Verzeichnis mit den avi's kopiert werden muss. Aber natürlich kann jeder seinen Weg gehen.

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 16:36
von kiss_me
FireBird hat geschrieben:Ich würde
  • die original X.ini in eine X.ini.backup wegsichern, damit die User-Settings nicht verloren gehen
  • eine X.ini.template mit kiss_me-Inhalt über die X.ini kopieren
  • zum Schluss wieder die .backup zurückkopieren


Das Zurückkopieren ist übrigens nicht nötig, da ich eine lokale X.ini benutze und nicht die X.ini im ProjectX-Verzeichnis manipuliere.

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 16:50
von jkIT
Wieso muss die ini für ProjectX überhaupt aus dem Batch geschrieben werden? Man kann doch ProjectX auch mit einer beliebigen ini starten:

Code: Alles auswählen

javaw.exe -jar projectx.jar -ini "C:\......\mypersonal.ini" ...

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 17:41
von dvb.matt
kleine Anm:
die Leerzeilen und non-Options mit "# ..." können in der ini weggelassen werden.

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 6. Dez 2008, 18:53
von kiss_me
[quote="jkIT"]Wieso muss die ini für ProjectX überhaupt aus dem Batch geschrieben werden? Man kann doch ProjectX auch mit einer beliebigen ini starten[/quote]

Natürlich kann jeder ProjectX starten, seine persönlichen Einstellungen per Hand machen und dann auf die so entstandene X.ini verweisen. Ich dachte, ich tue dem bequemlichen Anwender einen Gefallen, indem ich eine passende X.ini erzeuge und er sich um nichts derartiges kümmern muss.

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: So 7. Dez 2008, 17:50
von kiss_me
Passend zum Konvertierungstool könnte man natürlich auch die rec-Files aus dem gesamten Verzeichnis auf den Toppi übertragen (hier über den Silex unter Verwendung von TFcopy):

Code: Alles auswählen

set silex="C:\Programme\silex technology\SX Virtual Link\Connect.exe"
set tfcopy="C:\Dokumente und Einstellungen\....\TF_copy\tfcopy.exe"
set tfdll="C:\Programme\Topfield Windows Applications\Altair\TfDll.dll"

start "" %silex%
sleep 2
cp %tfdll% %~dp0

for %%a in (*.rec) do (
  %tfcopy% "%%a" "#:\DataFiles\"
)
Ich have aber noch keine Idee, wie man (nach einem Abbruch) überprüfen kann, welche Dateien schon vollständig kopiert wurden ...

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 13. Dez 2008, 21:08
von bemniz
huhu

ich weis zwar nicht was ich falsch mache, aber ....

start xyz.avi (ca. 2M) ziel xyz.avi (ca.20M)



LG Bemniz

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Di 16. Dez 2008, 21:27
von kiss_me
Willkommen im Forum!
Wenn Du etwas konkreter wirst, kann ich Dir vielleicht helfen.
Hast Du mein Script aus post #5 genommen, die 2 Pfade angepasst (erste 2 Zeilen mit "set..."), ffmpeg und ProjectX installiert in einer halbwegs passenden Version (meine Version steht in diesen 2 Zeilen als Teil des Pfades), und diese Programme vorher mal angetestet ?
Wird Deine 2M-avi durch eine 20M-avi ersetzt ?

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Mi 17. Dez 2008, 18:19
von bemniz
hallo

hier das ergebnis der bat


C:\Test>set ffmpeg="C:\Programme\FFP\ffmpeg\ffmpeg.exe"

C:\Test>set proj_x="C:\Programme\ProjectX\ProjectX.jar"

C:\Test>set resolution=720x576

C:\Test>set frame_rate=25

C:\Test>set aspect_rat=16:9

C:\Test>set audio_samp=48000

C:\Test>set audio_rate=192000

C:\Test>set video_rate=4000000

C:\Test>echo\# Project-X INI 1>X.ini

C:\Test>echo\# ProjectX 0.90.4.00 / 30.03.2006 1>>X.ini

C:\Test>echo\1>>X.ini

C:\Test>echo\# Application 1>>X.ini

C:\Test>echo\Application.Agreement=1 | FIND/V "CantFindThis" 1>>X.ini

C:\Test>echo\Application.Language=en | FIND/V "CantFindThis" 1>>X.ini

C:\Test>echo\1>>X.ini

C:\Test>echo\# CollectionPanel 1>>X.ini

C:\Test>echo\CollectionPanel.CutMode=0 | FIND/V "CantFindThis" 1>>X.ini

C:\Test>echo\1>>X.ini

C:\Test>echo\# MainPanel 1>>X.ini

C:\Test>echo\MainPanel.ConversionMode=4 | FIND/V "CantFindThis" 1>>X.ini

C:\Test>echo\1>>X.ini

C:\Test>echo\# SpecialPanel 1>>X.ini

C:\Test>echo\SpecialPanel.Input.concatenateForeignRecords=1 | FIND/V "CantFindT
his" 1>>X.ini

C:\Test>echo\SpecialPanel.TS.HeaderMode=2 | FIND/V "CantFindThis" 1>>X.ini

C:\Test>for %a in (*.avi) do (

if exist "%~na.mpg.in_progress" (
rm "%~na.mpg"
rm "%~na.mpg.in_progress"
)
if not exist "%~na.mpg" (
touch "%~na.mpg.in_progress"
"C:\Programme\FFP\ffmpeg\ffmpeg.exe" -i "%a" -s 720x576 -r 25 -vcodec mpeg2vide
o -acodec mp2 -ab 192000 -ar 48000 -b 4000000 -aspect 16:9 "%~na.mpg"
rm "%~na.mpg.in_progress"
)
)

C:\Test>(

if exist "Ausschnitt.mpg.in_progress" (
rm "Ausschnitt.mpg"
rm "Ausschnitt.mpg.in_progress"
)
if not exist "Ausschnitt.mpg" (
touch "Ausschnitt.mpg.in_progress"
"C:\Programme\FFP\ffmpeg\ffmpeg.exe" -i "Ausschnitt.avi" -s 720x576 -r 25 -vcod
ec mpeg2video -acodec mp2 -ab 192000 -ar 48000 -b 4000000 -aspect 16:9 "Ausschni
tt.mpg"
rm "Ausschnitt.mpg.in_progress"
)
)
Der Befehl "touch" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
FFmpeg version SVN-r9494, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --
enable-liba52 --enable-avisynth --enable-libamr-nb --enable-libamr-wb --enable-l
ibfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --en
able-libogg --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx
vid --cpu=i686 --enable-memalign-hack --extra-ldflags=-static
libavutil version: 49.4.1
libavcodec version: 51.40.4
libavformat version: 51.12.1
built on Jul 6 2007 14:54:47, gcc: 4.2.0
Input #0, avi, from 'Ausschnitt.avi':
Duration: 00:00:40.0, start: 0.000000, bitrate: 433 kb/s
Stream #0.0: Video: msmpeg4, yuv420p, 320x240, 30.00 fps(r)
Stream #0.1: Audio: mp3, 11025 Hz, mono, 15 kb/s
Output #0, mpeg, to 'Ausschnitt.mpg':
Stream #0.0: Video: mpeg2video, yuv420p, 720x576, q=2-31, 4000 kb/s, 25.00 fps
(c)
Stream #0.1: Audio: mp2, 48000 Hz, mono, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
mdb:193, lastbuf:0 skipping granule 0
mdb:196, lastbuf:91 skipping granule 0
mdb:198, lastbuf:182 skipping granule 0
frame= 607 fps= 40 q=2.6 size= 12458kB time=24.0 bitrate=4248.1kbits/s


das hab ich in bearbeitung aufgenommen.
0.90.4.00 ist die projektX version.


ka ob das was hilft


ganz lieben dank schon mal an der stelle


Bemniz

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Sa 20. Dez 2008, 10:05
von kiss_me
Hallo Bemniz,

zumindest ffmpeg hat laut Deinem log file begonnen, das Richtige zu tun. Du könntest mal in einer DOS shell (Start-Ausführen-cmd) in Dein Arbeitsverzeichnis wechseln und avi2rec.exe eingeben (dann bleibt das Fenster nach einem Fehler offen) und die letzten 20 Zeilen posten.

Bitte sag mir aber erst mal genau, was Dein Problem ist. Wird bei Dir wirklich eine neue avi-Datei gleichen Namens erzeugt ? Oder wird eine .rec Datei erzeugt, und Deine Frage bezog sich nur auf die Größe, die natürlich stark zunimmt, da Dein Ausgangsmaterial wie ich sehe nur 433 kb/s hat:

[quote="bemniz"]start xyz.avi (ca. 2M) ziel xyz.avi (ca.20M)[/quote]

Einen Fehler habe ich in Deinem log gesehen:

[quote="bemniz"]Der Befehl "touch" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.[/quote]


Das ist erstmal unkritisch, führt aber dazu, dass eine Fortsetzung nach einem Abbruch nicht erkennen kann, welche Files in Bearbeitung waren. Ich werde "touch myfile" mal durch "type nul > myfile" ersetzen. Touch scheint nicht built-in zu sein.

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Di 30. Dez 2008, 14:08
von bemniz
huhu

frisch zurück aus dem urlaub :)

und genau. ich erhalte folgendes

und siehe anhang

LG Bemniz





C:\Test>avi2rec

C:\Test>set ffmpeg="C:\Programme\FFP\ffmpeg\ffmpeg.exe"

C:\Test>set proj_x="C:\Programme\ProjectX\ProjectX.jar"

C:\Test>set resolution=720x576

C:\Test>set frame_rate=25

C:\Test>set aspect_rat=16:9

C:\Test>set audio_samp=48000

C:\Test>set audio_rate=192000

C:\Test>set video_rate=4000000

C:\Test>echo\# Project-X INI 1>X.ini

C:\Test>echo\# ProjectX 0.90.4.00 / 30.03.2006 1>>X.ini

C:\Test>echo\1>>X.ini

C:\Test>echo\# Application 1>>X.ini

C:\Test>echo\Application.Agreement=1 | FIND/V "CantFindThis" 1>>X.ini

C:\Test>echo\Application.Language=en | FIND/V "CantFindThis" 1>>X.ini

C:\Test>echo\1>>X.ini

C:\Test>echo\# CollectionPanel 1>>X.ini

C:\Test>echo\CollectionPanel.CutMode=0 | FIND/V "CantFindThis" 1>>X.ini

C:\Test>echo\1>>X.ini

C:\Test>echo\# MainPanel 1>>X.ini

C:\Test>echo\MainPanel.ConversionMode=4 | FIND/V "CantFindThis" 1>>X.ini

C:\Test>echo\1>>X.ini

C:\Test>echo\# SpecialPanel 1>>X.ini

C:\Test>echo\SpecialPanel.Input.concatenateForeignRecords=1 | FIND/V "CantFindT
his" 1>>X.ini

C:\Test>echo\SpecialPanel.TS.HeaderMode=2 | FIND/V "CantFindThis" 1>>X.ini

C:\Test>for %a in (*.avi) do (

if exist "%~na.mpg.in_progress" (
rm "%~na.mpg"
rm "%~na.mpg.in_progress"
)
if not exist "%~na.mpg" (
touch "%~na.mpg.in_progress"
"C:\Programme\FFP\ffmpeg\ffmpeg.exe" -i "%a" -s 720x576 -r 25 -vcodec mpeg2vide
o -acodec mp2 -ab 192000 -ar 48000 -b 4000000 -aspect 16:9 "%~na.mpg"
rm "%~na.mpg.in_progress"
)
)

C:\Test>(

if exist "Ausschnitt.mpg.in_progress" (
rm "Ausschnitt.mpg"
rm "Ausschnitt.mpg.in_progress"
)
if not exist "Ausschnitt.mpg" (
touch "Ausschnitt.mpg.in_progress"
"C:\Programme\FFP\ffmpeg\ffmpeg.exe" -i "Ausschnitt.avi" -s 720x576 -r 25 -vcod
ec mpeg2video -acodec mp2 -ab 192000 -ar 48000 -b 4000000 -aspect 16:9 "Ausschni
tt.mpg"
rm "Ausschnitt.mpg.in_progress"
)
)
Der Befehl "touch" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
FFmpeg version SVN-r9494, Copyright (c) 2000-2007 Fabrice Bellard, et al.
configuration: --enable-gpl --enable-pp --enable-swscaler --enable-pthreads --
enable-liba52 --enable-avisynth --enable-libamr-nb --enable-libamr-wb --enable-l
ibfaac --enable-libfaad --enable-libgsm --enable-libmp3lame --enable-libnut --en
able-libogg --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libx
vid --cpu=i686 --enable-memalign-hack --extra-ldflags=-static
libavutil version: 49.4.1
libavcodec version: 51.40.4
libavformat version: 51.12.1
built on Jul 6 2007 14:54:47, gcc: 4.2.0
Input #0, avi, from 'Ausschnitt.avi':
Duration: 00:00:40.0, start: 0.000000, bitrate: 433 kb/s
Stream #0.0: Video: msmpeg4, yuv420p, 320x240, 30.00 fps(r)
Stream #0.1: Audio: mp3, 11025 Hz, mono, 15 kb/s
Output #0, mpeg, to 'Ausschnitt.mpg':
Stream #0.0: Video: mpeg2video, yuv420p, 720x576, q=2-31, 4000 kb/s, 25.00 fps
(c)
Stream #0.1: Audio: mp2, 48000 Hz, mono, 192 kb/s
Stream mapping:
Stream #0.0 -> #0.0
Stream #0.1 -> #0.1
Press [q] to stop encoding
mdb:193, lastbuf:0 skipping granule 0
mdb:196, lastbuf:91 skipping granule 0
mdb:198, lastbuf:182 skipping granule 0
frame= 1001 fps= 30 q=2.0 Lsize= 20616kB time=39.8 bitrate=4239.1kbits/s
video:19583kB audio:934kB global headers:0kB muxing overhead 0.482426%
Der Befehl "rm" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

C:\Test>for %a in (*.mpg) do (
if exist "%~na.rec.in_progress" (
rm "%~na.rec"
rm "%~na.rec.in_progress"
)
if not exist "%~na.rec" (
touch "%~na.rec.in_progress"
java -jar "C:\Programme\ProjectX\ProjectX.jar" -tots -out C:\Test\ "%~fa"
rm "%~na.rec.in_progress"
rm "%~na_log.txt"
)
)

C:\Test>(
if exist "Ausschnitt.rec.in_progress" (
rm "Ausschnitt.rec"
rm "Ausschnitt.rec.in_progress"
)
if not exist "Ausschnitt.rec" (
touch "Ausschnitt.rec.in_progress"
java -jar "C:\Programme\ProjectX\ProjectX.jar" -tots -out C:\Test\ "C:\Test\Aus
schnitt.mpg"
rm "Ausschnitt.rec.in_progress"
rm "Ausschnitt_log.txt"
)
)
Der Befehl "touch" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Unable to access jarfile C:\Programme\ProjectX\ProjectX.jar
Der Befehl "rm" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Der Befehl "rm" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.

AW: avi in rec umwandeln per batch-Script: avi2rec.bat

Verfasst: Mi 31. Dez 2008, 17:53
von kiss_me
Hallo,

[quote="bemniz"]Unable to access jarfile C:\Programme\ProjectX\ProjectX.jar[/quote]

sagt mir, dass Du mal auf die Suche nach der ProjectX.jar gehen und den Pfad oben im Script korrigieren solltest, und

[quote="bemniz"]Der Befehl "rm" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.[/quote]


sagt mir, dass ich "rm" durch "del" ersetzen sollte (bei mir hat's funktioniert, vermutlich weil ich Cygwin installiert habe, das eine gewisse Linux-Kompatibilität in die DOS-Shell zu bringen scheint).