FFMPEG无法循环叠加输入图像进行动态图像叠加

php laravel-5 ffmpeg

280 观看

1回复

36 作者的声誉

我正在尝试在images / logo.png(for ex)中循环播放图像。

我正在使用php laravel创建动态图像并将其覆盖到images / logo.png中。

我的ffmpeg代码

ffmpeg -y -listen 1 -i rtmp://192.168.33.11:1935/live/mp4test -loop 1 -f image2 -i image/logo.png -filter_complex "[0:v]scale=1024:-1,setpts=PTS-STARTPTS[stream];[1:v]scale=120:-1,setpts=PTS-STARTPTS[logo] ; [stream][logo]overlay=W-w-10:H-h-10,format=yuv420p[out]" -map "[out]" -map 0:a:0 -hls_time 10 -hls_list_size 6 -start_number 1 stream.m3u8

如果我使用以下命令生成动态图像,则此代码可以正常工作

until test ; do convert -size 200x100 xc:White -gravity Center -weight 700 -pointsize 12 -annotate 0 "date" /usr/local/nginx/html/stream/test_stream/datex.png ; mv /usr/local/nginx/html/stream/test_stream/datex.png /usr/local/nginx/html/stream/test_stream/image/logo.png ; sleep 1 ; done

该脚本仅生成带有当前时间戳的图像,并将其移动到images /中作为logo.png。而且这绝对可以。

但是,当我使用laravel应用程序生成文件时,将其移入图像/ ffmpeg开始删除所有帧。

请给我建议一个解决方案。

作者: Mahi 的来源 发布者: 2017 年 9 月 15 日

回应 1


0

36 作者的声誉

我找到了解决方案。问题在于图像的分辨率。当我尝试覆盖相同分辨率的图像时。我似乎工作正常。

作者: Mahi 发布者: 2017 年 9 月 15 日
32x32