Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MediaDat - Infos einholen für Film-Montage oder auch eigenständig zu nutzen

Anleitung Multimedia Video & Streaming

Mitglied: max5moritz

max5moritz (Level 1) - Jetzt verbinden

27.01.2013, aktualisiert 29.01.2013, 3587 Aufrufe, 2 Danke

Ich habe disen Skript entwickelt, um mal schnell einen Blick unter die Haube einer Medien-Datei werfen zu können.
Die Infos sind ausdruckbar. Ansonsten liefert "MediaDat" die Infos als Variable zur Weiternutzung, bei z.B. in der "Film-Montage".

Wozu MediaDat?


Der Grund ist bereits erklärt, wer mehr wissen will - ausprobieren.

Es werden bis 100 Streams ausgewertet und der Reihe aufgelistet. Mit Hilfe von z.B. "Film-Montage" können diese dann umgrupppiert werden.
So startet dann der Film immer mit der Wunschsprache, was in der Regel der erste Audio-Stream ist.


Update

Ja, es gibt bereits ein Update. Eine Kleinigkeit - Ich habe einen Zeitstempel eingefügt. Dieser ist Teil der start-set.bat.
Version-Stand: 1.3 - Der Zeitstempel hatte fehlende "AnführungsZeichen" aufgezeigt. Das ist nun behoben.
Er soll verhindern, dass sich die Skripte - auf Mehrkern-Rechnern kann ffmpeg auch mehrfach laufen - sich gegenseitig die Infos überschreiben.
Die Version-Nr. erscheint kurz nach dem Start als Fenster-Titel. Den Zeit-Stempel findet Ihr unten.
Fehlt die start-set wird sie jetzt mit erstellt. Allein das Anpassen müßt Ihr schon noch selbst. 0


Der Skript


01.
@echo off&mode con cols=91 lines=9& color 3F&title %~n0 - Vers. 1.3 
02.
REM Die Variable %ffmpeg% = Pfad+Prog-Name ist in einer eigenen start-set.bat festzulegen. 
03.
set "info=echo   Process-Parameter aus einer Medien-Datei mittels "ffmpeg" ermitteln. Dazu entweder" 
04.
set "info=%info%&echo   eine Datei auf diesen Skript ziehen oder einen Skript-Link im sendTo-Ordner anlegen." 
05.
if %1n==n (echo.&%info%&echo.&ping -n 8 localhost 1>nul 2>nul) ELSE echo.&echo.&echo. 
06.
set "info=echo     Erst noch den Start-set-Skript ^(*.bat oder *.cmd^) anpassen." 
07.
echo               Entwurf und Layout by max5moritz & set "prgs=ffmpeg,mp4box" 
08.
:reStart 
09.
if %2n==n call start-set "progs" "stamp"&ping -n 2 localhost 1>nul 2>nul & call :pprob 
10.
if not exist "%~dp0start-set.*" (cls&echo.&echo.&echo.&%info%&ping -n 4 localhost 1>nul 2>nul & call :startSet 
11.
	) ELSE cls & set "info=Suche nach Infos von "%~n1"" 
12.
if not %1n==n (cls & echo.&echo.&echo.&echo  %info%&title %~n0 - %info%&ping -n 4 localhost 1>nul 2>nul) ELSE goto: eof 
13.
set "lin2=echo _________________________________________________________________________________________________________________________________" 
14.
set "lin5=echo ---------------------------------------------------------------------------------------------------------------------" 
15.
set "lin6=~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" 
16.
set "sv=%~1"&set outex=&set StreamExt=&set newName=&set Process=&set "error=none" 
17.
set StNr=0&set vidNr=0&set audNr=0&set subNr=0&set Len=0&set "ac3=none" 
18.
if %1n==n (goto ende) ELSE set "sv=%sv:~-3,3%" 
19.
if "%sv:~0,1%"=="." set "sv=%sv:~1,2%" 
20.
if not %2n==TSDn if not %2n==n (set "Zeit=%~2") ELSE setlocal enabledelayedexpansion 
21.
if "%lin3%"=="" (set "lin3=echo %lin6%"&pushd %~dp0) ELSE set "Info=%~3." 
22.
if  "%inex%"=="" (set "AnzDat=%tmp%\%stamp%MiD-1.txt") ELSE set "AnzDat=%InPar%" 
23.
if  "%inex%"=="" (set "LogDat=%tmp%\%stamp%MiD-2.txt") ELSE set "LogDat=%InDat%" 
24.
if exist %MiD-Info% set "AnzDat=%MiD-Info:~0,-4%_1.txt"& set "LogDat=%MiD-Info:~0,-4%_2.txt" 
25.
goto :Main 
26.
 
