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, 3694 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Ähnliche Inhalte
Exchange Server
VPS - Remotedektopverbindung - Audio - Soundkarte (1)

Frage von andisausp zum Thema Exchange Server ...

Audio
3,5mm Klinke - Audio - Adapter für wireless Headsets (7)

Frage von clubmate zum Thema Audio ...

Multimedia & Zubehör
gelöst Samsung Smart TV - Video in Dauerschleife (4)

Frage von tomi93 zum Thema Multimedia & Zubehör ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (23)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (10)

Frage von Akcent zum Thema Hyper-V ...

Netzwerke
Abisolierwerkzeug (10)

Frage von SarekHL zum Thema Netzwerke ...