youtube - ffmpeg 和 Youtube 上传 - 无法将现有音轨与外部音轨合并

标签 youtube ffmpeg youtube-api

我正在实现广告系列,其中的想法是用户正在制作电视广告。该过程如下所示:

  • 用户观看广告(youtube 视频)
  • 用户选择视频(在 Flash Player 中播放的 mp4 文件)
  • 用户使用网络摄像头/麦克风为所选视频录制自己的声音
  • 用户语音上传到服务器
  • 用户的声音与所选视频(视频+音乐)合并并保存为 mp4 文件
  • 用户视频上传到youtube

  • 在实现音视频合并时,我发现了一些惊喜:

    当我使用命令时

    ffmpeg -i sourceVideoFile.mp4 -i sourceAudioFile.mp3 -acodec copy -vcodec copy outputFile.mp4 - 视频的音乐被用户的声音取代。

    所以我使用了选项 -newaudio :

    ffmpeg -i sourceVideoFile.mp4 -i sourceAudioFile.mp3 -acodec copy -vcodec copy outputFile.mp4 -newaudio - 我可以听到输出视频既有音乐又有用户的声音。所以 - 这就是我想要达到的。但...

    令人惊讶的是,如果我将此视频上传到 Youtube,经过处理后,我可以观看它并且只听音乐。用户心声消失!

    那么,如何同时保留声音和音乐呢?

    任何想法,大师? :)

    最佳答案

    这是一个有趣的。

    # Get audio files
    ffmpeg -i SVF.mp4 SVF.wav
    ffmpeg -i SAF.mp3 SAF.wav
    
    # Merge audio streams
    ffmpeg -i SVF.mp4 -f lavfi -i "
    amovie=SVF.wav [a0];
    amovie=SAF.wav [a1];
    [a0][a1] amerge, pan=2:c0=c0+c2:c1=c1+c3" \
    -map v -map 1 -c:v copy -c:a libvo_aacenc OF.mp4
    
  • ffmpeg.org/ffmpeg.html#amerge
  • ffmpeg.org/ffmpeg.html#pan
  • ffmpeg.org/pipermail/ffmpeg-devel/2012-January/119410.html
  • 关于youtube - ffmpeg 和 Youtube 上传 - 无法将现有音轨与外部音轨合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7893623/

    相关文章:

    node.js 错误 : body attribute missing in multipart when uploading to youtube

    html - 两个不同的 YouTube 嵌入,两次相同的视频

    video - 如何连接具有不同属性的ffmpeg中的视频?

    qt - 如何从qt中的视频文件中提取图像?

    iframe - YouTube API loadVideoById startSeconds 不起作用

    youtube - 从 channel 而非特定的现场直播视频中检索YouTube live_stats并发观众

    youtube - 以全息图形式播放YouTube视频

    ffmpeg在不同时间多次叠加

    c# - Youtube Api v3多个视频时长

    python - YouTube分析