Austrian Linux Forum

Batch encoder für transcode und mplex

Kategorien: Linux Software
3 Antworten
theEdge
theEdge am Freitag, 5. November 2004 um 03:45
Im Zuge meiner Suche nach einem geeigneten Programm um DivX/Xvid in MPEG zu konvertieren, bin ich nun bei transcode und mplex hängen geblieben. Um nun eine große Anzahl von File nacheinander abzuarbeiten, hab ich ein kleines C-Programm geschrieben, welches die Files von einer Datei einliest. Ich hab ohnehin wieder C-Übung gebraucht, daher ist der Code auch absolut nicht sauber und anthält garantiert hunderte Exploits :P Aber wen kümmerts ;) Das Programm ist derzeit auf meine Input-Dateien optimiert, dass heisst, dass es DVDs mit 720x576 bei 44,1kHz und mp2 ausgibt. Dabei wird das Bild gedreht (-z) und blau/rot invertiert... [code] /*************************************************************************** * batch-convert.c - description * ------------------- * begin : So Okt 24 10:30:26 CEST 2004 * author : Bernhard Kastner * email : bkastner at liwest dot at * about : This program uses transcode, to convert a list of videos in argv[1] * to DVD-Format. Edit the transcode-line for your own purposes. Be sure you * enter valid transcode-parameters! * After transcoding, it uses mplex to multiplec the audio and video source * generated by transcode * Tested with transcode 1.6.2 and mplex 0.6.12 * Hint: the listfile is easily made with "ls > listfile". Remove the entry for * listfile and you're done * ***************************************************************************/ /*************************************************************************** * * * * * This program is free software; you can redistribute it and/or modify * * * it under the terms of the GNU General Public License as published by * * * the Free Software Foundation; either version 2 of the License, or * * * (at your option) any later version. * * * * * ***************************************************************************/ #include #include #include int main(int argc, char* argv[]) { FILE *list = NULL; char command[255] = { 0 }; char sline[255] = { 0 }; if (argc != 2) { printf("[batch-convert]***error: Usage: %s ListFile\n",argv[0]); printf("[batch-convert]***error: ------\n"); printf("[batch-convert]***error: ListFile has one Inputfile per Line\n"); return EXIT_FAILURE; } list = fopen(argv[1],"r"); if (list != NULL) { while (!feof(list)) { fgets(sline,255,list); sline[strlen(sline)-1] = NULL; printf("[batch-convert]=======================\n"); printf("[batch-convert]Current file: %s\n",sline); printf("[batch-convert]-----------------------\n"); printf("[batch-convert]***info: Doing Video/Audio conversion..."); strcat(command,"transcode -i \""); strcat(command,sline); strcat(command,"\" -z -y mpeg2enc,mp2enc -E 44100 -F8,-M3 -w 9000 -b 128 -Z 720x576 -j 18 -k -o \""); strcat(command,sline); strcat(command,"_temp\""); system(command); command[0] = NULL; printf(" done\n"); printf("[batch-convert]***info: Doing Video/Audio multiplexing..."); strcat(command,"mplex -f 8 -o \""); strcat(command,sline); strcat(command,".mpg\" \""); strcat(command,sline); strcat(command,"_temp.m2v\" \""); strcat(command,sline); strcat(command,"_temp.mpa\""); system(command); command[0] = NULL; printf(" done\n"); printf("[batch-convert]***info: Deleting temporary files..."); strcat(command,"rm "); strcat(command,sline); strcat(command,"_temp.*"); system(command); command[0] = NULL; printf(" done\n"); printf("[batch-convert]***info: %s has been completed!\n\n",sline); } } else { printf("[batch-convert]***error: Failed to open file\n"); return EXIT_FAILURE; } printf("[batch-convert]***info: The process has been completed!\n"); return EXIT_SUCCESS; } [/code] [code]$ vi batch-convert.c [ einfügen ] ESC :wq $ gcc batch-convert.c -o batch-convert[/code]

Kommentare

Pechosko
Pechosko am Samstag, 30. Oktober 2004 um 22:02

hört sich gut an, nur verwende ich so Umkodiersachen nicht.
Veröffentlich da Ganze auf anderen Portalen, da wird das Feedback sicher größer sein.

theEdge
theEdge am Sonntag, 31. Oktober 2004 um 08:46

ich bin auf keinen anderen portalen ;)

hab auch nicht vor mich auf anderen portalen rumzutreiben. nebenbei 6 newsgroups zu lesen beansprucht schon zu viel zeit ^^

shevegen
shevegen am Freitag, 5. November 2004 um 03:45

nana das passt schon
bin noch immer mit dem video bearbeiten in hybrid - windows - linux nutzung

und je mehr optionen da offen stehen
umso besser