尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

python_基于主视频删减片段并插入镜头视频

python_基于主视频删减片段并插入镜头视频
📅 发布时间:2026/6/24 3:32:53

python_基于主视频删减片段并插入镜头视频

importpyJianYingDraftasdraftfrompyJianYingDraftimporttrange,ClipSettings,tim def create_jianying_draft_from_clips(draft_name,main_video_path,delete_ranges,lens_info_dict,draft_folder_path):# 时间格式转换函数(处理00:00:01,640格式)def convert_time(time_str): h,m,s_ms=time_str.replace(',','.').split(':')returnf"{int(h)}h{int(m)}m{s_ms}s"# 1、创建草稿文件夹实例draft_folder=draft.DraftFolder(draft_folder_path)# 创建新草稿(使用主视频的分辨率)main_mat=draft.VideoMaterial(main_video_path)script=draft_folder.create_draft(draft_name,main_mat.width,main_mat.height,)# 2、计算出主视频的剩余目标区间并添加到草稿中def add_main_video_segments(): script.add_track(draft.TrackType.video,"video_track")# 创建视频轨道# 解析删除区间(转换为微秒,并按起始时间排序)parsed_deletes=[]forstart_str,end_strindelete_ranges:start=tim(convert_time(start_str))# 转换为微秒end=tim(convert_time(end_str))parsed_deletes.append((start,end))# 按起始时间排序,确保区间顺序正确(避免交叉区间导致计算错误)parsed_deletes.sort(key=lambda x: x[0])# 3. 获取视频总时长video_material=draft.VideoMaterial(main_video_path)total_duration=video_material.duration# 微秒# 4. 动态计算保留区间keep_ranges=[]prev_end=0# 上一个区间的结束位置fordelete_start,delete_endinparsed_deletes:# 若当前删除区间的起点 > 上一个区间的终点,说明中间有需要保留的部分ifdelete_start>prev_end: keep_ranges.append((prev_end,delete_start))# 更新上一个区间的终点为当前删除区间的终点prev_end=max(prev_end,delete_end)# 处理区间重叠的情况# 添加最后一个保留区间(从最后一个删除区间的终点到视频结束)ifprev_end<total_duration: keep_ranges.append((prev_end,total_duration))print("保留的视频片段时间区间",keep_ranges)# 5. 截取并拼接保留的片段current_start=0# 轨道上的起始位置(确保无缝拼接)forkeep_start,keep_endinkeep_ranges:ifkeep_start>=keep_end:continue# 跳过无效区间# 截取素材中[keep_start, keep_end)的片段segment=draft.VideoSegment(video_material,target_timerange=trange(current_start,keep_end-keep_start),# 轨道上的位置和时长source_timerange=trange(keep_start,keep_end-keep_start)# 素材中截取的区间)script.add_segment(segment,"video_track")current_start+=(keep_end-keep_start)# 更新下一段的起始位置# 3、添加镜头视频def add_lens_videos():forlens_name,lens_infoinlens_info_dict.items(): lens_video_path,lens_start_time=lens_info lens_video_material=draft.VideoMaterial(lens_video_path)start_time=tim(convert_time(lens_start_time))# 创建视频轨道script.add_track(draft.TrackType.video,track_name=lens_name,relative_index=1)# 创建镜头片段lens_segment=draft.VideoSegment(lens_video_material,trange(start_time,lens_video_material.duration),# 关键设置:强制缩放镜头视频以填充整个画布,确保完全覆盖clip_settings=ClipSettings(scale_x=main_mat.width/lens_video_material.width,# 按宽度比例缩放scale_y=main_mat.height/lens_video_material.height,# 按高度比例缩放))# 添加片段到对应轨道script.add_segment(lens_segment,lens_name)add_main_video_segments()add_lens_videos()script.save()draft_name="草稿名称4"main_video_path=r"C:\Users\Jordan\Downloads\【25-41格雷灰】【脚本_2】\【25-41格雷灰】【脚本_1】.mp4"delete_ranges=[("00:00:01,640","00:00:02,640"),("00:00:03,640","00:00:04,640")]lens_info_dict={"镜头A":[r"C:\Users\Jordan\Downloads\【25-41格雷灰】【脚本_2】\【25-41格雷灰】【镜头_拉链】.MP4","00:00:01,640"],"镜头B":[r"D:\Desktop\20251206223742_rec_.mp4","00:00:06,640"]} draft_folder_path=r"D:\download_software\JianyingPro Drafts"create_jianying_draft_from_clips(draft_name,main_video_path,delete_ranges,lens_info_dict,draft_folder_path)

相关新闻

  • 2、Puppet入门:自动化配置管理解决方案
  • 3、使用Puppet创建首个清单及资源管理指南
  • 免费编程体验课寻课指南:优质平台与选择策略 - 品牌测评鉴赏家

最新新闻

  • 百考通:覆盖PLC控制、移动开发、AI/机器学习七大核心领域
  • 解锁游戏资源宝库:QuickBMS开源工具深度解析
  • 【符号定义】失败时间 x 删失事件 C
  • 为什么83%的AI项目失败源于文化断层?——深度拆解AISMM六大文化支柱与SITS 2026合规性映射表
  • QRazyBox:终极二维码修复工具,让损坏的二维码重获新生
  • Linux一口气删掉近4000行代码!活了40年的苹果协议,最终竟被AI“送走”了……

日新闻

  • 终极指南:如何用shadPS4在电脑上免费畅玩PS4游戏
  • 打造个性化Instagram Clone:主题定制与用户体验优化技巧
  • 未来展望:RoseTTAFold-All-Atom的发展路线图与社区支持资源汇总

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号