R
rabadag
Mitglied
Hallo Forum..
hab mal wider ein kleines prob wo ich nicht so recht weis, wie ich das anstellen muss.
Volgendes versuche ich zu realisieren.
mittels eines tools lese ich die Streams eines MKV Fils aus. die ausgabe siht so aus.
Diese Liste kann aber auch anders aussehen und hat z.b nur ein audio Stream.
nun möchte ich mittels einer If schleicfe die ausgabe auswerten.
Das Funktioniert soweit auch ganz gut. nur dumm ist, das der TsMuxer ein meta File benötige wo die Streams drin stehen.
z.b
Den Pfad in das metafile einzutragen ist nicht das prob, sondern die anderen Informationen die benötig werden richtig zu setzen.
track=? lang=?
Es kommt auch for, das es nur einen oder merere streams in einem file hat.
Ich dachte mit ich schreibe jede zeile einzeln in das file, wenn bestimmte Kriterien passen.
Aber wie kann ich aus der Ausgabe die einzelnen Tracks von der liste trennen und Track ID; Stream lang: Stream ID: auswerten und dementsprechend das meta File schreiben.
hab mal wider ein kleines prob wo ich nicht so recht weis, wie ich das anstellen muss.
Volgendes versuche ich zu realisieren.
mittels eines tools lese ich die Streams eines MKV Fils aus. die ausgabe siht so aus.
Code:
SmartLabs tsMuxeR. Version 1.7.3(b) http://www.smlabs.net
Track ID: 1
Stream type: H.264
Stream ID: V_MPEG4/ISO/AVC
Stream info: Profile: High@5.1 Resolution: 1280:544p Frame rate: 23.976
Stream lang: ger
Track ID: 2
Stream type: AC3
Stream ID: A_AC3
Stream info: Bitrate: 224Kbps Sample Rate: 48KHz Channels: 2
Stream lang: ger
Track ID: 3
Stream type: AC3
Stream ID: A_AC3
Stream info: Bitrate: 640Kbps Sample Rate: 48KHz Channels: 6
Stream lang: eng
Diese Liste kann aber auch anders aussehen und hat z.b nur ein audio Stream.
nun möchte ich mittels einer If schleicfe die ausgabe auswerten.
Code:
for i in `find $1 -name '*.rar'`
do
DIRPATH=`dirname "$i"`
VNAME=`basename $DIRPATH`
FNAME=`basename $i`
if [[ "$FNAME" == *.mkv ]] ; then
MKV=`find $DIRPATH -name '*.mkv'`
MKVFILES=`basename $MKV`
TESTMKV=`/usr/bin/mkvinfo $MKV | grep 'Codec ID' | grep DTS`
if [[ "$TESTMKV" == *A_DTS ]] ; then
MKVDTS="1"
TSMUX="0"
else
TSMUX="1"
MKVDTS="0"
fi
fi
done
Das Funktioniert soweit auch ganz gut. nur dumm ist, das der TsMuxer ein meta File benötige wo die Streams drin stehen.
z.b
Code:
V_MPEG4/ISO/AVC, ./pfad-zum-file.mkv, insertSEI, contSPS, track=1, lang=ger
A_DTS, ./pfad-zum-file.mkv, track=2, lang=ger
A_AC3, ../pfad-zum-file.mkv, track=4, lang=ger
Den Pfad in das metafile einzutragen ist nicht das prob, sondern die anderen Informationen die benötig werden richtig zu setzen.
track=? lang=?
Es kommt auch for, das es nur einen oder merere streams in einem file hat.
Ich dachte mit ich schreibe jede zeile einzeln in das file, wenn bestimmte Kriterien passen.
Aber wie kann ich aus der Ausgabe die einzelnen Tracks von der liste trennen und Track ID; Stream lang: Stream ID: auswerten und dementsprechend das meta File schreiben.