So führen Sie Audio-und Videodateien in ffmpeg zusammen
Ich möchte eine Audiodatei zusammenführen (.wav oder. au Format) mit einer Videodatei (. mp4 Format).
Bitte schlagen Sie mir vor, wie Sie dies erreichen können. Ich möchte diese Datei zu einer neuen MP4-Videodatei zusammenführen. Ein ffmpeg-Befehl wäre sehr willkommen.
8 answers
Zusammenführen von video und audio, mit audio-re-encoding -
Siehe dieses Beispiel aus dieser Blogeintrag wurde jedoch für eine neuere Syntax aktualisiert. Es sollte etwas zum Effekt von:
ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac output.mp4
Hier gehen wir davon aus, dass die Videodatei noch keinen Audiostream enthält und dass Sie dasselbe Ausgabeformat (hier MP4) wie das Eingabeformat haben möchten.
Der obige Befehl transcodiert das Audio, da MP4s keine PCM-Audioströme übertragen können. Sie können jedes andere gewünschte Audio verwenden codec, wenn Sie wollen. Weitere Informationen finden Sie im FFmpeg Wiki: AAC Encoding Guide.
Wenn Ihr Audio-oder Videostream länger ist, können Sie die Option -shortest
hinzufügen, damit ffmpeg die Codierung beendet, sobald eine Datei beendet ist.
Kopieren des Audios ohne erneute Kodierung
Wenn Ihr Ausgabecontainer (fast) jeden Codec – wie MKV-verarbeiten kann, können Sie einfach sowohl Audio-als auch Videostreams kopieren:
ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv
Audiostream ersetzen
Wenn Ihr Eingabevideo bereits enthält audio, und Sie möchten es ersetzen, Sie müssen ffmpeg mitteilen, welchen Audiostream Sie aufnehmen möchten:
ffmpeg -i video.mp4 -i audio.wav -c:v copy -c:a aac -map 0:v:0 -map 1:a:0 output.mp4
Der -map
mit der Option verwendet ffmpeg nur den ersten Videostream vom ersten Eingang und den ersten Audiostream vom zweiten Eingang für die Ausgabedatei.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-29 21:02:57
Da ich mit meiner Reputation keine Kommentare zur ersten Antwort schreiben darf, hier ein Nachtrag, weil ich dieses Problem beim Codieren von Webms hatte.
Wenn Ihr Audiostream beispielsweise länger als der Videostream ist, müssen Sie ihn ausschneiden, da sonst das letzte Videorahmen als Standbild und Audio ausgeführt wird.
Um einen der beiden Streams zu schneiden, können Sie-ss [hh:mm:ss] -t [ss] vor jeder der-i " - Dateien verwenden.extern".
-ss [...] definiert den zu schneidenden Startpunkt
-t [...] definiert die Länge des Segments in Sekunden
Beispiel:
ffmpeg.exe -ss 00:00:10 -t 5 -i "video.mp4" -ss 0:00:01 -t 5 -i "music.m4a" -map 0:v:0 -map 1:a:0 -y out.mp4
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2015-01-10 01:11:26
Befehl öffnen promt (windows+R -> Cmd+Geben Sie) ein. Gehen Sie dann in den Ordner, in dem Sie Audio-und Videodatei haben. Wenden Sie diesen Befehl an:
ffmpeg -i "videoFile.mp4" -i "audioFile.mp3" -shortest outPutFile.mp4
Sie erhalten eine neue Datei mit dem Namen outPutFile.mp4
(eine zusammengefügte Datei aus Audio und Video)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-05 09:59:42
Das hat bei mir funktioniert:
ffmpeg.exe -i AudioT.m4a -i VideoT.mp4 -acodec copy -vcodec copy muxed.mp4
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-03-14 10:54:01
Versuchen Sie es mit mencoder (ja, es basiert auf ffmpeg, aber Sie wissen es nie). Ich benutze das Argument -audiofile
. Ich benutze im Allgemeinen ffmpeg, also nimm diesen Rat mit einer Prise Salz.
Und wenn Sie Windows verwenden, funktioniert Mediacoder (leider nicht mehr Open Source)... es ist im Grunde ein Frontend für viele GNU-Encoder und ein paar nicht-freie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-03-12 22:47:37
Falls man Audio und Video mit unterschiedlicher Länge zusammenführen und auch Fade In und Fade Out anwenden möchte, funktionierte Folgendes für mich:
ffmpeg -i Video001.mp4 -i Audio001.mp3 -af afade=t=in:st=0:d=3,afade=t=out:st=47:d=4 -c:v copy -c:a aac -shortest Output.mp4
In meinem obigen Fall hatte das Video die Länge 51, also wählte ich Fade In der Länge 3 [Sec] und Fade Out* von ~4 [Sec]. Da Fading durch einen Filter angewendet wird, ist eine Transkodierung des Audios erforderlich. Im obigen Fall habe ich die Codierung aac
gewählt.
Die Antwort ist stark basierend auf der Antwort von @PatrickGeorgi.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-26 02:57:02
Sie können auch mencoder versuchen, Audio-und Videodateien zu kombinieren https://youtu.be/1IHFp2eROYk
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-06 18:58:54
Ich habe dazu ein Python-Skript erstellt, Sie können es versuchen, wenn Sie möchten. Holen Sie es auf Github: https://github.com/mmakarov/replicator
Oder schau dir das Video hier an: https://www.youtube.com/watch?v=4Uu1hS3-eQM
Replicator ist ein Python-Skript zum Zusammenführen einiger Videodateien, transparent overlay, Textbereiche mit MP3 - Audiospur. Letztes Video wird genau sein gleiche Länge wie Ihre Audiospur. Länge Ihres Videos wird sein automatisch berechnet.
Ich habe das gemacht skript in einem Versuch, alle Videosequenzdateien zusammenzuführen mit PNG transparente Überlagerung, Hinzufügen von Textbereichen auf Video, mit MP3-Audio Spur. Resultierende Videodatei sind bereit, auf Youtube oder andere hochladen andere video-hosting-Dienste.
Sie können es nach Ihrem Geschmack ändern.
Wie benutzt man es: 0. Terminal öffnen und eingeben: git clone https://github.com/mmakarov/replicato...
- Legen Sie Ihre Videodateien in das Projektverzeichnis als 'source1.mp4', 'source2.mp4' usw.
- Setzen Sie Ihre PNG transparentes Bild in das Projektverzeichnis als ' Overlay.png'
- Legen Sie Ihre MP3-Datei als 'voice.mp3'in das Projektverzeichnis
- im Terminallauf: python3 source-to-medium.py (hier wird 'medium.mp4' erstellt)
- geben Sie bei Bedarf den Inhalt Ihrer Textbereiche ein ...es dauert einige Zeit, um Quell -*. mp4-Dateien in ein Medium zu konvertieren.mp4
- im Terminallauf: python3 medium-to-fin.py ...es wird die endgültige Videolänge von voice.mp3.length() / medium.mp4.length caltulate() = silent_fin.mp4 .length ()...auch wird es voice.mp3 hinzufügen silent_fin. mp4 als Audiospur
- Endlich hast du youtube_ready. mp4 Dateien
Warnung: russische Kommentare in Quellen!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-08-06 16:39:10