百度沃家云盘pc客户端最近几天mac无法下载,客户端直接显示下载失败,网页端下载无反应

11261人阅读
C/C++(8)
找了部电影来看,分为上下两集两个视频文件.但是字幕文件是一个srt格式的文件.于是自己写了个将一个字幕文件分割为上下两集的程序.
使用方法很简单:adjsrt.exe sub_title.srt -hh:mm:sssub_title.srt 你要处理的字幕文件-hh:mm:ss&&&& 你要减去的时间,-是减号,表示减去的意思,hh是两位数字,对应小时,mm对应分钟,ss对应秒
程序会将处理后的结果(实际上就是srt格式字幕文件的内容)打印到屏幕上,如果你要处理结果直接生成srt文件:adjsrt.exe sub_title.srt -hh:mm:ss & 你要生成的srt文件.srt
比如你要将持续时间为1个小时的字幕文件分割为两个各半小时的字幕文件.实际上就是将后半个小时的字幕文件输出到另一个文件里,字幕的时间标号都减去半小时.
你可以这样做:adjsrt.exe 持续为1小时.srt -00:30:00 & 后30分钟.srt
#include &cstdio&
#include &cstring&
#include &cstdlib&
main(int argc, char** argv)
char stime[]=&-00:00:00&;
if(argc&=<font color="#){
printf(&%s/n&,&Usage: adjsrt.exe sub_title.srt -hh:mm:ss&);
strncpy(stime,argv[<font color="#],<font color="#);
stime[<font color="#]=stime[<font color="#]=<font color="#;
char c=stime[<font color="#];
const char* h=stime+<font color="#;
const char* m=stime+<font color="#;
const char* s=stime+<font color="#;
sec=atoi(h)*<font color="#*<font color="#+atoi(m)*<font color="#+atoi(s);
int from_sec;
int to_sec;
char prev[<font color="#6]={<font color="#};
char line[<font color="#6]={<font color="#}; //256 is big enough for one line (even Chinese characters)
char buf[<font color="#6]={<font color="#};
char from_mill[<font color="#]={<font color="#};
char to_mill[<font color="#]={<font color="#};
FILE* f=fopen(argv[<font color="#],&r&);
printf(&Failed to open %s!/n&,argv[<font color="#]);
int cnt=<font color="#;
r=fgets(line, sizeof(line)/sizeof(line[<font color="#]),f);
if(!r) continue;
if(!strstr(line,& --& &)){
strcpy(prev,line);
strcpy(buf,line);
buf[<font color="#]=buf[<font color="#]=buf[<font color="#]=buf[<font color="#]=buf[<font color="#]=buf[<font color="#]=buf[<font color="#]=buf[<font color="#]=<font color="#;
from_sec=atoi(buf)*<font color="#*<font color="#+atoi(buf+<font color="#)*<font color="#+atoi(buf+<font color="#);
to_sec=atoi(buf+<font color="#)*<font color="#*<font color="#+atoi(buf+<font color="#)*<font color="#+atoi(buf+<font color="#);
if(from_sec&=sec)
strncpy(from_mill,buf+<font color="#,<font color="#);
strncpy(to_mill,buf+<font color="#,<font color="#);
from_sec-=sec;
to_sec-=sec;
printf(&%d/n&,cnt);
printf(&%02d:%02d:%02d,%s --& %02d:%02d:%02d,%s/n&,
from_sec/<font color="#00,(from_sec%<font color="#00)/<font color="#,from_sec%<font color="#,from_mill,
to_sec/<font color="#00,(to_sec%<font color="#00)/<font color="#,to_sec%<font color="#,to_mill);
r=fgets(line, sizeof(line)/sizeof(line[<font color="#]),f);
printf(line);
printf(&/n&);
}while(r);
fclose(f);
&&相关文章推荐
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:944113次
积分:6610
积分:6610
排名:第3269名
原创:127篇
评论:568条
(1)(1)(1)(1)(1)(1)(1)(2)(1)(2)(2)(2)(2)(4)(3)(3)(3)(1)(1)(2)(1)(1)(1)(1)(2)(1)(1)(3)(1)(1)(2)(6)(4)(4)(2)(1)(2)(2)(2)(15)(4)(1)(14)(12)(12)爱剪辑加字幕之经验及Python程序批量加字幕 - 简书
爱剪辑加字幕之经验及Python程序批量加字幕
最近学校社团做了个视频,以前都用Premiere加字幕比较麻烦,听说爱剪辑比较傻瓜,试了下的确比较方便,就在这里记录下经验吧。
成品视频效果见。主要是用After Effect套上一些照片的模板,再做几个如片头片尾的特效,之后用Premiere剪辑采访的视频素材和其他照片素材、特效素材,最终用爱剪辑加上字幕。整体视频后期大概用了是三人×一个礼拜的课余时间。
视频里用到的字幕主要有两种格式,第一种是全屏打字效果,第二种是普通的对话字幕及人物附注,见下面两张图。
全屏打字效果.png
对话字幕及人物附注.png
首先根据音频整理成文字稿,建议软件识别后人工修正,软件识别方法见。
经过试验后字幕格式
中文字体用冬青黑传统中文W3
字体为白色,阴影为4,阴影颜色为rgb(63,63,63),无描边
使用爱剪辑加字幕的经验
因为每次爱剪辑新增字幕后格式都要重新调,所以不妨复制已经调整好格式的字幕然后调整时间轴到所需加字幕处粘贴即可。
每次加字幕时均会在视频前加上一个片头,并吃掉一部分结尾,所以在爱剪辑结尾加上一分钟左右的黑屏,最后再用Premiere减掉即可。
人物对话字幕因为出现特效时间长、消失特效时间长不能为零,均设为0.01秒确定字幕时间
用Adobe Edition依照波形来精确确定时间精确到0.01秒
如果说话之间没有明显停顿,只要确定两句话之间的一个时间点作为这句话的结束和下句话的开始即可打字效果字幕
确定在时间轴上每句话的开始、结束时间,依次确定字幕逐字出现的特效时长(后者减前者)
确定所有字幕淡出的时间轴时间,并参照时间轴上每句话的结束时间确定字幕停留的特效时间长(前者减后者)
所有字幕的消失特效时间长均相同,1s以下即可
一句话中即使视频里面为一行如果有明显停顿的仍拆分为两个字幕
使用程序批量加人物对话字幕的方法
确定工程文件中的字幕格式
对于人物说话的字幕,由于格式比较固定(字体格式均相同、位置均处于屏幕下方),又发现爱剪辑的工程文件为文本文件,里面的字幕参数直接可以修改,工程文件中字幕为"TextList":[{字幕1},{字幕2}],且每个字幕中只有BeginTime、EndTime、StayEffTimeLen、Transform、ZOrder这些参数要修改:
BeginTime=时间轴上开始秒数*
EndTime=时间轴上结束秒数*
StayEffTimeLen=EndTime-BeginTime-0.02*.02秒为出现特效时间长加上消失特效时间长)
Transform确定字幕的位置和其它一些信息,我暂时没看到什么规律
ZOrder为字幕的序号,第一个为-,之后每个依次加1
将字幕信息存为文本文件
将字幕的信息输入excel后得到如下图
字幕Excel.JPG
然后存为csv文件如下
BeginTime,EndTime,StayEffTimeLen,字幕
00000,他留校之后
00000,就向教育基金会的老师提出了一个想法
00000,能不能把明德奖学金的获得者组织起来
00000,变成一个社团
0000,当时很神奇啊
用Python批量生成所有字幕的代码
先在爱剪辑中调整好一句字幕的格式,然后保存成工程文件后从中提取字幕的代码,并依次用Python生成所有字幕的代码Python程序的作用是依照调整好的字幕格式,根据excel中其他字幕的开始时间、结束时间和字幕本文来生成所有字幕的代码,由于我在Transform参数中没看到什么规律,所有字幕的transform参数均设置相同,所以最终还要调整下字幕的位置Python代码示例如下(倒数第四行依据工程文件中的字幕代码调整即可,一般来说先设置好一句字幕的格式,然后只需修改下面代码中第四行中"FontSize"和"Transform"的内容)
#!user/bin/env python3
# -*- coding: gbk -*-
BeginTime,EndTime,StayEffTimeLen,Text=[],[],[],[]
outcome=""
lines = open('001.csv')
for line in lines:
BeginTime.append( line.split(',')[0])
EndTime.append( line.split(',')[1])
StayEffTimeLen.append( line.split(',')[2])
Text.append( line.split(',')[3].rstrip())
for i in range(1,len(BeginTime)):
outcome+='{"Alignment":1,"BeginTime":'+str(BeginTime[i])+',"CharSpacing":1,"Effect":{"InEffRowSpaceTime":0,"InEffTimeLen":100000,"InEffWordSpaceTime":0,"InEffectName":"FadeText","Name":"TextCombination","OutEffRowSpaceTime":0,"OutEffTimeLen":100000,"OutEffWordSpaceTime":0,"OutEffectName":"FadeText","StayEffRowSpaceTime":0,"StayEffTimeLen":'+str(StayEffTimeLen[i])+',"StayEffWordSpaceTime":0,"StayEffectName":"ImageStaticLinear"},"EndTime":'+str(EndTime[i])+',"IsCreateBorderTexture":false,"IsCreateShadowTexture":false,"IsRightToLeft":false,"IsVertical":false,"LayoutType":1,"RowSpacing":0,"SplitType":4,"Style":[{"Alpha":255,"BorderColor":[255,0,0,0],"BorderSize":0,"FontName":"H-冬青黑体传统中文-W3","FontSize":70,"IsBold":false,"IsItalic":false,"IsLucencyText":false,"IsShadowSuccessive":false,"IsStrikeout":false,"IsUnderline":false,"IsVertical":false,"ShadowColor":[255,63,63,63],"ShadowOffsetX":4,"ShadowOffsetY":4,"TextBGImagePath":"","TextColor":[255,255,255,255],"TextColorMode":0,"TextGradientBeginColor":[255,63,63,63],"TextGradientColorAngle":90,"TextGradientEndColor":[255,0,0,0]}],"Text":"'+Text[i]+'","TextureUnitSpacing":1,"Transform":[1,0,0,0,0..75,951.75,1],"WordSpacing":1,"ZOrder":'+str(num)+'},'
outcome=outcome[0:len(outcome)-1]
f=open('file','w')
f.write(outcome)
将用生成的代码替换工程文件中的字幕代码
用python生成的file文件中的内容替换原始工程文件中"TextList"这个list里面的内容,保存工程文件,然后所有字幕就批量生成了,最后只需要调整字幕位置即可(在爱剪辑中点击字幕中字体设置中的位置,选“中下”位置即可)查看: 43368|回复: 20
创建批量字幕的一点技巧
在线时间 小时
大家或许都有这样的经验,用Pr做对白,唱词等批量字幕,每做好一句,得把字幕编辑窗口关掉,再重新打开,做第二句的字幕……这个过程可以把人折腾死。于是很多人开始装一些字幕软件,像小灰熊,天影之类的。但我试用过后发现通过这些软件建立的字幕好像质量都不大好,加上我又不喜欢挂太多的插件,所以一直在研究怎么提高用默认的字幕编辑器创建批量字幕的效率。要提高建字幕的效率,最关键的是要避免以下两种情况:
(一)每建一行字幕就要关闭再打开字幕编辑窗口;
(二)右手一会打字,一会拿鼠标点击;
解决方法:
& & 第一,在字幕编辑窗口左上角有一个按钮,它的作用是基于当前字幕创建新字幕。
01.jpg (8.23 KB, 下载次数: 421)
16:22 上传
当做好一行字幕Title01后,点击这个按钮,Title02就被保存好了,可以在项目面板看到。同时,字幕编辑窗口没有关闭,我们可以在Title01的基础上建Title02。这个功能不仅免去了频繁打开关闭窗口的麻烦,还可以让每个字幕保持同一个属性,对于创建对白,唱词等具有相同位置,字号,字体等的字幕非常有用;
& & 第二,虽然不用再老关闭、打开窗口,但我们还是得持续这种操作:用鼠标点“基于当前字幕创建新字幕”按钮,然后右手放到键盘上,将前一个字幕的内容删掉,输入第二个字幕的内容,再把右手放到鼠标上操作,再点击“新建”按钮……右手不停地在键盘和鼠标之间切换,无疑降低了输入的效率。因此,可以为“基于当前字幕创建新字幕”这个功能设置一个快捷键。在菜单上选择Edit(编辑)-Keyboard Customization(自定义键盘),在出现的窗口中选择Title(字幕)-New Title(新字幕)-Based on Current Title(基于当前字幕),默认这一项是没有设置快捷键的,在这一项右边的空白处点击一下,在键盘上按你想要的快捷键,我设置的是F4。
02.jpg (29.08 KB, 下载次数: 359)
16:22 上传
& & 设置好快捷键后,创建字幕的流程就如下:首先创建好第一行字幕,然后F4新建字幕,再Ctrl+A全选前一个字幕的内容,按Backspace(退格)或者Delete(删除),输入第二行的字幕……这样,所有的操作都能在键盘上完成了~~
& & 以上为个人经验,仅供参考~~
期待你更精彩的下一帖!
在线时间 小时
楼主善于动脑精神可嘉.不过所讲的不是创建多少&行&字幕,而是创建多少&个&字幕文件,这些字幕的位置大小颜色字体等属性是一样的,这是唱词或者对白字幕的特点。实际上,这时最需要解决的是“录入”问题,快捷键只能帮一点小忙。推荐用一个JAVa小软件帮大忙,它可以帮你把成百上千“行”文字瞬间变成PR的字幕文件,你要做只是用最习惯的方式输入文字稿或者把现成的文稿分成“行”,然后给出一个“模版”就OK了。这个小软件就是PrTitleCreator。注意:1、它不是插件,是一个单独使用的小软件。2、它完全使用PR自带的字幕创建功能,也就是说字幕质量与其毫无差别。本人亲自测试过,绝非小灰熊等能比。当然,它只是帮你把文稿快速的变为PR字幕文件,没有“拍”时间表、定位、变色等功能。楼主要的也就是这样的“技巧”吧。
在线时间 小时
呵呵,谢谢这位朋友的反馈哈~你说到的那个软件之前听说过,不过当时没试用。我这张帖子就是讨论下用pr自带的字幕编辑器的使用而已。其实很期盼pr有个好点的字幕编辑器啊,能带唱词,模板,还能手拍定位,不过好像还没发现,所以现在也在研究是用字幕组的软件做批量字幕,发现外挂字幕也蛮不错的~~
在线时间 小时
嗯,这个方法不错,谢谢分享!!!
在线时间 小时
虽然不懂 但是还是要谢谢这个论坛上所有好人
在线时间 小时
谢谢LZ介绍经验~
在线时间 小时
确实。我也遇到了楼主这个相同的问题。很多字幕插件像雷特的什么的不会用。感觉用自带的功能还可以,但是需要批量字幕时确实是太麻烦了,能把人折腾疯。
楼主这个经验很宝贵,很劳动人民本色。支持
在线时间 小时
我也谢谢这个贴子,很好,这的好的
在线时间 小时
宝贵的经验啊,谢谢!
在线时间 小时
宝贵的经验啊,谢谢!

我要回帖

更多关于 百度云盘pc客户端 的文章

 

随机推荐