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

一、哔哔一下,马上出发

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

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

二、流程分析

流程分析也是一个进行深入的思考的过程
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 +=saa
    scc = '"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+sh
    sdatas +=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的电脑上也可以使用
在这里插入图片描述

五、迭代优化

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

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
OBS Studio是一款用于录制和直播视频的开源软件。您可以通过以下步骤来使用OBS Studio进行录制: 1. 首先,您可以在联想应用商店搜索并下载OBS Studio,或者通过访问官方网站https://obsproject.com/下载安装程序。 2. 安装完成后,打开OBS Studio并单击菜单中的“文件”选项,然后选择“设置”。在设置对话框中,您可以配置录制文件的存放路径。 3. 接下来,您可以单击加号+按钮来添加录制来源。您可以选择录制电脑屏幕的显示器采集,或者打开电脑摄像头进行人脸视频采集。根据需要添加并调整来源的大小和位置。 4. 在准备好录制的设置后,您可以单击右下角的“开始录制”按钮开始录制。您还可以单击右上角的最小化按钮将OBS Studio最小化到任务栏。 5. 录制完成后,您可以再次打开OBS Studio,单击相同位置的“停止录制”按钮停止录制。 6. 在停止录制后,您可以单击菜单中的“文件”选项,然后选择“显示录像”来查看录制的视频,或者直接打开之前设置的录制文件存放路径来找到录制的视频文件。 OBS Studio还支持多种不同的AAC编码器,如Core-audio、FDK-AAC、Windows Media Foundation和FFMpeg等\[2\]。此外,OBS官方还提供了自动化编译脚本,使编译OBS Studio的过程更加简化\[3\]。 #### 引用[.reference_title] - *1* [OBS Studio录屏软件安装和使用教程](https://blog.csdn.net/qq_40910781/article/details/124108272)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [【obs-studio开源项目从入门到放弃】obs-studio项目简介和架构](https://blog.csdn.net/qq_33844311/article/details/121479224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值