Audio-Datei beschleunigen, also die Länge verkürzen

Yoda

[Linux|FreeBSD] - User
Hallo Leute,

ich hab jetzt schon stundenlang im Netz gesucht wie man mit faac, lame oder oggenc Audiodateien so übersetzt, das sie hinterher in einem normalen Player schneller abgespielt werden, also eine verkürzte Laufzeit besitzen.

Ich hab es schon bei faac mit dem Parameter "-r" versucht aber das hat nix gebracht.

Weiß vielleicht einer von Euch wie man das anstellt?

Gruß
Yoda
 
Hallo Leute,

ich hab jetzt schon stundenlang im Netz gesucht wie man mit faac, lame oder oggenc Audiodateien so übersetzt, das sie hinterher in einem normalen Player schneller abgespielt werden, also eine verkürzte Laufzeit besitzen.

Ich hab es schon bei faac mit dem Parameter "-r" versucht aber das hat nix gebracht.

Weiß vielleicht einer von Euch wie man das anstellt?

Gruß
Yoda

Hallo Yoda :)

Warum quälst Du Dich denn so?

Installiere Dir den Audacity > öffne dein Musikfile im Audacity > makiere dieses und schau mal unterAudacity > Menu> Effekt hier kannst Du die Geschwindigkeit verändern oder aber auch die Tönhöhe verändern so wie Du das magst....

MFG

PS: Den Audacity findest Du in den Ports unter
http://www.freebsd.org/cgi/ports.cgi?query=Audacity&stype=all
 

Anhänge

  • Bildschirmfoto.png
    Bildschirmfoto.png
    164,2 KB · Aufrufe: 245
Zuletzt bearbeitet:
Danke!
Das sind alles funktionierende Vorschläge, aber nicht das was ich brauche.

Ich erkläre mal die Hintergründe.
Seit drei Jahren schreibe und teste ich ein (mittlerweile) recht funktionsreiches Script (http://os4.org/wiki/film_transcodieren_in_mpeg4.html),
um Videos zu transcodieren. Es können auch Crop, Scalierung, Rauschunterdrückung und andere Optionen übergeben werden.

Ziel ist das AVC-Format, mit so Blu-Ray-kompatibelen Optionen wie möglich.

Soweit funktioniert alles blendend.
Ich habe nur noch Probleme, wenn ich 24FPS-Quellmaterial transcodiere,
dann laufen Ton und Bild auseinander (PAL-Beschleunigung).
Alles andere funktioniert problemlos.

Ich habe hier zwei Jahre lang alle möglichen Transcodierverfahren getestet,
alle haben irgendwelche Schwächen gehabt.
Letzten End's hat sich für mich diese eine bewährt:

Ton als WAVE extrahieren und (ins AAC-Format) transcodieren.

Videospur mit Mencoder als RAW-i420 an x264 übergeben und x264 generiert die finale Videospur.

Zum Schluss Video- und Audio-Spur wieder zusammen bauen (MKV).

Mencoder scheint hier eine Schwäche zu haben, so das es immer 25FPS ausgeben will,
selbst wenn ich "-fps 24" und "-ofps 24" angebe, liegt die Spur zwar in 24FPS vor,
ist aber trotzdem 4% kürzer, genau so wie es bei der PAL-Beschleunigung vorkommt.

Hierfür habe ich in den letzten 4 Monaten keine vernünftige Lösung gefunden,
und so bleibt mir jetzt nur noch die Audiospurverkürzung.

Das Script braucht bei meinem Videomaterial (aus dem Fernseher aufgenommen) pro Stunde Film, fast 24 Stunden Transcodierzeit (bei höchster Qualität).
Es soll in den nächsten Monaten/Jahren meine ca. 400 Filme transcodieren.

Und deshalb brauche ich eine Kommandozeilenlösung!

Gruß
Yoda
 
Hmm, die mencoder Manpage bietet in mehreren Beispielen die Syntax -ofps 24000/1001, hast du das schon mal ausprobiert?

Oder den -af scaletempo -scale 0.96, oder etwas in der Art.
 
Hmm, die mencoder Manpage bietet in mehreren Beispielen die Syntax -ofps 24000/1001, hast du das schon mal ausprobiert?
Ich will ja eigentlich Eingansbildrate = Ausgangsbildrate und dieses "24000/1001" ist eine NTSC-Bildrate mit Zeilensprungverfahren.
Deshalb hab ich das garnicht probiert, denn wenn ich progressives Quellmaterial (ohne Zeilensprungverfahren, ganze Bilder) habe, werde ich das doch wohl nicht "telecinen" wollen (Ausgabe mit Zeilensprungverfahren)...

Oder den -af scaletempo -scale 0.96, oder etwas in der Art.

Das ist eine Mencoder-Option, ich transcodiere die Audiospur aber mit faac.
Mencoder kann keine reine Audiospur transcodieren, nur Video oder Video+Audio.
Ich müsste dann den Film einmal komplett "umsonst" übersetzen, ... mal sehen als letzten Ausweg werde ich das mal im Hinterkopf behalten.
Danke!
 
Hochkomplexes Thema wobei es auch auf Interlacing und Telecine ankommt allerdings bin ich hier nicht der Fachmann aber schau Dir doch mal diese umfangreiche Anleitung mit weiterführenden Links an....

http://www.mplayerhq.hu/DOCS/HTML/de/menc-feat-dvd-mpeg4.html

MFG

Ja, das ist nicht eingfach... deshalb hab ich ja 4 Monate gebraucht.
Allerdings konnte ich bis jetzt nicht eindeutig ermitteln, dass Mencoder hier etwas falsch macht... :confused:

Danke für den Link, ich werd mal reinschauen.
 
ich benutze immer sox.

keine ahnung ob ich hier jetzt die richtigen parameter benutzt habe, aber theoretisch sollte das hier gehen:

Code:
% sox -t wav input.wav -t raw -r 46080 -c 2 -s temp.pcm
% sox -t raw -r 48000 -c 2 -s temp.pcm -t wav output.wav

der schreibt mit der samplingrate von 46080hz in das temp-file, und liest das als 48000hz wieder ein. 48000/25*24=46080.

kann auch sein dass du 48000/24*25=50000 nehmen musst, weiss ich jetzt nicht, bin auch zu faul das nachzurechnen ;)
 
