20240127使用ffmpeg合并音轨和视频通道为mp4

20240127使用ffmpeg合并音轨和视频通道为mp4
2024/1/27 11:11


百度:ffmpeg 合并 音频和视频 mp4

ffmpeg -i 视频文件名.mp4 -i 音频文件名.mp3 -c:v copy -c:a aac -strict experimental 输出文件名.mp4
ffmpeg -i "videoplayback (1).mp4" -i videoplayback.m4a -c:v copy -c:a copy -strict experimental 888.mp4


https://www.zhihu.com/question/300182407/answer/3149900738
如何用ffmpeg合并音频和视频?

1.用ffmpeg来合并音频和视频
2.用野葱视频转换器
3.Online UniConverter的合并视频工具
首先,何必自己来使用ffmpeg合并音频和视频呢?你有点编程基础吗?

没有的话,即使你照猫画虎的把我的方法搬过去,但一旦出现问题,你就会手足无措,完全不会了,这样就又白白浪费了一些时间了。

所以,这里我就先简单给你说说咋用ffmpeg来合并,然后再给你讲讲其他一些更好的方法。

1.用ffmpeg来合并音频和视频
下面这段非常干货,希望你能理解哈!

1.安装FFmpeg: 首先,确保已经安装了FFmpeg。(安装包你自己找)

2.准备音频和视频文件: 将你要合并的音频和视频文件准备好,确保它们位于同一文件夹中。

3.打开命令行终端: 打开一个命令行终端窗口,进入存放音频和视频文件的文件夹。

4.使用FFmpeg命令合并: 使用以下命令来合并音频和视频文件:

ffmpeg -i 视频文件名.mp4 -i 音频文件名.mp3 -c:v copy -c:a aac -strict experimental 输出文件名.mp4
-i:指定输入文件。
-c:v copy:复制视频流,以避免重新编码视频。
-c:a aac:使用AAC编码音频流。
-strict experimental:启用实验性的AAC编码模式(某些情况下需要)。
5.运行命令: 在命令行终端中运行上述命令,等待FFmpeg完成合并过程。

6.等待合并完成: 一旦命令执行完毕,FFmpeg将开始合并音频和视频文件。合并完成后,您将在文件夹中找到生成的合并文件。

能看懂吗?哈哈,所以哈,还是用我说的下面的这些简单的方法吧。


N:\SAW\等待处理\2022年10月6日_PyTorch for Deep Learning & Machine Learning – Full Course_freeCodeCamp.org-SAW【中文字幕异常】>ffmpeg -i "videoplayback (1).mp4" -i videoplayback.m4a -c:v copy -c:a copy -strict experimental 888.mp4
ffmpeg version 2020-11-04-git-cfdddec0c8-essentials_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev3, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      56. 60.100 / 56. 60.100
  libavcodec     58.112.101 / 58.112.101
  libavformat    58. 64.100 / 58. 64.100
  libavdevice    58. 11.102 / 58. 11.102
  libavfilter     7. 88.102 /  7. 88.102
  libswscale      5.  8.100 /  5.  8.100
  libswresample   3.  8.100 /  3.  8.100
  libpostproc    55.  8.100 / 55.  8.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'videoplayback (1).mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    creation_time   : 2023-11-29T23:00:26.000000Z
  Duration: 25:37:25.30, start: 0.000000, bitrate: 347 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 0 kb/s, 30 fps, 30 tbr, 15360 tbn, 60 tbc (default)
    Metadata:
      creation_time   : 2023-11-29T23:00:26.000000Z
      handler_name    : ISO Media file produced by Google Inc.
Input #1, mov,mp4,m4a,3gp,3g2,mj2, from 'videoplayback.m4a':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6mp41
    creation_time   : 2023-11-29T23:10:35.000000Z
  Duration: 25:37:25.36, start: 0.000000, bitrate: 129 kb/s
    Stream #1:0(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 0 kb/s (default)
    Metadata:
      creation_time   : 2023-11-29T23:10:35.000000Z
      handler_name    : ISO Media file produced by Google Inc.