27.
:Analyse 
28.
if exist "%tmp%\%stamp%MiD-Anzg.tmp" del "%tmp%\%stamp%MiD-Anzg.tmp" 
29.
if "%vidNr%" equ "0" (set "Media=keinVideo") ELSE set "Media=Video mit %sv%" 
30.
if "%audNr%" equ "0" (set "Media=%media%, ohne Audio" &	set "zw=^,aber") ELSE set "Media=%media%, Audio"&set "zw= und" 
31.
if "%subNr%" equ "0" (set "Media=%media%, ohne Untertitel") ELSE set "Media=%media%%zw% und Untertitel" 
32.
title %~n0 - %info%&cls&set "info=echo  MediaDaten: %Media%"&set /A Lines=15+%StNr% 
33.
mode con cols=95 lines=%Lines%&color 1F 
34.
set aud=%aud%&@%info%>"%AnzDat%"&echo.&%info%&%lin3%~~~~~~~~~~~~~~&echo. 
35.
echo  Stream     Nr     Pid      Typ      Art       Qualit„t&%lin3%~~~~~~~~~~~~~~ 
36.
@echo.>>"%AnzDat%"&%lin3%%lin3:~5,25%>>"%AnzDat%"&if not "%Len%" equ "0" goto :Zahl 
37.
 
