一、哔哔一下,马上出发

作为一名偷懒爱好者,
不喜欢做重复的工作,
一直信奉一个理念:
复杂的事情简单化,
简单的事情标准化,
标准的事情流程化,
流程化然后自动化。

如何思考:
第一步,复杂问题简单化,解剖,理解,分解成一个个小的简单问题
第二步,简单问题数量化,分门别类,归类成,共有数量多少的简单问题
第三步,根据数量化归分好的,分别做一种程序,就像编程,流水线一样,固化,提高时效。
第四步,程序化的各个分支,进行关系建立,形成解决原本复杂问题的一套体系,一套方法论。
没有简单,就没有复杂。复杂的事情实际上是由简单的事情组成的,因此思考时候要从简单出着手,一个个的简单要素突破之后,复杂的问题也就解决了。

二、流程分析

流程分析也是一个进行深入的思考的过程
1、灵感收集 2、搭建骨架 3、框架填充 4、按照框架自动化

三、脚本分析

使用工具:
OBS Studio
神级代码编辑软件(Sublime Text)
神级文件比较软件(UltraCompare)
开发工具PyCharm

1、使用OBS Studio导出脚本

新建OBS场景,简单一点,建两个场景,两个是为了方便对比,每个场景里面一张素材,然后导出。

2、使用Sublime Text打开OBS脚本

Sublime Text的jsFormat插件,解析脚本。查看脚本,寻找规律

3、手动分析脚本,尝试可行性

第一步 手动拆解脚本

第二步 手动添加尝试

第三步 OBS测试可行性

四、开发实践

开发很简单,生成的脚本是压缩过的文本。

第一步 尝试编写代码

party = input('请输入会议名称:')
name = input('请输入场景名称:')
imgname = input('请输入图片名称:')
num = int(input('请输入幻灯片页数:'))
sab=''
sdatas =''sa = '{"current_program_scene":"%s","current_scene":"%s","current_transition":"渐变","groups":[],"modules":{"auto-scene-switcher":{"active":false,"interval":300,"non_matching_scene":"","switch_if_not_matching":false,"switches":[]},"captions":{"enabled":false,"lang_id":2052,"provider":"mssapi","source":""},"decklink_captions":{"source":""},"output-timer":{"autoStartRecordTimer":false,"autoStartStreamTimer":false,"pauseRecordTimer":true,"recordTimerHours":0,"recordTimerMinutes":0,"recordTimerSeconds":30,"streamTimerHours":0,"streamTimerMinutes":0,"streamTimerSeconds":30},"scripts-tool":[]},"name":"%s","preview_locked":false,"quick_transitions":[{"duration":300,"fade_to_black":false,"hotkeys":[],"id":4,"name":"裁切"},{"duration":300,"fade_to_black":false,"hotkeys":[],"id":5,"name":"渐变"},{"duration":300,"fade_to_black":true,"hotkeys":[],"id":6,"name":"渐变"}],"saved_projectors":[],"scaling_enabled":false,"scaling_level":0,"scaling_off_x":0.0,"scaling_off_y":0.0,"scene_order":['%(name,name,party)
sb = '],"sources":['
sc = '{"balance":0.5,"deinterlace_field_order":0,"deinterlace_mode":0,"enabled":true,"flags":0,"hotkeys":{},"id":"image_source","mixers":0,"monitoring_type":0,"muted":false,'
sd = '"prev_ver":453050371,"private_settings":{},"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"settings":'
se = '"sync":0,"versioned_id":"image_source","volume":1.0},{"balance":0.5,"deinterlace_field_order":0,"deinterlace_mode":0,"enabled":true,"flags":0,"hotkeys":'
sf = '"id":"scene","mixers":0,"monitoring_type":0,"muted":false,'
sg = '"prev_ver":453050371,"private_settings":{},"push-to-mute":false,"push-to-mute-delay":0,"push-to-talk":false,"push-to-talk-delay":0,"settings":{"custom_size":false,"id_counter":1,"items":[{"align":5,"bounds":{"x":1920.0,"y":1080.0},"bounds_align":0,"bounds_type":2,"crop_bottom":0,"crop_left":0,"crop_right":0,"crop_top":0,"group_item_backup":false,"hide_transition":{"duration":0},"id":1,"locked":false,'
sh = '"pos":{"x":0.0,"y":0.0},"private_settings":{},"rot":0.0,"scale":{"x":1.0,"y":1.0},"scale_filter":"disable","show_transition":{"duration":0},"visible":true}]},"sync":0,"versioned_id":"scene","volume":1.0},'
si = '],"transition_duration":300,"transitions":[]}'
for i in range(1,num+1):saa = '{"name":"%s%d"},'%(name,i)sab +=saascc = '"name":"%s%d",'%(imgname,i)sdd = '{"file":"幻灯片%d.jpg"},'%(i)see=' {"OBSBasic.SelectScene": [], "libobs.hide_scene_item.%s%d": [],"libobs.show_scene_item.%s%d": []},'%(imgname,i,imgname,i)sff= '"name":"%s%s",'%(name,i)sdata = sc+scc+sd+sdd+se+see+sf+sff+sg+scc+shsdatas +=sdata
datas = sa + sab[:-1] + sb + sdatas[:-1] + si
print(datas)
f = open('huandengpian.json',mode='w',encoding='utf-8')
f.write(datas)

第二步 脚本测试对比

此阶段是一个反反复复的过程,生成的脚本导入OBS,UltraCompare分析比较在和之前成功的脚本进行对比。

