gpt4 book ai didi

android - FFMpeg:将图像与音频合并特定持续时间

转载 作者:行者123 更新时间:2023-12-04 23:02:39 29 4
gpt4 key购买 nike

我一直在努力 FFMpeg从过去 7 天开始。我需要创建一个需要执行以下操作的视频:

  • Concat从android存储中挑选的视频中的几张图片。
  • Add a music文件 [从 android 存储中挑选的相同]。
  • Set Duration per image将在视频中显示。例如如果选择了 3 张图像,则视频的总持续时间应为用户选择的 3*duration。

  • 到目前为止我所做的。

    我正在使用 implementation 'nl.bravobit:android-ffmpeg:1.1.5'对于 FFmpeg预构建二进制文件。
    以下是用于连接图像并设置持续时间的命令:
    ffmpeg -r 1/duration_selected_by_user -f concat -safe 0 -i path_of_concat_file.txt -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p path_of_output_video_file.mp4 

    笔记:
  • 通过将用户选择的持续时间添加为帧速率,我可以设置要显示的每个图像的持续时间。
  • Concat 运行良好,图像被合并到视频中。

  • 问题:
    当我尝试在同一进程中添加音频时,使用以下命令,即使对于小音频,进度也会运行很长时间:
    ffmpeg -r 1/duration_selected_by_user -i path_of_audio_file.mp3 -f concat -safe 0 -i path_of_concat_file.txt -c:v libx264 -profile:v high -crf 20 -pix_fmt yuv420p path_of_output_video_file.mp4

    看起来指挥有一些问题,因为我对这项技术不太熟悉和经验丰富。如何提高合并图像和音频的性能以获得更好的结果?

    与上下文相关的重要链接:

    https://github.com/bravobit/FFmpeg-Android

    最佳答案

    正如评论中提到的@HB:

    Try adding -preset ultrafast after -pix_fmt yuv420p



    一个 preset是一组选项,将提供特定的 编码速度压缩比 .较慢的预设将提供更好的压缩(压缩是每个文件大小的质量)。这意味着,例如,如果您以特定文件大小或恒定比特率为目标,您将使用较慢的预设获得更好的质量。同样,对于恒定质量编码,您只需选择较慢的预设即可节省比特率。
    按速度降序排列的可用预设是:
  • 超快
  • 超快
  • 非常快
  • 更快
  • 中 – 默认预设
  • 较慢
  • 非常慢
  • 安慰剂——忽略它,因为它没有用

  • 引用: https://trac.ffmpeg.org/wiki/Encode/H.264#Preset

    关于android - FFMpeg:将图像与音频合并特定持续时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51156379/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com