Autor |
Beitrag |
Delphi2009lover
      
Beiträge: 176
|
Verfasst: Do 19.11.09 22:28
Hi,
ich wollte nur fragen, wie man mit Delphi MP4 Datein oder FLV Datein zu MP3 konvertieren kann.
Kann man da evtl. eine DLL benutzen?^^ Währe lieb, wenn ihr mir da helfen könntet^^
thx im Vorraus
|
|
SAiBOT
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Fr 20.11.09 08:59
Am einfachsten ist es wohl FFMPEG anzusteuern!
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Delphi2009lover 
      
Beiträge: 176
|
Verfasst: Fr 20.11.09 10:35
Könntest du da vllt ein Beispiel machen, wie man damit am besten MP4 zu MP3 umwandelt?^^
|
|
SAiBOT
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Fr 20.11.09 10:59
Wie du Konsolenanwendungen fernsteuerst, findest du im Forum -> GETCONSOLEOUTPUT
Und die Parameter findest du in den Doku's von FFMPEG, für z.B. FLV->MP3:
Delphi-Quelltext 1:
| Format('-i "%s" -acodec mp3 -ab 160k -ac 2 -ar 44100 "%s"',[Input,Output]); |
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
Zuletzt bearbeitet von SAiBOT am Fr 20.11.09 14:00, insgesamt 1-mal bearbeitet
|
|
Delphi2009lover 
      
