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, 3527 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
Neuester Wissensbeitrag
Humor (lol)

Linkliste für Adventskalender

(3)

Information von nikoatit zum Thema Humor (lol) ...

Ähnliche Inhalte
Webbrowser
BUV Infos - wo schaue ich mich um ? (4)

Frage von Fallen zum Thema Webbrowser ...

Off Topic
M.A.M.O.N. - Latinos VS. Donald Trump short film

Link von Frank zum Thema Off Topic ...

Router & Routing
PfSense - uPNP Service WAN nutzen für PCP,IGD Nutzung (8)

Frage von aif-get zum Thema Router & Routing ...

Windows XP
gelöst WPA2 unter Windows XP SP1 nutzen? (10)

Frage von bestelitt zum Thema Windows XP ...

Heiß diskutierte Inhalte
Windows Server
DHCP Server switchen (25)

Frage von M.Marz zum Thema Windows Server ...

SAN, NAS, DAS
gelöst HP-Proliant Microserver Betriebssystem (14)

Frage von Yannosch zum Thema SAN, NAS, DAS ...

Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

Erkennung und -Abwehr
Spam mit eigener Domain (12)

Frage von NoobOne zum Thema Erkennung und -Abwehr ...