ffmpeg drawtext 性能

标签 ffmpeg

我使用 shell_exec 在 PHP 中运行以下命令:

ffmpeg -i $sourcePath -vf \"drawtext=text='$txt':fontfile='$fontPath':fontcolor='red':fontsize='40':x=w-mod(max(t-1\,0)*(w+tw)/30\,(w+tw)):y=main_h/2\" -acodec copy $targetPath

它工作正常,但它需要永远。处理一个 3 分钟的视频需要 5 分钟。关于如何提高性能的任何建议?

最佳答案

使用 GPU 解码和编码来加速它。
我的代码适用于 GeForce GTX 视频卡。

ffmpeg 
    -hwaccel_device 0              
    -hwaccel cuvid                
    -c:v h264_cuvid
    -i $sourcePath 
    -vf hwdownload,format=nv12,drawtext=text='$txt':fontfile='$fontPath':fontcolor='red':fontsize='40':x=w-mod(max(t-1\,0)*(w+tw)/30\,(w+tw)):y=main_h/2,hwupload
    -acodec copy 
    $targetPath

关于ffmpeg drawtext 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58244865/

相关文章:

ffmpeg - 使用ffmpeg根据时间戳替换单帧

video - ffmpeg setpts 在不重新编码的情况下应用统一偏移

带有背景颜色的ffmpeg

python - 使用moviepy使用ffmpeg阅读视频

php - 在后台使用 ffmpeg 进行转换

c++ - FFmpeg:如何在从 RTSP 读取时控制控制台输出?

ffmpeg - 使用 FFmpeg 将 2 个 FLV 电影并排放置

video - 无法使用任何工具旋转/转码视频

android - FFMPEG 安卓库

android - 如何使用 ffmpeg 命令在 android 中的 .avi 视频中添加文本标题