Beiträge: 176
|
Verfasst: Fr 20.11.09 11:19
Ok ich bin glaub ich mal echt zu dumm... also dann halt doch:(
kannst du mir bitte bitte einen Beispiel-Code geben, der per Buttonclick über die ffmpeg.exe (in Resourcen, im gleichen Ordner?????) (wo bekomm ich die ffmpeg.exe her?) die Datei C:/DATA/hallo.flv zu C:/DATA/hallo.mp3 umwandelt.
Vielen vielen vielen Dank im Vorraus und
2. Wird dann eigentlich die Konsole angezeigt?
|
|
SAiBOT
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Fr 20.11.09 12:45
Ich habe dir mal die FFMPEG.exe und die Doku geuppt, ich glaube die exe müßte man sonst erst kompilieren da der hersteller nur deren Sourcecode anbietet.
Eine fertige Funktion gebe ich dir nicht, ein wenig eigeninitiative mußt du schon zeigen, ansonsten kannst du dir ja gleich einen fertigen Youtube-Downloader saugen, auf welchen du wohl hinaus willst
Wie man exe datein (versteckt) startet findest du im Forum.
Beim starten mußt du halt nur den für dein Bsp. zugeschnittenen Parameter übergeben:
Delphi-Quelltext 1:
| Format('-i "%s" -acodec mp3 -ab 160k -ac 2 -ar 44100 "%s"',['C:/DATA/hallo.flv','C:/DATA/hallo.mp3']); |
Der Rest ist absolutes Basiswissen und sollte in diesem thread nicht weiter diskutiert werden.
Einloggen, um Attachments anzusehen!
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Delphi2009lover 
      
Beiträge: 176
|
Verfasst: Fr 20.11.09 13:14
Erstmal danke und nein du sollst bitte nicht meinen Downloader schreiben, aber ich weiß leider nicht, wie man ein Fenster verstckt startet und wie man überhaupt was externes startet... es währ lieb wenn du mir wenigstens den kleinen Teil schreibst
sry aber die Doku bringt mir nichts  ich kann nicht so gut Englisch (bin ja erst 13 und hab des auch erst 2 Jahre^^)
|
|
jaenicke
      
Beiträge: 19326
Erhaltene Danke: 1749
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Fr 20.11.09 13:16
ShellExecute und als Anzeigemodus SW_HIDE. Zumindest ShellExecute hättest du aber auch im Forum / Google / Bing finden müssen.
Oder das genannte GetConsoleOutput (siehe Suche), das noch viel einfacher zu verwenden ist, da es eine Funktion direkt in Delphi ist, die du nur kopieren musst... 
|
|
Delphi2009lover 
      
Beiträge: 176
|
Verfasst: Fr 20.11.09 22:18
Ok ich hab das mit dem Starten verstanden. Könnt ihr evtl. doch grad den Code geben, weil ich nicht weiß, wie ich dieses Format(...) eintragen muss. Vielen dank im Vorraus
|
|
Delphi2009lover 
      
Beiträge: 176
|
Verfasst: Di 24.11.09 08:35
Sry wenn ich nochmal schreib, aber ich habs jetzt echt versucht. Wie muss ich das mit dem Starten schreiben, dass die Konsole nicht auftaucht
|
|
Regan
      
Beiträge: 2157
Erhaltene Danke: 72
Java (Eclipse), Python (Sublimetext 3)
|
Verfasst: Di 24.11.09 10:35
Zeig uns doch mal deinen Code. Dann können wir das besser nachvollziehen 
|
|
Delphi2009lover 
      
Beiträge: 176
|
Verfasst: Di 24.11.09 12:31
Der Code bezieht sich noch garnicht darauf. Ich hätte nur gern den Code, der die ffmpeg.exe ausführt (versteckt) und die Parameter überibt
Thx im Vorraus
|
|
SAiBOT
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Di 24.11.09 15:15
Deswegen solltest du auch ein neues Thema erstellen.
Ich verstehe dein Problem nicht?
jaenicke hat folgendes geschrieben : | ShellExecute und als Anzeigemodus SW_HIDE. |
(5. Parameter)
und das Format(...) kommt in den 4. Parameter von ShellExecute.
=>
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9:
| uses ShellAPI, ...
var p:String; begin p := Format('-i "%s" -acodec mp3 -ab 160k -ac 2 -ar 44100 "%s"', ['C:/DATA/hallo.flv','C:/DATA/hallo.mp3']); ShellExecute(0, 'open', 'ffmpeg.exe', p, 'C:\', SW_HIDE); |
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Delphi2009lover 
      
Beiträge: 176
|
Verfasst: Fr 27.11.09 20:49
Kann man das eigentlich auch ohne die ffmpeg machen? Gibts dafür evtl eine Unit?
EDIT: Ich will das anders machen, weil ich die Lizenz von ffmpe nicht so richtig versteh... Ich möchte mein Programm später auch veröffentlichen (als Freeware) und ich hab KA ob ich das überhaupt mit ffmpeg darf (ohne was zahlen zu müssen)
|
|
SAiBOT
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Sa 28.11.09 12:16
Solange du kein Geld mit deiner Software verdienen willst wird es da keine Probleme geben.
Habe nie andere Units oä. dafür gesehen und sollte es sie geben, sind sie garantiert nicht umsonst!
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Delphi2009lover 
      
Beiträge: 176
|
Verfasst: Sa 28.11.09 15:44
Also wenn ich mein Programm als Freeware weitergebe, darf ich die ffmpeg exe für mich kostnlos in das Programm einbinden?
Wenn ja muss ich die iwie im Programm erwähnen also z.B. verwendet ffmpeg.exe
|
|
SAiBOT
      
Beiträge: 323
Erhaltene Danke: 6
XP SP2; 7
D7; D2009
|
Verfasst: Sa 28.11.09 16:44
Klar ffmpeg ist OpenSource. Die Frage nach dem erwähnen sollte sich dir nicht stellen, es gibt kein Grund warum man das nicht tun sollte, immerhin sparst du eine menge Arbeit mit ffmpeg oder?
_________________ Debuggers don't remove bugs, they only show them in slow-motion.
|
|
Delphi2009lover 
      
Beiträge: 176
|
Verfasst: Sa 28.11.09 20:18
Ja klar^^ aber wie soll ich sie denn erwähnen. Einfach nur: "Verwendet ffmpeg.exe" oder was? ... Und wo^^
|
|
jaenicke
      
Beiträge: 19326
Erhaltene Danke: 1749
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Sa 28.11.09 20:52
Um genau zu sein musst du die ffmpeg.exe ohne die optionalen Komponenten kompilieren, die unter der GPL stehen. Ansonsten müsstest du dein Projekt selbst ggf. auch unter die GPL stellen, wenn du das quasi als Bibliothek nutzt (was ich mit meinen Projekten ohnehin mache, so dass ich mir da meistens wenig Gedanken machen muss).
In jedem Fall, also auch bei Verwendung der LGPL, musst du deutlich machen, dass der Quelltext der ffmpeg.exe kostenlos verfügbar ist und diesen ggf. mitliefern.
Für die genaueren Lizenzbedingungen schau dir diese doch einfach einmal selbst an.
|
|
Delphi2009lover 
      
Beiträge: 176
|
Verfasst: So 29.11.09 00:58
wie meinst du das mit GPL (was is bitte GPL???) also ich kann ja schreiben "Verwendet zum konvertieren das Opensource-Programm ffmpeg"
|
|