我需要在低功耗Android设备上创建一个流畅的'新闻自动收报机'。不幸的是,在运行时使用HTML或本机代码是不可能的,因为总会有一些口吃或故障。
我创建了一个解决方案,通过为每条消息编码mp4并在另一条视频之后显示一个视频,为我提供了平滑的结果。这是我正在使用的代码:
ffmpeg -f lavfi -i color=c=black:s=1280x100 -vf "drawtext=BebasNeue.otf:fontsize=60:fontcolor=white:y=h-line_h-30:x=-(4*n)+1280:text='Hello world'" -t 10 output.mp4
问题: 我需要动态设置视频的持续时间,以便在文本完成从右到左的旅程时视频停止。消息的长度各不相同,我需要每条消息以恒定的速度滚动(即,带有较长消息的mp4将具有较长的持续时间)。
这是通过表达式实现的吗?如果不是,有一些聪明的方法我可以在ffmpeg之外计算它并将其传递给'-t'(持续时间)参数?
**编辑** 要在ffmpeg之外进行计算,我可以进行像video_width + text_width / video_fps(即1280 + 262/25)这样的计算,以便给出持续时间。所以现在我只是想看看ffmpeg命令行本身是否可行。吨
非常感谢