php - 将 flv 与 mp3 合并,而不使用 FFMPEG 替换 flv 音频流

标签 php ffmpeg exec

我想将 flv 与 mp3 合并,而无需在 php 中使用 ffmpeg 触摸/删除 flv 音频流。我尝试了许多命令,但没有任何帮助。这是我现在使用的命令。

/usr/bin/ffmpeg -i "4bpCRRV82x.flv"-i "Someday.mp3" -vcodec libx264  -shortest "output.mp4"

但它用 mp3 输入代替了 flv 音频。
任何帮助和建议都将不胜感激。谢谢。

最佳答案

假设两个输入都包含立体声音频,您可以使用 amerge 音频过滤器将两个立体声流合并为一个四声道流,然后使用 pan 音频过滤器将适当的 channel 组合成一个立体声流:

ffmpeg -i video.flv -i audio.mp3 -filter_complex \
"[0:a][1:a]amerge,pan=stereo:c0<c0+c2:c1<c1+c3[a]" \
-map 0:v -map "[a]" -c:v copy -c:a aac -strict experimental -shortest out.mp4
  • 视频可以是stream copied (取决于输入的视频格式)如示例所示,如果您不需要重新编码,但如果您必须重新编码,请参阅 FFmpeg and x264 Encoding Guide .
  • 该示例使用原生 FFmpeg AAC 编码器,它需要 -strict experimental (或别名 -strict -2 )。见FFmpeg and AAC Encoding Guide有关其他编码器的信息。
  • 选项 -shortest将在最短的输入流结束时完成编码。
  • Manipulating audio channels with ffmpeg 更多示例。
  • 确保您使用的是最新版本的 ffmpeg .见FFmpeg Download用于 Windows、OS X 和 Linux 的构建页面。
  • 关于php - 将 flv 与 mp3 合并,而不使用 FFMPEG 替换 flv 音频流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22957975/

    相关文章:

    java - Android/Java 中 shell 应用程序的编译和通信

    php - 由于/tmp 充满了 PHP session 文件,mySQL 崩溃了..怎么办?

    php - 当我将它们留空时,Woocommerce 自定义字段不会更新,并且仍然显示空字段

    php - 尝试用 PHP 编译 C 代码

    ffmpeg - 高度不可整除ffmpeg

    ffmpeg - 如何在转换视频 mp4 h264 时最大限度地减少 ffmpeg 对 CPU/内存的使用

    linux - Linux 进程的堆栈大小与 pthread、fork 和 exec 有何关系

    php - Google map 不会显示点 - XML 为空

    php - javascript 数组弹出

    ffmpeg 转换不损失质量