38.
:Anzeige 
39.
if "%Len%" equ "0" (echo  Stream-0: %Stream-0:~0,-9%&echo  Stream-0: %Stream-0:~0,-9%>>"%AnzDat%" &( 
40.
	echo  Stream-0: %Stream-0:~0,-9%>>"%tmp%\%stamp%MiD-Anzg.tmp" 
41.
	)) ELSE echo  Stream-%Len%: %Stream:~0,-9%&echo  Stream-%Len%: %Stream%>>"%AnzDat%" &( 
42.
	echo  Stream-%Len%: %Stream:~0,-9%>>"%tmp%\%stamp%MiD-Anzg.tmp" 
43.
44.
set /A Len=%Len%+1 
45.
if %Len% lss %StNr% (goto :Zahl) ELSE echo.&echo.&%lin3%~~~~~~~~~~~~~~&echo. 
46.
echo  error=!error!, vid=%vidNr%, aud=%audNr%, sub=%subNr%, Bild=%vi5% 
47.
echo  proid=%proid%, videx=%vi9%, audex=%au9% 
48.
echo  outex=%outex%, ac3=%ac3%, Transcode=%vi7:~7,6%, Dauer=%length%&echo. 
49.
if %2n==TSDn goto ende 
50.
if not %2n==n (ping -n 3 localhost 1>NUL 2>NUL 
51.
) ELSE start notepad "%LogDat%"&ping -n 4 localhost 1>NUL 2>NUL&del /q "%tmp%\%stamp%MiD*.*" & exit 
52.
goto :ende 
53.
 
54.
:Main 
55.
%ffmpeg% -i "%~1" 2>"%AnzDat%" 
56.
if %2n==n ping -n 2 localhost 1>NUL 2>NUL 
57.
:noneVideo 
58.
find /n /i "Video:" "%AnzDat%" 
59.
if errorlevel 1 set "Media=noneVideo" 
60.
findstr /c:"Video: none" "%AnzDat%" 
61.
if not errorlevel 1 set "Media=noneVideo" 
62.
if %2n==n color 1F&mode con cols=125 lines=15&echo  Medien-Info von:>"%LogDat%"&echo "%~1">>"%LogDat%"&%lin2% >>"%LogDat%" 
63.
echo =================================== Parameter ===========================================>> "%LogDat%" 
64.
FOR /f "delims=, tokens=1-3" %%i IN ('findstr /n "Duration" "%AnzDat%"') DO @( 
65.
	set "tc-1=%%i" & if /I "!tc-1:~5,8!"=="Duration" ( 
66.
		set "tc-1=!tc-1:~4,25!" &@echo tc1=!tc-1! >> "%LogDat%" 
67.
		) ELSE set "tc-1=!tc-1:~5,25!" &@echo tc1=!tc-1! >> "%LogDat%" 
68.
	set "tc-2=%%j" & echo tc2=!tc-2! >> "%LogDat%" 
69.
	set "tc-3=%%k" & echo tc3=!tc-3! >> "%LogDat%" 
70.
	set "length=h !tc-1:~11,8!"&@%lin5%>> "%LogDat%" 
71.
	if "!length:~2,2!"=="00" set "length=!length:~5,5! min" 
72.
	if "!length:~2,4!"=="00:0" set "length=!length:~6,4! min" 
73.
	if "!length:~2,1!"=="0" if not "!length:~3,1!"=="0" set "length=h !length:~3,7!" 
74.
75.
FOR /f "delims=, tokens=1-10" %%a IN ('findstr /n "Stream" "%AnzDat%"') DO @( 
76.
	set out=0&set audio1=0&set audio2=&set ffNr=&set parm=&set auparm= 
77.
	echo ~~~ Stream-!StNr! %lin6%>> "%LogDat%" 
78.
	set "cc-1=%%a" & if /I "!cc-1:~7,6!"=="Stream" ( 
79.
		set "cc-1=!cc-1:~6,75!"&@echo cc1=!cc-1! >> "%LogDat%" 
80.
		) ELSE set "cc-1=!cc-1:~7,75!"&@echo cc1=!cc-1! >> "%LogDat%" 
81.
	set "cc-2=%%b"&if not !cc-2!n==n echo cc2=!cc-2! >> "%LogDat%" 
82.
	set "cc-3=%%c"&if not !cc-3!n==n echo cc3=!cc-3! >> "%LogDat%" 
83.
	set "cc-4=%%d"&if not !cc-4!n==n echo cc4=!cc-4! >> "%LogDat%" 
84.
	set "cc-5=%%e"&if not !cc-5!n==n echo cc5=!cc-5! >> "%LogDat%" 
85.
	set "cc-6=%%f"&if not !cc-6!n==n echo cc6=!cc-6! >> "%LogDat%" 
86.
	set "cc-7=%%g"&if not !cc-7!n==n echo cc7=!cc-7! >> "%LogDat%" 
87.
	set "cc-8=%%h"&if not !cc-8!n==n echo cc8=!cc-8! >> "%LogDat%" 
88.
	set "cc-9=%%i"&if not !cc-9!n==n echo cc9=!cc-9! >> "%LogDat%" 
89.
	@echo ----------------------->> "%LogDat%" 
90.
	cls&echo.&echo.&if !StNr! gtr 9 (Echo  Stream    =!cc-1:~7,93!) ELSE Echo  Stream   =!cc-1:~7,93! 
91.
	For /f "delims=: tokens=1-6" %%i IN ("!cc-1!") DO @( 
92.
		set "sc-1=%%i"&if not !sc-1!n==n echo sc1=!sc-1! >> "%LogDat%" 
93.
		set "sc-2=%%j"&if not !sc-2!n==n echo sc2=!sc-2! >> "%LogDat%" 
94.
		set "sc-3=%%k"&if not !sc-3!n==n echo sc3=!sc-3! >> "%LogDat%" 
95.
		set "sc-4=%%l"&if not !sc-4!n==n echo sc4=!sc-4! >> "%LogDat%" 
96.
		set "sc-5=%%m"&if not !sc-5!n==n echo sc5=!sc-5! >> "%LogDat%" 
97.
		set "sc-6=%%n"&if not !sc-6!n==n echo sc6=!sc-6! >> "%LogDat%" 
98.
		:Video 
99.
		if "!sc-3:~1,5!"=="Video" ( 
100.
			if "!sc-2:~0,1!" equ "!StNr!" set "vi1=!sc-2:~0,1!:0" 
101.
			if "!sc-2:~0,2!" equ "!StNr!" set "vi1=!sc-2:~0,2!:0" 
102.
				set "vi2=!cc-1:~12,6!"&( 
103.
				if "!cc-1:~18,1!"=="]" set "vi2=!cc-1:~12,7!" 
104.
				if "!cc-1:~19,1!"=="]" set "vi2=!cc-1:~12,8!" 
105.
				if "!vi2:~-1,1!"==":" set "vi2=[!vi2:~1,-2!]" 
106.
107.
			set "vi3=!sc-3:~1,5!"  
108.
			set "vi4=!sc-4:~1,5!" &if /I "!sc-4:~1,4!"=="h264" set "vi4=!sc-4:~1,4!" 
109.
			For /f "delims=[] tokens=1,2" %%a IN ("!cc-3!") DO @set "cc-3A=%%a"& set "vi10=%%b" 
110.
			set "vi5=!cc-3A:~1,-1!" 
111.
112.
		:Audio 
113.
		if "!sc-3:~1,5!"=="Audio" ( 
114.
		if "!sc-2:~0,1!" equ "!StNr!" set "au1=!sc-2:~0,1!:0" 
115.
		if "!sc-2:~0,2!" equ "!StNr!" set "au1=!sc-2:~0,2!:0" 
116.
			set "au2=!cc-1:~12,6!"&( 
117.
				if "!cc-1:~18,1!"=="]" set "au2=!cc-1:~12,7!" 
118.
				if "!cc-1:~19,1!"=="]" set "au2=!cc-1:~12,8!" 
119.
				if "!au2:~-1,1!"==":" set "au2=[!au2:~1,-2!]" 
120.
121.
			set "au3=!sc-3:~1,5!" 
122.
			set "au4=!sc-4:~1,3!" 
123.
			set "au5=!cc-3:~1,6!" 
124.
			set "au6=!cc-5:~1,8!" 
125.
126.
		:Subtitle 
127.
		if "!sc-3:~1,5!"=="Subti" ( 
128.
		if "!sc-2:~0,1!" equ "!StNr!" set "su1=!sc-2:~0,1!:0" 
129.
		if "!sc-2:~0,2!" equ "!StNr!" set "su1=!sc-2:~0,2!:0" 
130.
			set "su2=!cc-1:~12,6!"&( 
131.
				if "!cc-1:~18,1!"=="]" set "su2=!cc-1:~12,7!" 
132.
				if "!cc-1:~19,1!"=="]" set "su2=!cc-1:~12,8!" 
133.
				if "!su2:~-1,1!"==":" set "su2=[!su2:~1,-2!]" 
134.
135.
			set "su3=!sc-3:~1,8!"			 
136.
			set "su4=!sc-4:~1,3!" 
137.
138.
		:Unknown 
139.
		if "!sc-3:~1,5!"=="Unkno" ( 
140.
		if "!sc-2:~0,1!" equ "!StNr!" set "ub1=!sc-2:~0,1!:0" 
141.
		if "!sc-2:~0,2!" equ "!StNr!" set "ub1=!sc-2:~0,2!:0" 
142.
			set "ub2=!sc-2:~1,6!"&( 
143.
				if "!sc-2:~8,1!"=="]" set "ub2=!sc-2:~1,7!" 
144.
				if "!sc-2:~9,1!"=="]" set "ub2=!sc-2:~1,8!" 
145.
				if "!ub2:~-1,1!"==":" set "ub2=[!ub2:~1,-2!]" 
146.
147.
			set "ub3=!sc-3:~1,8!"			 
148.
			set "ub4=!sc-4:~1,30!" 
149.
150.
		if "Stream0"=="Stream!sc-2:~0,1!" set Stream0=!sc-3:~1,5! 
151.
		if "Stream0"=="Stream!sc-2:~0,2!" set Stream0=!sc-3:~1,5! 
152.
		if "!sc-3:~1,5!"=="Video"	call :videoset 
153.
		if "!sc-3:~1,5!"=="Audio"	call :audioset 
154.
		if "!sc-3:~1,5!"=="Subti"	call :subtitleset 
155.
		if "!sc-3:~1,5!"=="Unkno"	call :unknownset 
156.
		@%lin5%>> "%LogDat%" 
157.
		if "!sc-2:~1,17!"=="not enough frames" ( 
158.
			set "error=not enough frames" 
159.
			set /A StNr-=1 & set Len=0 
160.
		)) 
161.
	echo  Stream-!Ziffer! = !sc-3:~1,10! 
162.
	set /A StNr+=1 
163.
	if %2n==n ping -n 3 localhost 1>NUL 2>NUL 
164.
165.
:info 
166.
if "!vidNr!" equ "0" if "!audNr!" equ "0" ( 
167.
	if /I not "!sc-3:~1,7!"=="Unknown" goto :Fehler 
168.
	if "!error!"=="not enough frames" goto :Fehler 
169.
170.
if %2n==TSDn goto :info-ende 
171.
mode con cols=101 lines=24 
172.
cls&echo.&set "info= Parameter gefunden:" 
173.
title %~n0 - %info%&echo %Info%&echo %lin6%%lin6:~0,30% 
174.
echo (Stream)  : !vi1!			!au1!		!su1!		!ub1! 
175.
echo (PID)     : !vi2!		!au2!		!su2!		!ub2! 
176.
echo (Art)     : !vi3!		!au3!		!su3!		!ub3! 
177.
echo (Inhalt)  : !vi4!		!au4!		!su4!		!ub4! 
178.
echo (Format)  : !vi5!		!au5!			---		--- 
179.
echo (Qualit„t): !vi6!		!au6!			---		--- 
180.
echo (Process) : !vi7!		!au7!	!su7! 
181.
echo (Parm)    : !vi8!	!au8! 
182.
echo (Outex)   : !vi9!			!au9! 
183.
echo (SAR-DAR) : !vi10!		---		---		---	 
184.
if %2n==n ping -n 6 localhost 1>NUL 2>NUL 
185.
 
186.
:info-ende 
187.
type "%tmp%\%stamp%MiDnewSET.tmp">> "%LogDat%" 
188.
del "%tmp%\%stamp%MiDnewSET.tmp"&@!lin2!>> "%LogDat%" 
189.
goto :Analyse 
190.
 
191.
:Parm-Test 
192.
echo vi5=!vi5! 
193.
echo vi10=!vi10! 
194.
pause 
195.
For /f "delims=x tokens=1,2" %%a IN ("!cc-3!") DO @echo A=%%a, B=%%b 
196.
For /f "delims=[] tokens=1,2" %%a IN ("!cc-3!") DO @echo A=%%a, B=%%b 
197.
pause 
198.
goto :eof 
199.
 
200.
:videoSet 
201.
set /A vidNr+=1 
202.
findstr /n /i "wmv1" "%AnzDat%" 
203.
if not errorlevel 1 goto :video-mpeg2 
204.
FOR %%i IN (mpeg1 mpeg2 mpeg4 h264) DO if "!vi4!"=="%%i"  goto :video-%%i 
205.
goto :eof 
206.
:video-mpeg1 
207.
set /A vid+=1 
208.
set vi7=vid1%vidNr%%vid%;demux 
209.
set vi8=-vcodec copy 
210.
set vi9=mpeg 
211.
goto :videoEcho 
212.
:video-mpeg2 
213.
set /A vid+=1 
214.
set vi7=vid2%vidNr%%vid%;normal 
215.
set vi8=-vcodec copy 
216.
set vi9=mp4 
217.
goto :videoEcho 
218.
:video-mpeg4 
219.
set /A vid+=1 
220.
set vi7=vid4%vidNr%%vid%;normal 
221.
set vi8=-vcodec copy 
222.
set vi9=mp4 
223.
goto :videoEcho 
224.
:video-h264 
225.
set /A vid+=1 
226.
if /I "%inex%"==".ts" (set "vi7=demux") ELSE set "vi7=none" 
227.
set vi7=vid5%vidNr%%vid%;%vi7% 
228.
set vi8=-vcodec copy 
229.
set vi9=mp4 
230.
:videoEcho 
231.
set /a ziffer=!cc-1:~11,2!+0  2>nul 
232.
if "!cc-1:~11,2!" NEQ "!ziffer!" set "ziffer=!cc-1:~11,1!" 
233.
echo Stream-!ziffer!: "!vi1!", "!vi2!", "!vi3!", "!vi4!", "!vi5!", "!vi6!", "!vi7!", "!vi8!", "!vi9!", "!vi10!">>"%tmp%\%stamp%MiDnewSET.tmp" 
234.
echo !vi1!;!vi2!;!vi3!;!vi4!;!vi5!;!vi6!;!vi7!;!vi8!;!vi9!;!vi10!,Stream-!ziffer!  >"%tmp%\%stamp%MiD-Strm.tmp" 
235.
set "Stream-!ziffer!=!vi1!;!vi2!;!vi3!;!vi4!;!vi5!;!vi6!;!vi7!;!vi8!;!vi9!;!vi10!,Stream-!ziffer!" 
236.
goto :eof 
237.
 
238.
:audioSet 
239.
set /A audNr+=1&set /A ffNr+=1 
240.
:audio-suche 
241.
findstr /n /i "wma pcm" "%AnzDat%" 
242.
if not errorlevel 1 goto :audio-mp2 
243.
FOR %%i IN (mp2 mp3 aac ac3 dts) DO if "!au4!"=="%%i" goto :audio-%%i 
244.
goto :eof 
245.
:audio-mp2 
246.
set /A aud+=1 
247.
set "au7=aud2%audNr%%aud%;normal" 
248.
set "au8=-acodec libmp3lame -sameq" 
249.
set "au9=mp3" 
250.
goto :audioEcho 
251.
:audio-mp3 
252.
set /A aud+=1 
253.
set au7=aud3%audNr%%aud%;normal 
254.
set au8=-acodec copy 
255.
set au9=mp3 
256.
goto :audioEcho 
257.
:audio-aac 
258.
set /A aud+=1 
259.
set "au7=aud4%audNr%%aud%;demux" 
260.
set "au8=-acodec ac3 -sameq" 
261.
set "au9=ac3" 
262.
goto :audioEcho 
263.
:audio-ac3 
264.
set /A aud+=1 
265.
if /I "!au5!"=="Stereo" ( 
266.
	set au7=aud5%audNr%%aud%;demux 
267.
	set au8=-acodec copy 
268.
	set au9=ac3 
269.
270.
if /I not "!au5!"=="Stereo"	( 
271.
	set au7=aud6%audNr%%aud%;demux 
272.
	set au8=-acodec copy 
273.
	set au9=ac3 
274.
275.
goto :audioEcho 
276.
:audio-dts 
277.
set /A aud+=1 
278.
if /I "!au5!"=="Stereo" ( 
279.
	set au7=aud5%audNr%%aud%;demux 
280.
	set au8=-acodec copy 
281.
	set au9=dts 
282.
283.
if /I not "!au5!"=="Stereo"	( 
284.
	set au7=aud6%audNr%%aud%;demux 
285.
	set au8=-acodec copy 
286.
	set au9=dts 
287.
288.
goto :audioEcho 
289.
:audioEcho 
290.
set /a ziffer=!cc-1:~11,2!+0  2>nul 
291.
if "!cc-1:~11,2!" NEQ "!ziffer!" set "ziffer=!cc-1:~11,1!" 
292.
echo Stream-!ziffer!: "!au1!", "!au2!", "!au3!", "!au4!", "!au5!", "!au6! kB/s", "!au7!", "!au8!", "!au9!">>"%tmp%\%stamp%MiDnewSET.tmp" 
293.
echo !au1!;!au2!;!au3!;!au4!;!au5!;!au6!;!au7!;!au8!;!au9!,Stream-!ziffer! >>"%tmp%\%stamp%MiD-Strm.tmp" 
294.
set "Stream-!ziffer!=!au1!;!au2!;!au3!;!au4!;!au5!;!au6!;!au7!;!au8!;!au9!,Stream-!ziffer!" 
295.
goto :eof 
296.
 
297.
:subtitleSet 
298.
set /A subNr+=1 
299.
findstr /c:"Subtitle: text" "%AnzDat%" 
300.
if not errorlevel 1 goto :subti-txt 
301.
FOR %%i IN (srt dvb dvd) DO if "!su4!"=="%%i" goto :subti-%%i 
302.
goto :eof 
303.
:subti-srt 
304.
set /A sub+=1 
305.
set su7=sub1%subNr%%sub%;demux 
306.
set su8=copy 
307.
set su9=srt 
308.
goto :subtiEcho 
309.
:subti-dvb 
310.
set /A sub+=1 
311.
set su7=sub2%subNr%%sub%;none 
312.
set su8=dvdsub 
313.
set su9=sub 
314.
goto :subtiEcho 
315.
:subti-dvd 
316.
set /A sub+=1 
317.
set su7=sub2%subNr%%sub%;none 
318.
set su8=dvdsub 
319.
set su9=sub 
320.
goto :subtiEcho 
321.
:subti-txt 
322.
set /A sub+=1 
323.
set su7=sub3%subNr%%sub%;demux 
324.
set su8=copy 
325.
set su9=txt 
326.
goto :subtiEcho 
327.
:subtiEcho 
328.
set /a ziffer=!cc-1:~11,2!+0  2>nul 
329.
if "!cc-1:~11,2!" NEQ "!ziffer!" set "ziffer=!cc-1:~11,1!" 
330.
echo Stream-!ziffer!: "!su1!", "!su2!", "!su3!", "!su4!", "---", "---", "!su7!", "!su8!", "!su9!">>"%tmp%\%stamp%MiDnewSET.tmp" 
331.
echo !su1!;!su2!;!su3!;!su4!;---;---;!su7!;!su8!;!su9!,Stream-!ziffer! >>"%tmp%\%stamp%MiD-Strm.tmp" 
332.
set "Stream-!ziffer!=!su1!;!su2!;!su3!;!su4!;---;---;!su7!;!su8!;!su9!,Stream-!ziffer!" 
333.
goto :eof 
334.
 
335.
:unknownset 
336.
set /A ubkNr+=1 
337.
if /I not  "!ub4:~0,4!"=="none" goto :eof 
338.
:ubkset 
339.
set /A ubk+=1 
340.
set "parmV=-vcodec wmv2 -map !ub1!:0" 
341.
set "parmA=-acodec libmp3lame -map 0:!ub1!" 
342.
 set ub7=ub1%ubkNr%%ubk%;demux 
343.
set "ub8=%parmV% %parmA%" 
344.
 set ub9=mp4 
345.
:unknoEcho 
346.
set /a ziffer=!cc-1:~11,2!+0  2>nul 
347.
if "!cc-1:~11,2!" NEQ "!ziffer!" set "ziffer=!cc-1:~11,1!" 
348.
echo Stream-!ziffer!: "!ub1!", "!ub2!", "!ub3!", "!ub4!", "---", "---", "!ub7!", "!ub8!", "!ub9!">>"%tmp%\%stamp%MiDnewSET.tmp" 
349.
echo !ub1!;!ub2!;!ub3!;!ub4!;---;---;!ub7!;!ub8!;!ub9!,Stream-!ziffer! >>"%tmp%\%stamp%MiD-Strm.tmp" 
350.
set "Stream-!ziffer!=!ub1!;!ub2!;!ub3!;!ub4!;---;---;!ub7!;!ub8!;!ub9!,Stream-!ziffer!" 
351.
goto :eof 
352.
 
353.
:Zahl 
354.
echo "Stream-%Len%">"%tmp%\%stamp%MiDnewSET.tmp" 
355.
set /p Stream=<"%tmp%\%stamp%MiDnewSET.tmp" 
356.
set "Stream=!%Stream:~1,-1%!"&del "%tmp%\%stamp%MiDnewSET.tmp" 
357.
goto :Anzeige 
358.
 
359.
:Fehler 
360.
mode con cols=81 lines=9 
361.
find /n /i "." "%LogDat%" 
362.
if not errorlevel 1 goto :error 
363.
if errorlevel 1 cls&echo.&( 
364.
	echo  Anwender-Fehler:&%lin3%&echo. 
365.
	echo  Immer nur eine Datei untersuchen lassen. 
366.
	ping -n 8 localhost 1>NUL 2>NUL&goto :error-ende 
367.
368.
:error 
369.
cls&echo.&color 4F 
370.
if %2n==TSDn set "error=not enough frames"& goto :eof 
371.
echo  Datei-Fehler:&%lin3%%lin3:~5,25%&echo.&echo  %1&echo. 
372.
echo   Bitte im LogBuch nachsehen, Programm wird abgebrochen. 
373.
ping -n 5 localhost 1>NUL 2>NUL 
374.
notepad "%LogDat%" 
375.
:error-ende 
376.
del /q "%tmp%\%stamp%MiD*.*" 
377.
exit 
378.
 
379.
:pprob 
380.
setlocal enabledelayedexpansion 
381.
FOR %%a IN (%prgs%) DO @( 
382.
	call :ppr1 "%%a" 
383.
	if not exist "!pprob!" cls & echo.&( 
384.
	mode con cols=55 lines=8&color FC 
385.
	echo  Das Programm "%%a" ist nicht vorhanden, 
386.
	echo  oder der Pfad ist falsch deklariert.&echo. 
387.
	echo  Bitte jetzt die start-set.bat korrigieren 
388.
	echo  und abspeichern. Der Skript startet dann neu. 
389.
	For /F "tokens=1,2 Delims=." %%i in ('dir /b "%~dp0start-set.*"^|Find /i "start-set"') Do @Set "pprst=%%i.%%j" 
390.
	ping -n 5 localhost 1>nul 2>nul 
391.
	notepad "%~dp0!pprst!"& cls &echo.& echo  Suche "%%a" 
392.
	ping -n 2 localhost 1>nul 2>nul& goto :reStart 
393.
	)) 
394.
endlocal 
395.
goto :eof 
396.
:ppr1 
397.
set "pprob=!%~1!.exe" 
398.
:ppr2 
399.
if  "%pprob:~-4,1%"=="." if  "%pprob:~-4,1%"=="%pprob:~-8,1%" set "pprob=%pprob:~0,-4%" & goto :ppr2 
400.
goto :eof 
401.
 
402.
:startSet 
403.
> "%~dp0start-set.bat" echo.if "%%~1"=="progs" goto :%%~1 
404.
>>"%~dp0start-set.bat" echo.:start 
405.
>>"%~dp0start-set.bat" echo. 
406.
>>"%~dp0start-set.bat" echo.:progs 
407.
>>"%~dp0start-set.bat" echo.REM Diesen Bereich anpassen und abspeichern. 
408.
>>"%~dp0start-set.bat" echo.set "ffmpeg=C:\Programme\ffmpeg\bin\ffmpeg" 
409.
>>"%~dp0start-set.bat" echo. 
410.
>>"%~dp0start-set.bat" echo.if "%%~2"=="" (goto :eof) ELSE (goto :%%~2) 
411.
>>"%~dp0start-set.bat" echo. 
412.
>>"%~dp0start-set.bat" echo.:stamp 
413.
>>"%~dp0start-set.bat" echo.set "stamp=%%date:~-4%%%%date:~3,2%%%%date:~0,2%%_%%time::=%%" 
414.
>>"%~dp0start-set.bat" echo.set "stamp=%%stamp:~0,-3%%" 
415.
>>"%~dp0start-set.bat" echo.goto :eof 
416.
>>"%~dp0start-set.bat" echo. 
417.
>>"%~dp0start-set.bat" echo.:ende 
418.
ping -n 2 localhost 1>NUL 2>NUL 
419.
notepad "%~dp0start-set.bat" 
420.
goto :eof 
421.
 
422.
:ende

Start-set.bat mit Zeitstempel


Ist seit Version 1.1 Bestandteil des Skriptes (Zeilen 377 - 394)


Danke für das Interesse. Anregungen und Kritik sind immer gern gesehen.

max5moritz
Ähnliche Inhalte
Batch & Shell
Windows Powershell - Nutzen? (15)

Frage von DerBaya zum Thema Batch & Shell ...

Vmware
VMWare Vsphere Umgebung mit Veeam Kosten Nutzen (13)

Frage von Anulu1 zum Thema Vmware ...

Batch & Shell
gelöst Powershell: ActiveDirectory Infos mit export-csv exportieren und formatieren (2)

Frage von MuHMuH zum Thema Batch & Shell ...

Netzwerke
Festplatte des Providers nutzen (25)

Frage von jensgebken zum Thema Netzwerke ...

Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

CMS
Lokales Wordpress im LAN - wie aufsetzen? (15)

Frage von Static zum Thema CMS ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...