zoukankan      html  css  js  c++  java
  • 【开发记录】RTMP协议视频直播点播智能分析平台EasyDSS拓展多种格式的水印图片功能

    上一篇我们讲了EasyDSS添加了水印的功能(EasyDSS新增生成水印模块记录),目前EasyDSS的水印功能开发中,只支持添加水印图片,我们最开始在做研发设计的时候,EasyDSSS只支持上传png格式的图片,其他格式的图片都无法正常生成水印。

    因为在EasyDSS中生成水印的命令,只支持png格式的图片。但是此时如果用户上传水印图片时是其他格式比如jpg格式,则无法生成水印视频。

    所以我们将代码设置成上传的图片都转成png格式,存在临时的文件夹中,之后在通过检测对应的水印视频是否已经生成成功,用一个定时任务进行监测,每20秒钟就检测一次,如果都成功了,就将临时png文件删除。以免占用磁盘的空间。

    参考代码:

    go func() {
       //延迟5秒
       time.AfterFunc(5000, func() {
          if len(urlPng) != 0 {
             //开启定时任务,每20秒钟检测一次
             tick := time.NewTicker(time.Second * 20)
             for {
                select {
                case <-tick.C:
                   i := 0
                   for _, v := range vodIds {
                      _, boo := gWatersProgress.Get(v)
                      if boo {
                         break
                      }
                      i++
                   }
                   if i == len(vodIds) {
                      for _, v := range urlPng {
                         err := os.RemoveAll(v)
                         if err != nil {
                            log.Println("remove fail error: ", v)
                            continue
                         }
                         log.Println("remove : ", v)
                      }
                      return
                   }
                }
             }
          }
          return
       })
    
    
    

    此时上传的是jpg图片,也是可以进行正常的水印转码,正在生成水印视频。

    对于EasyDSS,值得注意的是该视频平台作为一款RTMP协议的流媒体服务器,不仅能够支持视频直播,同时也具备点播功能,与其他平台不同的是,用户可上传视频文件,作为虚拟直播,将已经录制好的视频作为直播视频播放。

    当然,EasyDSS还具备很多二次开发的接口,用户可以自由调用进行二次开发,如果大家有兴趣,欢迎测试!

  • 相关阅读:
    BOM与DOM的区别与联系
    HTTP与HTTPS的区别
    总结一下C++与C#之间的区别
    点标记(lambda表达式+linq查询标记符)与linq语句(查询表达式)
    java多线程:继承Thread和实现Runable接口的区别
    打印BroadcastReceiver的所有接受者
    修改apk里面的源码
    关于启动模式中的问题
    onSaveInstanceState和onRestoreInstanceState()
    Options Menu的android3.0以上和以下版本显示刷新原理,刷新适配
  • 原文地址:https://www.cnblogs.com/easydss/p/14139840.html
Copyright © 2011-2022 走看看