我正在开发一个web应用程序,其中水印必须应用于视频,然后才能发送给用户。目前,该水印是静态的,并且在视频更新时使用ffmpeg创建。然而,应用程序正在发生变化,因此对于对视频提出的每一个请求,都将向视频添加唯一的水印。这样可以防止出现问题,因为视频文件可能相当大,添加水印可能很费时(例如,在某些情况下,添加水印可能需要超过一分钟的时间),但是不能在上传时添加水印。
我认为流媒体视频可能是一种解决方案,并使用nginx-rtmp模块实现了一种解决方案,但出现了一些问题:
我想知道这个问题是否有更好(也许更简单)的解决方案;也许流媒体视频根本就不适合?是否有一种高效的方法可以快速地将视频文件转码并开始发送到浏览器?。
我并不反对使用像node.js或其他平台/框架这样的解决方案,如果有必要,解决方案可以使用HTML5 <video>。
发布于 2015-12-18 09:31:25
ffmpeg (来自文档)的示例:
ffmpeg -loglevel -re -i movie.avi -vcodec libx264 -vprofile基准-acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:1935/hls/-vprofile
Nginx配置:
应用程序hls { live;hls on;hls_path /tmp/hls;}
公开播放URL将是http://<server>/hls/movie/playlist.m3u8。您还可以使用exec根据请求启动ffmpeg命令(带有水印覆盖)。发布于 2015-12-20 12:07:10
下面是我看到一些网站实现的解决方案:
优点:
缺点:
https://stackoverflow.com/questions/34346371
复制相似问题