标签 GitHub 下的文章 - 🥝 E 家 分 享 🥝
首页
📋 留言板
🔗 友情链接
🛠️ E家百宝箱
❤️ 关于
推荐
🔍 VPS监控
🐉 青龙面板
💽 E家网盘
----------
🔗 CloudFlare
🔗 甲骨文云
🔗 RackNerd
搜 索
1
自动提取 ChromeGo 一键翻墙包内的免费节点
143 阅读
2
【汇总:免费节点 - 每周更新】
113 阅读
3
GigaFile - 日本免费大文件加密分享服务,最长保留文档100天
70 阅读
4
【E家分享月刊系列】2024-12
56 阅读
5
CloudFlare WARP 免费 VPN 搭建教程
55 阅读
精选网站
网站搭建
科学上网搭建
有感而发
软件技巧
Excel技巧
WordPress技巧
登录
搜 索
标签搜索
WordPress
脚本
GitHub
科学上网
哈佛管理导师
E家分享月刊系列
V2ray
Mac软件
AI
Cloudflare
Docker
免费节点
建站在线工具
Excel技巧
Notion
Nginx
ChatGPT
图像编辑
免费图床
网盘资源
E家之长
累计撰写
195
篇文章
累计收到
245
条评论
首页
栏目
精选网站
网站搭建
科学上网搭建
有感而发
软件技巧
Excel技巧
WordPress技巧
页面
📋 留言板
🔗 友情链接
🛠️ E家百宝箱
❤️ 关于
推荐
🔍 VPS监控
🐉 青龙面板
💽 E家网盘
----------
🔗 CloudFlare
🔗 甲骨文云
🔗 RackNerd
用户登录
登录
找到
15
篇与
GitHub
相关的结果
2023-03-25
Onindex-Serverless:搭建 OneIndex 阿里云函数版本
说明本项目是OneIndex的阿里云函数计算版本,无需拥有服务器,即可拥有属于自己的OneDrive云盘。特点Onedrive 网页版实现的一种方式。几乎无成本,完全实现按使用量(访问量)付费,费率极低,并且无固定费用支出。不需要自行管理服务器,运行极其稳定。而且服务的质量不受配置(带宽、内存、硬盘......)的影响。极为方便地搭配其他云计算产品进行优化。比如使用CDN对静态页面加速,同时降低流量成本。Onindex-Serverless 被设计成了前后端完全分离的现代网站模式,其中后端是由 python 的 Flask 框架完成,前端则是 React+Dva+Antd 的经典模式。整个项目的部署包仅仅只有3个文件,可以充分减小部署的麻烦,同时提供极大的自由。后端:main.py前端:config.json,index.html函数计算使用的是阿里云自己的Docker,在性能上足以满足需求,同时提供了非常稳定的服务。最重要的是有一个非常方便的 http 触发器,不需要关心域名、回源这些麻烦事,真正做到了开箱即用。项目地址Github地址:https://github.com/LiuChangFreeman/OneIndexServerless后端部分部署步骤注册阿里云账号,获取 AccessKey 和 AccessKeySecret开通对象存储与函数计算服务创建一个存储桶和一个云函数,上传 Flask 程序,并填写必要的配置 前端部分部署步骤将函数计算的 http触发器url 填写到 config.json 中使用任意一种部署静态资源的方法将 index.html 和 config.json 部署到网络上在浏览器中访问 index.html,并在后台登录 OneDrive 账号部署阿里云对象存储 OSS1. 注册阿里云账号,开通“函数计算”和“对象存储”两个服务2. 获取阿里云账号 AccessKey 和 AccessKeySecret点击右上角主账号为了安全起见,最好开一个只有对象存储权限的子账户点击创建用户,比如登录名称为 oss。点击添加权限。添加权限 AliyunOSSFullAccess在认证管理页面,点击创建 AccessKey,记下生成的 AccessKey 和 AccessKeySecret3. 创建一个存储桶在对象存储 OSS中,点击创建 Bucket,创建一个存储桶。 Bucket 名称 比如是 onedrive-5iehome,地域 比如是 华北2(北京),其余使用默认配置即可。 请记住 Bucket 名称 和地域,在下一步开通函数计算服务时需要在同一区域。在创建完存储桶后,请记下区域节点的 Endpoint(地域节点)至此,阿里云对象存储 OSS 完成设置。部署函数计算后端1. 创建一个函数计算服务选择函数计算 FC,选择服务及函数,点击创建服务。创建一个函数计算服务。 注意:区域与上一步对象存储为同一区域,即示例中的 华北2(北京)。 名称比如是 onedirve。选择显示高级选项,允许函数访问公网选择是。点击刚刚创建的函数服务 onedrive,点击创建函数。创建函数方式选择使用自定义运行时创建,即基于 Python Flask 框架编写程序。函数名称比如是 onedrive,请求处理程序类型选择处理 HTTP 请求。函数代码运行环境选择Python 3.9,代码上传方式选择使用示例代码。其他选择默认即可。2. 配置函数计算服务点击刚刚创建的函数,函数配置如下图所示。注意 Initializer 回调程序为 main.initializer。点击函数代码页面,WebIDE 中粘贴 Github 仓库路径 OneIndexServerless/Deploy/Back/ 下 main.py 的内容。# -*- coding: utf-8 -*- from __future__ import print_function import os import oss2 import requests import urllib import json import base64 import time from flask import Flask,request,redirect #以下按需更改 password="123456"#后台管理的密码 url_host= "" #http触发器的接口url access_key=''#云账号的AccessKey access_key_secret=''#云账号AccessKey的密码 oss_end_point= ''#访问对象存储的endpoint oss_bucket_name=''#可以使用的对象存储桶名称 #以下可以不修改 path_oss_store= "oneindex-serverless"#在存储桶中创建的文件夹名称 filename_token= "token.json"#保存凭据的文件名 items_per_page=50#每次获取的项目数量 #以下请勿更改 app = Flask(__name__) app.secret_key = 'oneindex-serverless' client_id = '0375f766-e528-4748-91e2-7d8fcb702889' client_secret = 'vXOJL93{#?xnotilNIU895:' redirect_uri_register = 'https://oneindex-serverless.github.io/redirect' redirect_uri_final = '/login/authorized'.format(url_host.strip("/")) auth = oss2.Auth(access_key,access_key_secret) bucket = oss2.Bucket(auth, oss_end_point, oss_bucket_name) base_url='https://graph.microsoft.com/v1.0/' scopes= "offline_access files.read.all" select="id,name,size,folder,image,video,lastModifiedDateTime" token=None oss_available=False def initializer(context): init() def handler(environ, start_response): return app(environ, start_response) @app.route('/') def home(): if token==None or "account" not in token: data = { "success":False, "oss_available":oss_available } else: data = { "success": True, "account":token["account"], "oss_available":oss_available, } return json.dumps(data) @app.route('/verify') def verify(): code=request.args.get("code") code=base64.b64decode(code).decode("utf-8") if code==password: data={ "success":True } else: data={ "success":False } return json.dumps(data) @app.route('/login') def login(): code=request.args.get("code") code=base64.b64decode(code).decode("utf-8") final=request.args.get("final") if code==password: url_login="https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=&scope=&response_type=code&redirect_uri=&state=".format(client_id, urllib.parse.quote(scopes), redirect_uri_register, redirect_uri_final+"*"+final) return redirect(url_login) @app.route('/login/authorized') def authorized(): global token try: code=request.args.get("code") final = request.args.get("final") url = "https://login.microsoftonline.com/common/oauth2/v2.0/token" headers = { "Content-Type": "application/x-www-form-urlencoded" } form = "client_id=&redirect_uri=&client_secret=&code=&grant_type=authorization_code".format(client_id,redirect_uri_register,client_secret,code) token = requests.post(url, headers=headers, data=form).json() token["time"] = time.time() path = "me/drive" url = base_url + path access_token = token["access_token"] headers = { "Authorization": "bearer ".format(access_token), "Content-Type": "application/json" } me = requests.get(url, headers=headers).json() try: token["account"]=me["owner"]["user"]["email"] except: token["account"] = me["owner"]["user"]["displayName"] token["drive"] = me["id"] json_token = json.dumps(token, ensure_ascii=False, indent=4) path_token = os.path.join(path_oss_store, filename_token) bucket.put_object(path_token, json_token) bucket.put_object_acl(path_token,oss2.OBJECT_ACL_PRIVATE) return redirect(final) except Exception as e: result= return json.dumps(result) @app.route('/list', methods = ["GET","POST"]) def list(): try: drive = token["drive"] access_token = token["access_token"] headers={ "Authorization":"bearer ".format(access_token), "Content-Type":"application/json" } if request.method=="POST": data=request.get_data(as_text=True) data = json.loads(data) url=data["next"] else: path=request.values.get("path") if path: path = "drives//root:/:/children".format(drive, path) else: path = "me/drive/root/children" url = base_url + path url = "?$top=&$select=".format(url, items_per_page, select) data = requests.get(url, headers=headers).json() response= items=[] list=data["value"] for item in list: result= if "folder" in item: result["type"]="folder" result["childCount"]=item["folder"]["childCount"] elif "image" in item: result["type"]="picture" elif "video" in item: result["type"] = "play-square" else: result["type"] = "file" result["id"] = item["id"] result["name"] = item["name"] result["size"] = item["size"] result["time"] = item["lastModifiedDateTime"] items.append(result) response["data"]=items if "@odata.nextLink" in data: response["next"]=data["@odata.nextLink"] else: response["next"] =None except Exception as e: response= return json.dumps(response) @app.route('/download') def download(): id = request.args.get("id") if id: path='me/drive/items/'.format(id) url = base_url + path access_token = token["access_token"] headers = { "Authorization": "bearer ".format(access_token), "Content-Type": "application/json" } data = requests.get(url, headers=headers).json() if not "folder" in data: url_download=data["@microsoft.graph.downloadUrl"] return redirect(url_download) @app.before_request def before(*args,**kwargs): global token try: time_now = time.time() time_last = token["time"] if time_now - time_last >3500: refresh_token = token["refresh_token"] scope = token["scope"] url = "https://login.microsoftonline.com/common/oauth2/v2.0/token" headers = { "Content-Type": "application/x-www-form-urlencoded" } data = { "client_id": client_id, "client_secret": client_secret, "redirect_uri": redirect_uri_register, "refresh_token": refresh_token, "grant_type": "refresh_token", "scope": scope, } data = requests.post(url, data=data, headers=headers).json() data["time"] = time.time() data["account"] = token["account"] data["drive"] = token["drive"] token = data json_token = json.dumps(data, ensure_ascii=False, indent=4) path_token = os.path.join(path_oss_store, filename_token) bucket.put_object(path_token, json_token) except: pass def init(): global token,oss_available try: service = oss2.Service(auth, oss_end_point.replace("http://", ""), connect_timeout=1) service.list_buckets() oss_available=True path_token ="/".format(path_oss_store,filename_token) if bucket.object_exists(path_token): token = bucket.get_object(path_token) token = json.loads(token.read()) except: pass if __name__=="__main__": init() app.run()更改下面内容为刚刚创建的 AdccessKey,AccessSecret,oss_end_point 和存储桶名称。点击部署代码。#以下按需更改 password="123456"#后台管理的密码 url_host= "" #http触发器的接口url access_key='xxx'#云账号的AccessKey access_key_secret='xxx'#云账号AccessKey的密码 oss_end_point= 'http://oss-cn-beijing-internal.aliyuncs.com'#访问对象存储的endpoint oss_bucket_name='onedrive-5iehome'#可以使用的对象存储桶名称点击触发器管理(URL)页面,创建触发器 onedrive 并启用。复制公网访问地址链接,将其粘贴到上面函数代码 main.py 的 url_host 中。部署前端网页1. 复制前端网页内容到服务器将Github 仓库路径 OneIndexServerless/Deploy/Front/ 下 config.json 和 index.html 复制到网站根目录或指定文件夹下。2. 配置相应文件config.json 配置内容如下:{ "host":"https://1379413538033051.cn-beijing.fc.aliyuncs.com/2016-08-15/proxy/onedrive/onedrive" }至此该项目搭建完毕。部署文件下载地址:Onindex-Serverless搭建OneIndex阿里云函数版本.exe https://www.aliyundrive.com/s/qBN2GQpAVzs 提取码: 09bn https://www.123pan.com/s/Oy5RVv-GwXB.html 提取码:uHA5登录后台配置 OneDrive 账号1. 注册 OneDrive 5T账号Office 365 E5账号注册地址:https://developer.microsoft.com/en-us/microsoft-365/dev-program 如何申请上网搜索,这里就不赘述了。稍后我也可以写个教程。 开通权限请参考:https://alist.nn.ci/zh/guide/drivers/onedrive.html2. 登录 OneIndex 后台配置打开后台地址,默认是 \`https://www.网站.com/oneindex/#/admin输入密码(与部署函数计算阶段的一致,默认是123456)登录 OneDrive 账号,会自动跳转到 MicroSoft 账号网站。最终显示系统状态全部是绿色即为安装成功。 效果展示 参考资料https://zhuanlan.zhihu.com/p/74538287【END】
2023年03月25日
5 阅读
0 评论
0 点赞
2023-03-11
【网站分享】综合网站分享
近日逛 B 站,发现有几个宝藏 Up 主自制分享网站,整合了许多有趣网站或者最新软件下载。以后发现类似网站,也都更新整理在该帖。一网一匠极速版地址:https://ywyj.cn/说明:一起发现有趣的新产品 资源网Pro地址:https://www.zywpro.com/说明:免费软件下载,PPT素材下载,美女图片,素材统统免费 UP-6地址:https://www.up-6.com/说明:最专业的英语学习导航网站 HelloGitHub地址:https://hellogithub.com/说明:HelloGitHub 是一个分享有趣、入门级开源项目的平台。希望大家能够在这里找到编程的快乐、轻松搞定问题的技术方案、大呼过瘾的开源神器,顺其自然地开启开源之旅。 Github项目精选地址:https://tommymerlin.github.io/Awesome-Repository/#/Github 地址:https://github.com/TommyMerlin/Awesome-Repository说明:A collection of useful Github repositories. Github项目精选。 Neal.fun地址:https://neal.fun/说明:a tiny website by neal,一个分享有趣项目的个人网站。 .li地址:https://david.li/说明:非常惊艳的 CSS 项目个人网站。 Taste Atlas - 全球食物地图地址:https://www.tasteatlas.com/search说明:World Food Atlas,Discover 16979 Local Dishes and Ingredients
2023年03月11日
13 阅读
0 评论
0 点赞
2022-12-27
Fluent Reader:桌面版 RSS 阅读器
前言自从谷歌停止 RSS 服务后,感觉属于 RSS 的时代就结束了。现在及时网站有 RSS 订阅链接,但估计很少有人真的订阅了。我还是比较喜欢 RSS 形式的,不用费力去打开自己感兴趣的网站,RSS 阅读器会自动抓取网站最新发帖,汇总在一起,便于高效阅读,这已经成为我每天早上在很短时间内了解过去一天最新动态的标准操作了。 因此我自己自建了一个 RSS 在线服务,地址就在站点概况下的 自建 RSS。今天我要跟大家分享的是一款开源的桌面级 RSS 阅读器:Fluent Reader。Fluent Reader官方网站:https://hyliu.me/fluent-reader/Github 地址:https://github.com/yang991178/fluent-reader软件特点使用 Electron、React 和 Fluent UI 构建的现代桌面 RSS 阅读器。受 Fluent Design System 启发的现代 UI,具有完整的暗模式支持。在本地阅读或与与 Fever 或 Google Reader API 兼容的自托管服务同步。与 RSS 服务同步,包括 Inoreader、Feedbin、The Old Reader、BazQux Reader 等。导入或导出 OPML 文件,完整的应用程序数据备份和恢复。使用内置文章视图阅读完整内容或默认加载网页。使用正则表达式搜索文章或按阅读状态过滤。使用类似文件夹的分组来组织您的订阅。单键键盘快捷键。使用正则表达式规则在文章到达时自动隐藏、标记为已读或加注星标。在后台获取文章并发送推送通知。开放和组织与 Inorer、Feedbin 或与 Fever 或 Google Reader API 兼容的服务保持同步。或者,从OPML文件导入源并在本地读取。使用组轻松组织源。在具有完整数据备份的计算机之间移动。流利地阅读使用内置的 RSS 全文文章视图,以最大限度地集中注意力,享受前所未有的内容。源代码只附带片段?配置为使用 Mercury Parser 加载完整内容,在应用程序中加载网页,或默认情况下从外部打开。搜索和过滤使用正则表达式的强大功能查找任何您想要的内容。搜索文章的标题和全部内容。将文章标记为带星号的、隐藏的或未读的,并在文章到达时使用基于正则表达式的自定义规则进行筛选。隐私至上您的所有数据都会随身携带。退出时清除所有 cookie。XSS 在隔离上下文中被阻止。从未收集过个人信息。行为跟踪受限。实施了严格的内容安全策略。PAC 的代理支持。【END】
2022年12月27日
3 阅读
0 评论
0 点赞
2022-12-06
使用小火箭免广告观看油管视频
前言本方法通过小火箭安装证书,安装模块,实现免广告观看油管视频。参考网址:https://www.nfzyw.com/504.html步骤生成证书打开小火箭配置页面,点击本地文件右侧的感叹号。 点击HTTP 解密选项,进入后打开HTTP 解密右侧胶囊按钮,进入证书页面。 点击生成新的 CA 证书选项,在弹出框中,点击生成新的 CA 证书选项。屏幕会显示对勾动画。 在证书页面下,点击安装证书选项,弹出窗口提示此网站正尝试下载一个配置描述文件,你要允许吗?,选择允许。下载后提示已下载描述文件。 证书安装和信任接下来切换到苹果手机的设置,选择通用选项下的VPN与设备管理。找到刚刚已下载的描述文件。 点击该描述文件进入,点击右上角安装,输入锁屏密码,再次点击右上角安装,显示已验证,点击右上角完成。至此完成了证书的安装。 选择通用选项下的关于本机,找到最下面的证书信任设置,点击进入后,在针对根证书启用完全信任列表中找到刚才的描述文件,打开右侧胶囊按钮。在弹出的根证书窗口,点击继续。至此完成了证书的信任。 确认HTTP 解密为打开状态接下来切换到小火箭,点击左上角关闭,点击证书页面右上角的对勾,点击HTTP 解密页面右上角的对勾。 安装模块打开小火箭配置页面,点击模块。在模块页面下,点击右上角的+选项,弹出从给定的 URL 下载配置...对话框。在地址栏中输入以下链接:https://raw.githubusercontent.com/Infatuation-Fei/rule/main/Shadowrocket/Module/YouTubeAds.sgmodule点击下载。完成后,会出现YouTube 去广告模块,右侧显示对勾。 注意:如果下载过程中出现无法下载,请尝试先打开小火箭代理后再进行下载。现在可以去油管观看视频,试试看有没有广告啦!附录:YouTubeAds.sgmodule 代码内容#!name=YouTube去广告 #!desc=仅用于视频广告 [URL Rewrite] (^https?:\/\/[\w-]+\.googlevideo\.com\/(?!dclk_video_ads).+?)&ctier=L(&.+?),ctier,(.+) $1$2$3 302 ^https?:\/\/[\w-]+\.googlevideo\.com\/(?!(dclk_video_ads|videoplayback\?)).+&oad - reject ^https?:\/\/youtubei\.googleapis\.com\/youtubei\/v\d\/player\/ad_break - reject ^https?:\/\/(www|s)\.youtube\.com\/api\/stats\/ads - reject ^https?:\/\/(www|s)\.youtube\.com\/(pagead|ptracking) - reject ^https?:\/\/s\.youtube\.com\/api\/stats\/qoe\?adcontext - reject [MITM] hostname = %APPEND% -redirector*.googlevideo.com,*.googlevideo.com,www.youtube.com,s.youtube.com,youtubei.googleapis.com【END】
2022年12月06日
13 阅读
0 评论
0 点赞
2022-05-07
【汇总:视频编辑】
前言分享的视频编辑软件主要面向电影视频剪辑和自制视频剪辑。LosslessCut地址:https://github.com/mifi/lossless-cut说明:LosslessCut (无损切割)是一个开源完全免费的无损视频或音频的剪切/裁剪/分割/截取和视频合并工具,跨平台支持 Windows、Mac 和 Linux,提供多国语言含简体中文界面,操作简单功能丰富而且软件绿色!它最大的特点是裁剪速度逆天、视频画质无损!使用教程参见:https://www.acfun.cn/a/ac34818705?from=video设置中文链接到到网站下载软件,下载完成以后,看到它是一个单文件程序。双击打开软件。开启的程序如下图所示,点选「File」,选择「Settings」。语言选择「简体中文」,设定完成后,关闭窗口,软件界面就变为简体中文了。点选「?」按钮,开启说明窗口。内容显示键盘快捷方式与按钮的功能,如下图所示。阅读完毕,关闭窗口。点选「工作目录未设置」,可以设定剪切完成以后视频储存的存储位置。如果不指定,剪切后的视频会储存在源视频的相同的文件夹内。功能区展示切换软件高级和简单设置界面缩放时间轴功能:就是把时间轴的显示帧与帧之间的长度放大(总视频长度不变),达到更精确定位的目的。缩放1倍和缩放8倍时间轴的播放速度对比显示波形:在软件中显示声音波形。显示缩略图:在软件中显示缩略图画面。显示关键帧:在软件中显示视频关键帧。每一个黑色的小竖条就是一个关键帧跳转至视频开头:跳转至整个视频的起点位置。跳转至视频末尾:跳转至整个视频的终点位置跳转至切割起点:跳转到剪切好视频的起点位置。跳转至切割终点:跳转到剪切好视频的终点位置。寻找上一个关键帧和下一个关键帧,这里需要注意:关键帧和关键帧之间有不止一帧的图片。而寻找上一帧和寻找下一帧,是一张图片一张图片的查找。和下边的寻找上一帧和寻找下一帧区分开。剪切视频选择「文件」-「打开」,选择需要剪切的视频,或者直接将视频拖入软件中。就可以开始剪切或合并视频了。打开视频后,程序会自动选择正确的文件格式,使用默认值就可以;如下图所示,加载的视频格式为MP4,已经自动选择视频格式为「MP4」。加载的视频格式为MKV,已经自动选择视频格式为「matroska」。视频加载以后,如果你已经知道视频要剪辑的的时间点,就直接输入时间,如下图所示。如果不知道,就点击「播放」按钮,播放视频,寻找要删除视频的起点和终点。拖拽时间轴可以快速移动视频到你想要的位置。在要设为起点的地方按「暂停」按钮。可以按左右移动帧的按钮,精确调整起点位置。点击「将当前位置设置为切割起点」,将当前的位置设定为起点。重复以上操作,找到终点位置以后,点击「将当前位置设置为切割结束点」,将当前的位置设定为终点。橘黄色的范围是要保留的视频片段,如下图所示。按下导出按钮,视频就开始剪辑了。简单来说就是把一个视频分为3段,剪切掉片段1和3保留片段2。如果选中「导出前显示导出选项?」导出时会显示视频信息,未选中则直接剪切视频。剪辑完毕导出后的文件如果要保留多个视频片段,则在视频中重复选取需要保留视频片段的起点和终点。如图所示:删除视频中的一个片段我们按照上边已经剪切好了要删除的视频片段。为了方便理解,我把要剪切的视频分为3个部分,默认剪辑好的视频是保留视频片段2,删除视频片段1和3。那么要删除视频片段2,保留视频片段1和3。就要点击「放弃选定片段」按钮。点击完毕后,看,视频片段1和2的标志已经由灰色的删除图标变为绿色的保存图标,而视频片段2则出现了删除图标。在软件右侧也出现了相应的视频片段信息。当软件包含多个视频片段时,它会出现4个导入导出选项单独的文件:把视频片段1和3单独剪切出来。切割合并:是将视频片段1和3直接合并。Chapters only:字面意思是不对原视频进行剪辑,但包含有视频剪辑的标签。合并&分离:是将视频片段1和3直接合并的同时又把视频片段1和3单独剪切出来。删除多个视频片段我们按照上边的方法剪切好了要删除的视频片段。为了方便理解,我把要剪切的视频分为7个部分,默认剪辑好的视频是保留视频片段2、4、6,删除视频片段1、3、7.那么要删除视频片段2、4、6,保留视频片段1、3、7。就要点击「放弃选定片段」按钮。然后视频片段就被反向选择了,点击导出就可以删除多个视频片段了。软件轨道首先在软件中打开一个视频,点击「轨道」。打开轨道选项。点击video或者audio前的图标时,红色代表禁用视频中的声音或者画面。绿色代表启用视频中的声音或者画面。要单独保留音频时只用点击audio中的「将此轨道提取为文件」就可以了。单独保留无声视频也是相同操作。在软件主界面上,也可以方便的启用和禁用视频声音。点击保留或者丢弃音频即可。给视频加字幕和背景音乐打开一个视频,点击「轨道」,选择「包含其他文件中的更多轨道」。选择准备加上的字幕或者背景音乐文件。然后单击导出按钮转换视频。注意因为mp4无法外挂字幕,所以输出格式必须选择「matroska」〈MKV文件格式〉,才能加上外挂字幕。合并多个不同的视频选择「文件」-「打开」,选择需要合并的视频,或者直接将视频拖入软件中。切换到被程序支持的格式选项合并/连接文件选项Options选项输出格式选项。这些保持默认设置就好,点选「合并」,开始合并视频。正在合并视频,如下图所示。截取视频画面图片在软件中打开要选择要截取画面的视频。如下图所示,默认图片的格式为jpeg,点选「jpeg」按钮,可以更改图片的格式为png。点选「播放」按钮,播放视频。在要截取地方点选「截取帧」,将画面截取为图片。截取完成。重复上述动作,继续截取其他画面。如未设置工作目录,截取的图片会和源视频储存在一起
2022年05月07日
3 阅读
0 评论
0 点赞
1
2
3