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

Audio- oder Video.flv schnell in -.mp3 oder -.mp4 umwandeln

Anleitung Multimedia Video & Streaming

Mitglied: max5moritz

max5moritz (Level 1) - Jetzt verbinden

29.01.2013, aktualisiert 14:27 Uhr, 3662 Aufrufe, 2 Danke

Hallo Media-Freunde,

heute ein Tool, das die schnelle Umwandlung von Audio- oder Video*.flv in *.mp3 oder *.mp4 erledigt.
Und: es kann noch viel mehr. Viel Spaß beim Ausprobieren.

Wozu FLV-to?


Wer öfter bei "youTube" oder in sonstigen Mediatheken herumstöbert und sich auch die eine oder andere Datei herunterlädt,
der hat dann oft eine *.flv Datei auf seiner Festplatte.
Zwar gibt es online-Tools die eine Umwandung anbieten, was aber oft eine Anmeldung verlangt.

Mit "FLV-to" ist das anders. Und es kann noch mehr:
Auch *.ac3 *.avi *.drv *.flv *.mkv *.mpg *.mp2 *.ps *.trp *.ts *.wav" werden in das passende Audio- oder Video-Format umgewandelt.
Zwar ist die Stream-Zahl auf zwei beschränkt, doch dafür werden komplette Ordner verarbeitet. Und:
Für die anderen Fälle gibt es ja "Film-Montage"


Zur Beachtung:
Für die externen Programme wird wieder ein Start-set-Skript erwartet.
Siehe dazu "Film-Montage" unter :startSet. Einfach die Zeilen 613-631 in eine eigenen Skript packen, Doppelklick, anpassen, fertig.

Neben "ffmpeg" wird "sox" benötigt, beide sind in "Hybrid" enthalten.
Und wer die *.mp3 gleich noch zuschneiden möchte, der braucht "mp3DirectCut".
Die Variable %weg% ist eine Art Spezial-Papierkorb. Eigentlich nur ein Ordner, der in Start-set definiert ist.
Dort finden sich dann die input-Dateien und Zwischenschritte (mp3-Cuts), die ja in der Regel "weg" können.


Ablauf


Ich habe eine Verküpfung zu "Fly-to" im sendTo-Ordner. Dadurch ist das Tool immer nur ein Rechtsklick entfernt.
Der Skript untersucht die Datei, setzt die Werte und beginnt mit dem Umlabeln. Ein Encodieren findet im Regelfall nicht statt -
außer z.B. *.wav zu *.mp3, das geht ja auch wohl nicht anders...
Der Regelfall sind ja *.flv und die sind ja bereits encodiert, allein sie stecken im "falschen" Container.
Die Input-Dateien haben nach der Verarbeitung den Vorsatz "newMux_" und befinden sich im %weg%-Ordner.
Da die "Inputs" nicht wirklich gelöscht werden, wird also reichlich Platz gebraucht - was bei den heutigen Plattengrößen
wohl eher kein Problem mehr ist? Wen das stört und mutig ist, der kann die move-Befehle, die auf den %weg%-Ordner lauten,
in del-Befehle umwandeln. Die %weg%-Variable ist dann überflüssig. Ich gehe aber den sicheren Weg, ich lösche eigenhändig.

Der Skript


01.
@echo off&setlocal enabledelayedexpansion 
02.
set "mod1=mode con cols=110 lines=45&color 3F" 
03.
set "mod2=mode con cols=80 lines=8&color 3F" 
04.
set "auto1=*.ac3 *.avi *.drv *.flv *.mkv *.mpg *.mp2 *.ps *.trp *.ts *.wav" 
05.
set "auto2=.ac3, .avi, .drv, .flv, .mkv, .mpg, .mp2, .ps, .trp, .ts, .wav" 
06.
set "sDat=%tmp%\sDat.tmp" 
07.
set "inex=A%~x1"&set "lw=O%~d1" 
08.
%mod2%&if n%1==n goto :ende 
09.
call start-set "progs" 
10.
if "A%inex:~1,1%"=="A." goto :run 
11.
if "O%lw:~2,1%"=="O:" goto :auto 
12.
goto :eof 
13.
 