Output #0, mp4, to '888.mp4':
  Metadata:
    major_brand     : dash
    minor_version   : 0
    compatible_brands: iso6avc1mp41
    encoder         : Lavf58.64.100
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 0 kb/s, 30 fps, 30 tbr, 15360 tbn, 15360 tbc (default)
    Metadata:
      creation_time   : 2023-11-29T23:00:26.000000Z
      handler_name    : ISO Media file produced by Google Inc.
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 0 kb/s (default)
    Metadata:
      creation_time   : 2023-11-29T23:10:35.000000Z
      handler_name    : ISO Media file produced by Google Inc.
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #1:0 -> #0:1 (copy)
Press [q] to stop, [?] for help
frame=2767359 fps=8257 q=-1.0 Lsize= 5428350kB time=25:37:25.33 bitrate= 482.1kbits/s speed= 275x
video:3873370kB audio:1441334kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.138332%

N:\SAW\等待处理\2022年10月6日_PyTorch for Deep Learning & Machine Learning – Full Course_freeCodeCamp.org-SAW【中文字幕异常】>

20240127使用ffmpeg合并音轨和视频通道为mp4_第1张图片

20240127使用ffmpeg合并音轨和视频通道为mp4_第2张图片

https://blog.csdn.net/xian0710830114/article/details/130921272
FFMPEG常用命令 音视频合并

三、音视频合成
1.保留视频声音
原视频有声音,在保持原视频声音不变的情况下,添加背景音,并让背景音音量变小。

ffmpeg -i 1.mp4 -i 1.mp3 -filter_complex "[1:a]volume=0.3[a1];[0:a][a1]amix=inputs=2:duration=first[a]" -map 0:v -map "[a]" -c:v copy -c:a aac -y output.mp4

参数解释:
[1:a]volume=0.3[a1]:第二个素材的音频音量取30%,输出赋值为a1;
[0:a][a1]amix=inputs=2:duration=first[a]:第一个素材(视频)的声音和背景音混合,时长为第一个素材的声音,输出赋值a;
-map 0:v:视频流式拼接,这里只有一个视频;
-map "[a]":音频流式拼接,这里取刚刚输出的a;
-c:v copy:视频编码不变;
-c:a aac :音频编码acc。

2.不保留视频声音
        去掉原视频的声音,重新配音,并且声音前增加1秒的空白。


ffmpeg -i 1.mp4 -i 1.mp3 -filter_complex "[0:v]trim=0:10.1[v];[1:a]adelay=1000[a];[v][a]concat=n=1:v=1:a=1" -c:v libx264 -c:a aac -movflags +faststart output.mp4

参数说明:
[0:v]trim=0:10.1[v]:视频取1-10.1秒,这里单位是秒,输出赋值v;
[1:a]adelay=1000[a]:音频演示1000毫秒播放,这里单位是毫秒;
[v][a]concat=n=1:v=1:a=1:音视频合在一起,输出需要视频和音频;
-c:v libx264:视频编码使用x264;
-c:a aac:音频编码acc;
-movflags +faststart :这个参数跟mp4的元数据有关,设为faststart表示会将moov移动到mdat的前面,在线播放的时候会稍微快一些。

参考资料:
https://www.zhihu.com/question/300182407/answer/2864026177
如何用ffmpeg合并音频和视频?

有人不知道ffmpeg是什么吗?这里先给大家简单科普一下~

Ffmpeg是一个开源的跨平台多媒体处理工具集,用于对音频、视频和多媒体流进行编解码、转换和编辑。

要想用它来合并音视频,可以使用下面的命令?
ffmpeg -i 视频文件.mp4 -i 音频文件.mp3 -c:v copy -c:a aac -strict experimental 输出文件.mp4
(-c:v copy 表示直接复制视频流;-c:a aac 使用 AAC 编码来处理音频流;-strict experimental是一个可选参数)
?这里我只是给大家举个例子,若真正要运行命令时,需把“视频文件.mp4”、“音频文件.mp3”以及“输出文件.mp4”替换成实际的文件名和路径。

执行了该命令后,ffmpeg就会合并视频和音频,并生成一个包含合并后内容的新文件。
若觉得上述操作过于复杂,不用担心,这里再给大家分享一些简单易上手的音视频合并工具,感兴趣的朋友可码住收藏哦~

你可能感兴趣的:(杂质,ffmpeg,音视频)