当前位置: 首页 > news >正文

网站 概念设计提供网站制作

网站 概念设计,提供网站制作,河南城乡建设部网站首页,福州专业的seo软件1:ffmepg进行打水印解密 前提ffmepg安装利用静态版就可以这个什么都有,不用再配置其他信息:(这个利用ffmpeg终端命令是没问题的,但是如果要是再C中调用ffmpeg库那么还需要从新编译安装下) 各个版本 Inde…

1:ffmepg进行打水印解密

前提ffmepg安装利用静态版就可以这个什么都有,不用再配置其他信息:(这个利用ffmpeg终端命令是没问题的,但是如果要是再C++中调用ffmpeg库那么还需要从新编译安装下)

各个版本

Index of /ffmpeg/old-releases

1.1 获取水印的列表

def get_json2txt(jsonpath):with open(jsonpath,'r',encoding='utf8')as fp:            datajson = json.load(fp)list_json = datajson["heart_beats"]watermark_texts =["none"]*20for i in range(len(list_json)):# text =[]train_id    =  "车号  "+list_json[i]['train_id']task_number =  "车次  "+list_json[i]['task_number']speed       =  "速度  "+str(list_json[i]['speed'])K_NUM = int(list_json[i]['mileage'])//1000LEF_NUM = int(list_json[i]['mileage'])%1000mileage     = "位置  "+f'K{K_NUM}+{LEF_NUM}'timetimestamp = int(list_json[i]['capturedAt'])dtime=dt.datetime.fromtimestamp(timetimestamp,tz=dt.timezone(dt.timedelta(hours=8)))formatted_time= "时间  "+ dtime.strftime("%Y-%m-%d %H-%M-%S")text= train_id +'\n' + task_number +'\n' + str(speed) +'\n' + mileage +'\n' +  formatted_timewatermark_texts[i]=text# print(text)return watermark_texts

1.2 将水印列表打印到视频上

def create_dynamic_watermark_stable(input_video, output_video, text_list,key):"""更稳定的动态水印实现方案使用时间表达式来模拟列表索引变化"""# 构建包含多个drawtext滤镜的命令filters = []for i, text in enumerate(text_list):# 每个文本显示1秒start_time = iend_time = i + 1filters.append(f"drawtext=text='{text}':fontcolor=white:fontsize=40:box=1:boxcolor=black@0.5:boxborderw=5:x=10:y=10:enable='between(t\\,{start_time}\\,{end_time})'")filter_str = ",".join(filters)cmd = ['/home/administrator/workspace/SJPTFF/ffmpeg-4.4.1-amd64-static/ffmpeg','-decryption_key',key,#这个是解密用'-i', input_video,'-vf', filter_str,'-c:a', 'copy',# '-c:v', 'copy','-y',output_video,]try:result = subprocess.run(cmd, capture_output=True, text=True)if result.returncode == 0:logger_ffmpeg.info(f"成功生成带动态水印的视频: {output_video}")else:logger_ffmpeg.error(f"处理视频时出错: {result.stderr}")except Exception as e:logger_ffmpeg.error(f"发生错误: {e}")

2 ffmpeg进行合并

 def concat_videos_subprocess(self,concatvideo,videoslist,flag=0):'''绝对路径,list内也包含绝对路径'''concat_videospath = os.path.dirname(concatvideo)concat_videos_path = os.path.join(os.path.dirname(concat_videospath),'videos_de')concat_list_txt = os.path.join(concat_videospath,'concat_list.txt')with open(concat_list_txt,"w") as f:# if flag:#     f.write(f"file '{concatvideo}' \n")for videos_path_index in range(len(videoslist)):videos_abspath = os.path.join(concat_videos_path,videoslist[videos_path_index][1])f.write(f"file '{videos_abspath}' \n")self.update_mile_time(videoslist,os.path.dirname(concat_videospath))output_path = concatvideo.rstrip('.mp4')+'temp.mp4'cmd = ['ffmpeg','-f','concat','-y','-safe','0','-i',concat_list_txt,'-c','copy',output_path]subprocess.run(cmd,check=True)os.system(f'cp {output_path}  {concatvideo}')

3 ffmpeg 进行推流

3.1 部署srs服务

SRS (Simple Realtime Server) 是一个用 C++ 编写的开源流媒体服务器,支持 RTMP、WebRTC、HLS、HTTP-FLV、SRT、GB28181 等多种协议。它设计简洁、性能高、易于部署,适合构建低延迟、高并发的实时音视频系统。

GitHub 项目地址:https://github.com/ossrs/srs

3.2 ffmpeg推流

http://www.dtcms.com/a/508195.html

相关文章:

  • w666学习平台
  • 币股同权的创新与前瞻
  • Java 大视界 -- Java 大数据在智慧文旅虚拟场景构建与沉浸式体验增强中的技术支撑
  • ctfshow pwn44
  • 二层通讯中的MAC地址介绍
  • ppt模板去哪个网站下载百度关键词搜索排行
  • 网站版面设计方案旅行网站开发意义
  • 【Go】--gin的binding内置规则
  • 关于手机电子商务网站建设网站点击排名优化
  • html源码之家在线工具seo
  • 微信克隆人,聊天记录训练专属AI(2.WeClone训练模型)
  • 【深度学习新浪潮】如何用图像生成模型绘制逼真太空卫星?
  • 【生活】风寒感冒和风热感冒
  • 怎么提高网站百度权重合同下载网站
  • AI重塑产业研发:数据驱动下的技术落地与方法论指南
  • 新化网站建设虚拟主机网站怎么上传文件
  • 性能测试 | 性能测试工具JMeter线程组和参数化的使用
  • jianshe导航网站网站关键词不稳定
  • 深圳建设商城网站营销手机系统安装
  • 深度优先遍历策略
  • Xshell效率实战系列一:多服务器基础高效管理——从定位到批量执行
  • 外部资源延迟交付时,如何保证进度
  • 建网站需要买些什么广州微信网站建设公司
  • 天津网站建设开发维护wordpress完整中文免费主题下载
  • wordpress备份整站网络推广如何有效
  • LLM微调尝试——MAC版
  • 告别平台压缩限制:Reubah使用cpolar实现公网访问实测
  • 浏览器怎么做能不拦截网站口碑好的东莞网站建设
  • 做网站可以挣多少钱it行业培训机构哪个好
  • 视频孪生技术:重构电力行业运维与管理的新范式