Ich habe einen Befehl verwendet wie:
ffmpeg -i video.avi -i audio.mp3 -vcodec codec -acodec codec output_video.avi -newaudio
in der neuesten Version zum Hinzufügen einer neuen Audiospur zum Video (nicht mischen).
Aber ich habe das ffmpeg auf die neueste Version aktualisiert ( ffmpeg Version git-2012-06-16-809d71d ) und jetzt in dieser Version -newaudio
funktioniert der Parameter nicht.
Sagen Sie mir bitte, wie ich meinem Video neues Audio hinzufügen (nicht mischen) kann ffmpeg
.
Antworten:
Audio zu Video hinzufügen: Stream-Kopie
-map
Option weglassen, wird die Standard- Stream-Auswahl verwendet . Dies funktioniert, wenn Ihr Videoeingang kein Audio enthält.-codec copy
das Kopieren von Kopien verwendet (keine Neucodierung; die Qualität bleibt erhalten und ist schnell).-shortest
Option hatoutput.avi
die gleiche Dauer wie die kürzeste Eingabe.Audio zu Video hinzufügen: neu codieren
Wenn Ihre Ausgabe die Originalformate nicht mag oder wenn Sie die Formate ändern möchten, können Sie die Encoder angeben:
Manuelle Auswahl bestimmter Streams
Manchmal liefert die Standard-Stream-Auswahl nicht das gewünschte Ergebnis. In diesem Beispiel
video.mp4
gibt es Video und Audio undaudio.m4a
nur Audio. Verwenden Sie-map
diese Option , um Videovideo.mp4
und Audio auszuwählen ausaudio.m4a
:-map 0:v
- Wählen Sie aus der Eingabe0
(der ersten Eingabevideo.mp4
) diev
Ideostreams aus.-map 1:a
- Wählen Sie aus der Eingabe1
(der zweiten Eingabeaudio.m4a
) diea
udio-Streams aus.Mischen / Kombinieren von zwei Audioeingängen zu einem
Nehmen Sie Videos von
video.webm
und verwenden Sie den Amerge-Filter , um die Audiodaten vonvideo.webm
und zu kombinierenaudio.oga
:Generieren Sie leises Audio
Sie können den anullsrc-Filter verwenden , um einen stillen Audiostream zu erstellen . Mit dem Filter können Sie das gewünschte Kanallayout (Mono, Stereo, 5.1 usw.) und die Abtastrate auswählen.
Siehe auch
quelle
-map 0:0 -map 1:0
anstatt-map 0 -map 1
es zu verwenden. Vielen Dank!-shortest
Option hat bei mir besser funktioniert.mp3 musik zu wav
auf Video zuschneiden
Musik und Video mischen
quelle
Wenn das Eingangsvideo mehrere Audiospuren enthält und Sie eine weitere hinzufügen müssen, verwenden Sie den folgenden Befehl:
-map 0
bedeutet, alle Streams aus der ersten Eingabedatei (input_video_with_audio.avi
) zu kopieren (einzuschließen) und-map 1
alle Streams (in diesem Fall einen) aus der zweiten Eingabedatei (new_audio.ac3
) einzuschließen .quelle
Keine dieser Lösungen hat bei mir ganz funktioniert. Mein ursprüngliches Audio wurde überschrieben, oder es wurde ein Fehler wie "Speicher konnte nicht zugeordnet werden" mit dem komplexeren Beispiel "Amerge" angezeigt. Es scheint, ich brauchte -filter_complex amix.
quelle
Für mich hat nichts ganz funktioniert (ich glaube, das lag daran, dass mein MP4-Eingangsvideo kein Audio hatte), also fand ich, dass dies für mich funktioniert hat:
quelle
Wenn Sie eine alte Version von FFMPEG verwenden und kein Upgrade durchführen können, können Sie Folgendes tun:
Beachten Sie, dass ich -vcodec verwendet habe
quelle
Code zum Hinzufügen von Audio zu Video mit ffmpeg.
Wenn die Audiolänge größer als die Videolänge ist, wird das Audio auf Videolänge reduziert. Wenn Sie volles Audio in Video wünschen, entfernen Sie -shortest vom cmd.
String[] cmd = new String[]{"-i", selectedVideoPath,"-i",audiopath,"-map","1:a","-map","0:v","-codec","copy", ,outputFile.getPath()};
quelle
Environment.getExternalStorageDirectory().getAbsolutePath()+"/videoaudiomerger/"+"Vid"+"output"+i1+".mp4");
?