Script erstellen

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Buerste
Beiträge: 105
Registriert: 11.06.2015 13:30:51

Script erstellen

Beitrag von Buerste » 30.01.2016 19:19:19

Hallo an alle scripter (nennt man euch/die so?)...
Ich habe von script erstellen leider keine Ahnung und deswegen wollte ich mich mal an euch wenden.
Ich möchte gerne *.ts Dateien zusammen führen, was ich bis jetzt immer im terminal gemacht habe.
Wenn möglich (und mit nicht zuviel Aufwand)i hätte ich aber gerne ein script wo ich beim starten nach der Quelle und Ziel gefragt werde und dies komfortabel eintippen kann.

So ein script wie ich es gerne hätte gibt es für mp3 Dateien und sieht folgendermassen aus:
http://www.heypasteit.com/clip/2FFD

Der befehl für das zusammenführen lautet:
ffmpeg -i "concat:1.ts|2.ts|3.ts" -c copy output.mpg
Wenn es nicht zuviel Mühe macht würde ich mich sehr freuen wenn mir jemand unter die Arme greifen könnte. :hail:

In diesem Sinne

Bürste

uname
Beiträge: 12399
Registriert: 03.06.2008 09:33:02

Re: Script erstellen

Beitrag von uname » 30.01.2016 20:05:16

Leider weiß ich nicht ob deine ffmpeg-Syntax überhaupt korrekt ist. Aber davon gehe ich mal aus.

Aufruf und Ergebnis

Code: Alles auswählen

./test.sh 1.ts 2.ts 3.ts output.mpg
ffmpeg -i "concat:1.ts|2.ts|3.ts" -c copy output.mpg
Das Script nimmt die Parameter bis auf den letzten Parameter für die Eingabe und den letzten Parameter als Ausgabe. Am Ende wird der Befehl als Text ausgegben (echo). Erst wenn du die letzte Zeile (#) aukommentierst wird der erzeugte Befehl ausgeführt. Ich denke das Script ist nicht optimal, da ich mich mit Shellprogrammierung nicht auskenne. Vor allem bei Sonderzeichen bzw. Leerzeichen in Dateinamen wird es wohl Probleme geben.

Code: Alles auswählen

#!/bin/bash
c='ffmpeg -i "concat:'
while [ $# -gt 2 ] 
do                   
  c=$c$1"|"
  shift                  
done

c=$c$1'" -c copy'
shift
c=$c" "$1
echo $c
#  $($c)
Komisch, dass du Debianffmpeg nutzt. In Jessie war es übergangsweise avconv (Debianlibav-tools).

http://www.linux-magazin.de/NEWS/Debian ... -zu-FFmpeg

Antworten