ich benutze immer sox.

keine ahnung ob ich hier jetzt die richtigen parameter benutzt habe, aber theoretisch sollte das hier gehen:

Code:
% sox -t wav input.wav -t raw -r 46080 -c 2 -s temp.pcm
% sox -t raw -r 48000 -c 2 -s temp.pcm -t wav output.wav

der schreibt mit der samplingrate von 46080hz in das temp-file, und liest das als 48000hz wieder ein. 48000/25*24=46080.

kann auch sein dass du 48000/24*25=50000 nehmen musst, weiss ich jetzt nicht, bin auch zu faul das nachzurechnen ;)

Ja genau, an so etwas hatte ich auch gedacht, wusste aber nicht wie ich es anstellen soll. :D
Das gefällt mir noch besser als die Variante mit Mencoder und dem doppelten transcodieren...

Ich versuch es aber erstmal mit dem Tip von @batboy, denn SOX ist zwar ein Alleskönner, leidet aber daran nicht die höchste Qualität zu liefern.

Gruß
Manfred
 
gelöst!

Für WAV gibts soundstretch, enthalten im Port soundtouch.

Danke!
Ein erster (extremer) Test war 100%-ig erfolgreich. :D

Zur Info, hab es so gemacht:
Code:
# mplayer Big_Buck_Bunny.wav -vo null -ao null -identify -frames 0 -nocache 2>/dev/null | fgrep ID_LENGTH
ID_LENGTH=596.00

# mplayer Big_Buck_Bunny_-_Test_videospur.mkv -vo null -ao null -identify -frames 0 -nocache 2>/dev/null | fgrep ID_LENGTH
ID_LENGTH=536.79

# echo "596 536.79"|awk '{print (($1*100)/$2)-100}'
11.0304

# soundstretch Big_Buck_Bunny.wav Big_Buck_Bunny_plus11proz.wav -tempo=+11.0304

# faac --tns -q 160 -w -o Big_Buck_Bunny_plus11proz.m4a Big_Buck_Bunny_plus11proz.wav

# mkvmerge --default-language ger --aspect-ratio 1:1.77778 -o Big_Buck_Bunny_plus11proz.mkv --compression 1:none Big_Buck_Bunny_-_Test_videospur.mkv --compression 1:none Big_Buck_Bunny_plus11proz.m4a

Gruß
Yoda
 
Zurück
Oben