Top-Themen

Aktuelle Themen (A bis Z)

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, 3646 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
Apple
IOS-Nutzer sollten das neue iTunes nicht installieren
Information von BassFishFoxApple

Warum dieses Meckern auf hohem Niveau? Apple ist nicht die erste Firma und wird nicht die letzte Firma sein, ...

Verschlüsselung & Zertifikate
Bitlocker to go auf älteren OS nutzen
Tipp von DerWoWussteVerschlüsselung & Zertifikate

Kurzer Tipp: Wer darauf vorbereitet sein möchte, seine Bitlocker-verschlüsselten Sticks ggf. auf unsupporteten Windows (xp/Vista) lesen zu können, muss ...

Internet
500 Millionen Website-Nutzer für Kryptomining missbraucht
Information von BassFishFoxInternet5 Kommentare

Kann ich mir gut als Ersatz fuer die nervende Werbung vorstellen. Der Originalartikel ist hier. Vermutlich werden aber die ...

Windows Update
Microsoft Update Katalog ohne Internet Explorer nutzen
Tipp von colinardoWindows Update2 Kommentare

Microsoft ist zwar schon dabei den Katalog Browser unabhängig umzubauen, hier aber trotzdem noch ein schneller Tipp zur Nutzung ...

Neue Wissensbeiträge
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 17 StundenBatch & Shell8 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 19 StundenHumor (lol)6 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 1 TagMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 1 TagSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Sichere Remote Desktop Verbindung wie?
gelöst Frage von nuss33Windows Server11 Kommentare

Hallo zusammen, eins vorweg: Ich besitze einen privaten Windows Server 2008 R2 zu Hause im Netzwerk er wird nicht ...