【问题标题】:ffmpeg - mux video and audio and trim the audioffmpeg - 多路复用视频和音频并修剪音频
【发布时间】:2017-05-05 23:27:57
【问题描述】:

我有一段很长的音频部分 和一个我想混合在一起的短视频部分。

我正在尝试对 mux 执行以下命令:

  1. Video_0-0002.h264 - 整个文件(2 秒长)
  2. Audio.wav - 4 到 6 秒
ffmpeg -y -i /Documents/viz-1/01/Video_0-0002.h264 -i /Documents/viz-1/01/Audio.wav -codec:v copy -f mp4 -af atrim=4:6 -strict实验性-movflags faststart /Documents/viz-1/01/Video_0-0001.mp4

但是声音很乱... 我怎样才能正确地做到这一点?

也试过了,听上去好像最后还是沉默了。

ffmpeg -y -i Video_0-0003.h264 -i Audio.wav -c:v copy -af atrim=6:8,asetpts=PTS-STARTPTS -strict experimental -movflags +faststart Video_0-0003.mp4 输入 #0,h264,来自“Video_0-0003.h264”: 持续时间:不适用,比特率:不适用 流 #0:0:视频:h264(主要)、yuv420p(渐进式)、388x388 [SAR 1:1 DAR 1:1]、30 fps、30 tbr、1200k tbn、60 tbc 输入流#1.0 的猜测通道布局:立体声 输入 #1,wav,来自“Audio.wav”: 时长:00:00:16.98,比特率:1411 kb/s 流 #1:0:音频:pcm_s16le ([1][0][0][0] / 0x0001),44100 Hz,立体声,s16,1411 kb/s 输出#0,mp4,到“Video_0-0003.mp4”: 元数据: 编码器:Lavf57.56.100 流 #0:0:视频:h264(主)([33][0][0][0] / 0x0021),yuv420p(渐进式),388x388 [SAR 1:1 DAR 1:1],q=2- 31、30 fps、30 tbr、1200k tbn、1200k tbc 流 #0:1:音频:aac (LC) ([64][0][0][0] / 0x0040),44100 Hz,立体声,fltp,128 kb/s 元数据: 编码器:Lavc57.64.101 aac 流映射: 流 #0:0 -> #0:0(复制) 流 #1:0 -> #0:1 (pcm_s16le (native) -> aac (native)) 按 [q] 停止,按 [?] 寻求帮助 [mp4 @ 0x7fca8f015000] 未在流 0 的数据包中设置时间戳。这已被弃用,将来将停止工作。修复您的代码以正确设置时间戳 [mp4 @ 0x7fca8f015000] 开始第二遍:将 moov atom 移动到文件开头 帧= 60 fps=0.0 q=-1.0 Lsize= 242kB 时间=00:00:02.02 比特率= 982.2kbits/s 速度= 21x 视频:207kB 音频:32kB 字幕:0kB 其他流:0kB 全局标题:0kB 复用开销:1.382400% [aac@0x7fca8f017400] Qavg:1076.270

【问题讨论】:

  • 隔离问题是您的第一步。您可以尝试-c:v copy -c:a aac-c copy 来检查是否是音频重新编码问题?您的命令是否适用于其他文件?你试过-ss-d 开关吗?如果您分享您的努力,它会有所帮助。
  • 我尝试了 -ss 和 -d 但它在单个输入上不起作用。

标签: audio video ffmpeg mux


【解决方案1】:

试试

ffmpeg -y -i /Documents/viz-1/01/Video_0-0002.h264 -i /Documents/viz-1/01/Audio.wav -c:v copy -af atrim=4:6,asetpts=PTS-STARTPTS -strict experimental -movflags +faststart /Documents/viz-1/01/Video_0-0001.mp4

【讨论】:

  • 嗨,我试过了,但音频仍然不同步。
  • 那么您必须调整修剪值以使其匹配。
  • 或尝试-async 1 以防止音频被拉伸。
【解决方案2】:

您可以尝试通过视频定时剪切音频,然后对视频和音轨进行分割。 在单独的 ffmpeg 进程中使用 -vn 和 -an。

ffmpeg -i video.mp4 -c:v h264 -an -y video.h264
ffmpeg -i video.mp4 -c:a aac -t 00:01:00 -vn -y audio.aac

对于marge轨道:

ffmpeg -i auido.acc -i video.h264  -c:v copy -c:a copy -f mp4 -y out.mp4

【讨论】:

    猜你喜欢
    • 2018-02-07
    • 2018-12-22
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 2012-10-07
    相关资源
    最近更新 更多