第三步 调试优化

以下省略无数步繁琐操作

第四步 脚本封装

每次使用Pycharm太麻烦,尝试封装成exe程序,在未安装python的电脑上也可以使用

五、迭代优化

初步实现了脚本自动化并不是一劳永逸的事情,不同的场景需要进行优化。
世界上并没有完美的程序,因为写程序本来就是一个不断追求完美的过程。
在自我更新迭代中成长,每一次程序升级,都会把学到的经验写成代码,进行归档,你当成长,且自有力量。

【OBS Studio】脚本自动生成大量场景思考实践相关推荐

  1. Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告

    Polyworks脚本开发学习笔记(二二)-调取视角用脚本自动生成报告 Polyworks中,3D场景的视图可用标准视角及等轴侧视角.项目视角等方式调用,也可以用txt格式保存下来调用,如果以脚本的形 ...

  2. android getter不起作用,java - 如何在Android Studio中自动生成getter和setter

    java - 如何在Android Studio中自动生成getter和setter Android Studio中是否有一个快捷方式可以自动生成给定类中的getter和setter? 14个解决方案 ...

  3. python生成yaml_使用python脚本自动生成K8S-YAML的方法示例

    1.生成 servie.yaml 1.1.yaml转json service模板yaml apiVersion: v1 kind: Service metadata: name: ${jarName} ...

  4. python生成yaml_使用python脚本自动生成K8S-YAML

    使用python脚本自动生成K8S-YAML 1.生成 servie.yaml 1.1.yaml转json service模板yaml apiVersion: v1 kind: Service met ...

  5. NSG2-一个很好用的ns2的tcl脚本自动生成软件

    NSG2-一个很好用的ns2的tcl脚本自动生成软件 来源:Linux社区 作者:fzxy002763 NSG2-一个很好用的ns2的tcl脚本自动生成软件,NSG2.rar,一个很好的java写的t ...

  6. Orcad下使用TCL脚本自动生成导线、网络标号和off page

    Orcad是一个很优秀的原理图工具,但是手工画批量导线和网络标号的时候(比如:RGB的信号线,DDR/FLASH的地址线),比较麻烦,修改也麻烦.所以这里介绍了使用TCL脚本自动生成导线.网络标号和o ...

  7. matlab之用m脚本自动生成exe文件

    matlab之用m脚本自动生成exe文件 文章目录 matlab之用m脚本自动生成exe文件 0.前言 1.生成exe文件分两种情况 2.生成文件在自己电脑上运行 3.生成文件在其他电脑上运行 0.前 ...

  8. 使用Visual Studio宏来自动生成代码 [ Visual Studio | 宏 | 自动生成代码 ]

    前言 宏的定义:是组合到一起形成一个命令以自动完成某项任务的一系列命令和指令.(MSDN) 在使用Visual Studio宏实现JS折叠功能的时候就想过用它来实现代码自动生成,有了前面的基础,实现起 ...

  9. c++注释快捷键_是不是晚了点:Visual Studio可以自动生成注释啦!

    蝎子 如果你正在使用Doxygen或者XML文档注释,那么Visual Studio v16.6 Preview 2了一项称之为注释自动生成(automatic comment stub genera ...

最新文章

  1. 2021年度最有成就感的几件事
  2. python编译成class_django为Form生成的label标签添加class方式
  3. WebAssembly:随风潜入夜
  4. axios请求拦截器、响应拦截器、vue-router路由导航守卫的使用(案例)
  5. h5点击后字体加粗出现下边框_人力资源管理论文格式(字体+版式+打印)
  6. 使用Spark分析拉勾网招聘信息(四): 几个常用的脚本与图片分析结果
  7. 《冷眼看IT》读书笔记--IT将成为服务行业
  8. 5个好用的搜索小技巧:搜索引擎的办法
  9. Julia : Jupyter notebook 中试玩Julia
  10. php 数组添加键值对,php怎么为数组增加键值对
  11. 9106w android7,三星note4 SM-N9106W原厂刷机包4.4.4/5.0.1rom线刷包Root驱动
  12. 电子智能化专包有哪些要求和标准
  13. coreldraw x8里线段显示尺寸_cdr工具使用技巧与方法,教你CorelDRAW X8图框精确剪裁使用方法...
  14. 三人行,必有我师焉。择其善者而从之,其不善者而改之。
  15. ABYY OCR 文字识别软件 V15. 安装教程
  16. 黑龙江民族职业学院数据备份集成
  17. HTML5接入百度地图并搜索定位
  18. 校招php竞争状况,学习猿地-2018 新浪校招 PHP 实习生 电话面试总结
  19. 无法访问计算机请检查名称的拼写,win10系统访问共享文件夹提示“请检查名称的拼写”的修复方案...
  20. CSS的选择器 :first-child和:last-child

热门文章

  1. 为什么苹果手机下载不了软件?解决的办法都在这儿!
  2. 腾讯位置服务定位组件实现周边公用厕所远近排序分布图
  3. 浅谈 DDL 技术解密
  4. 【考研英语-基础-简单句】简单句的核心变化_谓语动词时态(常用8种+4)
  5. 聚焦“芯”产业,搭建“芯”桥梁——清微智能出席AIIA2020年度AI芯片交流会
  6. Cesium飞行效果
  7. Python知识点大全--如何学好Python
  8. 【书单】程序设计好书推荐
  9. 深圳大学数学文化赏析MOOC答案
  10. Linux流量控制(SFQTBFPRIOCBQHTB原理介绍)