14.
:auto 
15.
pushd "%~1" 
16.
set run=auto & echo "%cd%" 
17.
FOR /r "%cd%" %%i IN (%auto1%) DO ( 
18.
	set "inPut=%%i"&color 3F 
19.
	call :FileSet "!inPut!" 
20.
	if "!inex:~0,1!"=="." call :process 
21.
22.
goto ende 
23.
 
24.
:FileSet 
25.
%mod2% & title %~n0&echo. 
26.
if "%run%"=="auto" ping -n 5 localhost 1>nul 2>nul 
27.
set "inPut=%~1"&set "inFile=%~dpn1"&set "inex=%~x1" 
28.
echo  Pfad	%~dp1 
29.
echo  Datei	%~n1 & set "datnam=%~n1" 
30.
echo  Ext	*%~x1 
31.
set "info=Echo  Habe fertig."& echo.& ping -n 5 localhost 1>nul 2>nul 
32.
FOR %%i IN (%auto2%) DO if /I "%~x1"=="%%i" set "work=yes"&goto :eof 
33.
goto :eof 
34.
 
35.
:run 
36.
call :FileSet "%~1" 
37.
call :process 
38.
goto ende 
39.
 
40.
:process 
41.
if not "!work!"=="yes" set "info=Echo  Input-Dateiendung *%inex% ist verkehrt."&goto :eof 
42.
cls&echo.&echo  !datnam! wird untersucht ...&echo. 
43.
%ffmpeg% -i "%input%" 2> "%sDat%" 
44.
%mod1%&type "%sDat%"&echo.&ping -n 3 localhost 1>nul 2>nul 
45.
%mod2%&findstr /c:"Video:" "%sDat%" 
46.
if not errorlevel 1 set "Media=Video"&set "outex=mp4" 
47.
if errorlevel 1 set "Media=Audio"&set "outex=mp3" 
48.
findstr /c:"Video: none" "%sDat%" 
49.
if not errorlevel 1 set "Media=Audio"&set "outex=mp3" 
50.
cls&title Datei ist ein !Media!&echo.&echo  Die Suche geht weiter ... 
51.
ping -n 3 localhost 1>nul 2>nul 
52.
%mediainfo% "%Input%" > "%sDat%" 
53.
cls & type "%sDat%"&echo. 
54.
goto :sDatFLV 
55.
:next 
56.
title Transforming "!datnam!.!inex:~1,3!" to *.!outex! 
57.
%mod2%&cls&echo.&echo  %time:~0,-3% Transformer started ...&echo.&ping -n 3 localhost 1>nul 2>nul 
58.
if not %2n==n set  "outex=%2" & if not %3n==n set  "parm=%~3" 
59.
if not "%~x1"==".flv" (%ffmpeg% -i "%~1" !parm! "%~dpn1+.!outex!" 2>"%~dpn1+.txt" 
60.
		) ELSE %mod1%& %ffmpeg% -i "%~1" !parm! "%~dpn1+.!outex!" 
61.
:nextend 
62.
move /y "%~1" "%~dp1newMuX_%~nx1" 
63.
move /y "%~dp1newMuX_%~nx1" "%weg%" 
64.
move /y "%~dpn1+.!outex!" "%~dpn1.!outex!" 
65.
if exist %mp3DirectCut%.exe if "!outex!"=="mp3" ( 
66.
	%mod2%&cls&echo.&echo  %time:~0,-3% mp3-Datei mit mp3DirectCut bearbeiten ... 
67.
	ping -n 3 localhost 1>nul 2>nul & %mp3DirectCut% "%~dpn1.!outex!"	 
68.
	move /y "%~dpn1*.*" "%weg%" 
69.
70.
goto :eof 
71.
 
72.
:inFLV 
73.
if not "%inex%"==".flv" move /y "%input%" "%inFile%.flv" 
74.
set "input=%inFile%.flv"& set inex=.flv 
75.
set "parm=-vcodec copy -acodec copy" 
76.
call :next "%input%" 
77.
goto :eof 
78.
:inPS-TS 
79.
if /I not "%~x1"==".!ac:~-2,2!" move /y "%inPut%" "%inFile%.!ac:~-2,2!" 
80.
set "input=%inFile%.!ac:~-2,2!"& set inex=.!ac:~-2,2! 
81.
if /I "!ac:~-2,2!"=="TS" (set "parm=-acodec libmp3lame -sameq" 
82.
	if /I "!bc!"=="AC-3" set "parm=-acodec copy"&set "outex=ac3" 
83.
	) ELSE set "parm=-acodec copy" 
84.
if "!outex!"=="ac3" (call :Raumklang "%input%" !outex!) ELSE call :next "%input%" !outex! 
85.
goto :eof 
86.
:sDatFLV 
87.
%mod2%&findstr /c:"Flash Video" "%sDat%" 
88.
if not errorlevel 1 color 20&title Datei ist ein Flash-!Media!&goto :inFLV 
89.
if errorlevel 1 color 1F&title Datei ist kein Flash-!Media!&cls&echo.&echo  ... suche noch weiter ...  
90.
if "!Media!"=="Video" call :next "%input%" & goto :eof 
91.
ping -n 5 localhost 1>nul 2>nul&cls 
92.
:sDatPS-TS 
93.
FOR /f "delims=: tokens=1-3" %%i IN ('findstr /i /n "MPEG-TS MPEG-PS" "%sDat%"') DO @set "ac=%%k" 
94.
if not "!ac!"=="" cls&Echo.&( 
95.
	title ...prfe noch, ob Datei ein !ac:~1,7!-!Media! ist...&cls&echo. 
96.
	echo  ... wait a minute ...&echo. 
97.
	FOR /f "delims=: tokens=1-3" %%i IN ('findstr /i /n "AC-3 MP2" "%sDat%"') DO @set "bc=%%k" 
98.
	echo. & if not "!bc!"=="" (set bc=!bc:~1,4!&echo  Datei ist ein !bc!-!ac:~1,7!-!Media! 
99.
	) ELSE echo  Datei ist ein !ac:~1,7!-!Media! 
100.
	echo.&goto :sDatUnknown 
101.
102.
if errorlevel 1 goto :noFLVnoTS 
103.
:sDatAC3-MP2 
104.
FOR /f "delims=: tokens=1-3" %%i IN ('findstr /i /n "AC-3 MPEG" "%sDat%"') DO @set "bc=%%k" 
105.
echo.&if not "!bc!"=="" echo  Datei ist ein !bc:~1,4!-Audio&ping -n 5 localhost 1>nul 2>nul &( 
106.
	if /I !bc!n==n goto :eof  
107.
	if /I "!bc:~1,4!"=="AC-3" call :Raumklang "%input%" ac3 
108.
	set "parm=-acodec libmp3lame -sameq"&set "outex=mp3" 
109.
	FOR %%i IN (AC-3 MPEG) DO if /I "!bc:~1,4!"=="%%i" call :next "%input%" !outex! "!parm!" 
110.
111.
goto :eof 
112.
:sDatUnknown 
113.
%ffmpeg% -i "%input%" 2> "%sDat%" 
114.
%mod1%&type "%sDat%" 
115.
ping -n 5 localhost 1>nul 2>nul&cls 
116.
findstr /c:"Unknown: none" "%sDat%" 
117.
if not errorlevel 1 goto :noFLVnoTS 
118.
if errorlevel 1 color 20&echo.&echo  Datei ist ein !ac:~1,7!-!Media!&goto :inPS-TS 
119.
:noFLVnoTS 
120.
%mod2%&echo.&echo. 
121.
title Datei ist auch kein!ac:~1,7!-!Media!&color 1F&cls&echo. 
122.
echo  Ende in Gel„nde ...&ping -n 5 localhost 1>nul 2>nul 
123.
goto :eof 
124.
 
125.
:Frage 
126.
%mod2%&echo.&color FC 
127.
choice /C:nj /N /T:n,10 " %Frage% (j,n) oder in 10s automatisch ohne 5.1-Klang" 
128.
if ERRORLEVEL 2 cls&echo.&echo  Ok, Raumklang wird benutzt.&set rklg=yes&goto :eof 
129.
if ERRORLEVEL 1 cls&echo.&echo  Ok, !datnam! wird ohne Raumklang umgewandelt. 
130.
goto :eof 
131.
 
132.
:Raumklang 
133.
set "Frage=!datnam! in Raumklang umwandeln?" 
134.
call :Frage&ping -n 5 localhost 1>NUL 2>NUL&echo. 
135.
if not "%rklg%"=="yes" goto :eof 
136.
title Transforming "!datnam!.!inex:~1,3!" to *.%2&cls&echo. 
137.
%mod1%&echo %time:~0,-3% Transformer started ...&echo.&ping -n 3 localhost 1>nul 2>nul 
138.
%ffmpeg% -i "%1" -vn !parm! "%~dpn1-.aac" 
139.
%ffmpeg% -y -i "%~dpn1-.aac" -ac 6 -ar 48000 -acodec pcm_s16le -f wav - | %sox% -G --volume 2.5 -s -b 16 -c 6 -r 48000 -t raw - -t wav - | %ffmpeg% -y -i - -ab 576000 -ac 6 -ar 48000 "%~dpn1+.%2" 
140.
del "%~dpn1-.aac" 
141.
goto :nextend "%1" %2 
142.
 
143.
:ende 
144.
%mod2%&echo.&echo.&%Info% 
145.
ping -n 5 localhost 1>nul 2>nul 
146.
if exist "%sDat%" del "%sDat%"&exit
Danke für das Interesse. Anregungen und Kritik sind immer gern gesehen.

max5moritz
Neuester Wissensbeitrag
Festplatten, SSD, Raid

12TB written pro SSD in 2 Jahren mit RAID5 auf Hyper-VServer

Erfahrungsbericht von Lochkartenstanzer zum Thema Festplatten, SSD, Raid ...

Ähnliche Inhalte
Windows 10
gelöst Windows 7 Lizenzen in Windows 10 Lizenzen möglichst schnell umwandeln (4)

Frage von Kuemmel zum Thema Windows 10 ...

iOS
Video-Link lässt iPhones und iPads einfrieren

Link von runasservice zum Thema iOS ...

Webbrowser
Mozilla: Firefox 50 startet schnell und bringt Emoji (3)

Link von Frank zum Thema Webbrowser ...

Windows Server
Windows Server 2016 Datacenter - Evaluation in Datacenter umwandeln (3)

Tipp von Systembastler zum Thema Windows Server ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...