云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

微软云_马云辞职阿里巴巴_速度快

小七 141 0

基于视频文本的字幕自动生成

你最喜欢的视频,很有可能是你最喜欢的,在你的社交网站上播放的。另一方面,上一次你打开网页,一段视频突然开始播放声音时,你的反应是什么?如果你和我一样,你做的第一件事就是快速寻找最快的方法来暂停视频、静音或完全关闭页面,尤其是当你当时在公共场所时。如果你认同这些场景,你绝不是一个人。在社交网站和其他媒体密集型平台上,有很大比例的观众选择观看没有声音的视频。事实上,2016年的研究显示,在Facebook上,大约85%的视频是在关闭声音的情况下观看的。但是,当你是一个网站或移动应用程序的开发者,有大量用户生成的视频内容时,消费者对无声视频的期望就成了一个挑战。所有想上传菜谱、艺术项目、化妆技巧、旅游推荐或如何……[任何东西]的应用程序用户通常都非常依赖于附带的解释来捕捉和保持注意力。解决方案?当然是字幕。甚至更好?自动生成字幕!端到端图像和视频媒体管理领域的领导者Cloudinary发布了Google AI视频转录插件,因此您可以轻松地为用户(或您自己的)视频提供自动生成的字幕。字幕比文字更响亮当人们在多个自动播放视频的帖子或搜索结果中滚动时,一个特定的视频只有一两秒钟的时间来吸引观众的注意力。而且由于视频制作者在大多数情况下不能依赖声音,所以必须提供文字说明来引起观众的兴趣并让他们继续观看,甚至可以让他们有足够的兴趣点击视频观看(有声或无声)直到结束。那个视频转录插件允许您在上传任何视频(或您帐户中已有的任何视频)时请求自动语音转录。请求返回一个文件,其中包含视频的完整文本,与每个单词的计时完全一致。自动生成的字幕是使用Google的云语音API创建的,该API应用其不断进步的人工智能算法来最大限度地提高语音识别的质量结果。什么时候你在传送视频时,你可以自动以字幕的形式包含它的文本。upload请求在上传时请求视频的转录本(一旦您注册了转录插件),只需将raw_convert upload参数设置为google_speech。由于有时从Google获取脚本可能需要一段时间,因此您可能还需要向请求添加一个通知\u url,这样您就可以通过编程方式检查准备就绪:rubyhppythonnode.jsJava.NetAllRuby:复制到剪贴板云数据库:上传器.upload("林肯.mp4",:resource_type=>:video,:public_id=>"林肯",:通知\u url=>"https://requestb.in/abcd123yz",:raw_convert=>"谷歌语音")PHP:复制到剪贴板\Cloudinary\Uploader::upload("我的_视频.mp4",array("resource_type"=>"视频","public_id"=>"lincoln","通知url"=>"https://requestb.in/abcd123yz","raw_convert"=>"谷歌语音");Python:复制到剪贴板云数据库.uploader.upload("我的_视频.mp4",resource_type="video","public_id"="林肯","通知"url"="https://requestb.in/abcd123yz","raw_convert"="谷歌语音")节点.js:复制到剪贴板cloudinary.v2。上传器.upload("我的_视频.mp4",{resource_type:"视频",public_id:"lincoln",通知\u url:"https://requestb.in/abcd123yz",原始转换:"谷歌语音"},函数(错误,结果){控制台.log(结果);};Java:复制到剪贴板cloudinary.uploader().上传("我的_视频.mp4",对象实用程序.asMap("资源类型","视频","公共账号","林肯","通知url"https://requestb.in/abcd123yz","原始语音转换","谷歌语音");.Net:复制到剪贴板var uploadParams=新视频上传参数(){文件=新文件描述(@"狗.mp4"),ResourceType="视频",PublicID="林肯",通知URL="https://requestb.in/abcd123yz",RawConvert="谷歌语音"));};var上载结果=云数据库。上传(上传参数);交付URL一旦您确认raw.transcript文件已经生成,您就可以交付带有字幕的视频。只需添加一个字幕覆盖与成绩单文件名。(它与视频具有相同的公共ID,但扩展名为.transcript。)如果您希望获得更丰富的内容,您还可以自定义字幕的文本颜色、轮廓颜色和显示位置(重力):您的浏览器不支持HTML5视频标记。别停在那里。给他们看看你有什么!字幕很不错,但是如果你已经得到了文本文件,为什么不解析它生成一个可以显示在网页上的HTML版本呢?这是伟大的使视频内容更容易浏览和搜索引擎优化-友好的。在这里一个非常简单的Ruby脚本那:抄送剪贴板需要"json"类TranscriptUtil#函数接收文本输入文件,HTML输出文件的路径,#每个时间戳包含的最大字数(默认为40),#对于较长的条目,则为换行符(默认值为10)。def convert(文本文件,html_文件,max_words=40,break_counter=10)#读取并解析转录文件文件=文件.read(文字资料)数据=JSON.parse(文件)索引=0元素=[]元素索引=0字数\u count=0启动"u col="
"end_col="   "元素[elementIndex]=""数据.map做| d|d['words'].地图做|组|if(索引%max_words==0)元素索引+=1#定义时间戳字符串格式时间(组['开始时间'])。utc.STRF时间("%H:%M:%S")开始时间="--"+时间(组['开始时间'])。utc.STRF时间("%H:%M:%S")。到\u S+"--"#构建html内容元素[elementIndex]="
"+开始列+开始列+结束列+开始列字数\u count=0结束if(单词计数==中断计数器)元素[elementIndex]+=结束列+开始列字数\u count=0结束元素[elementIndex]+=group['word'].to\u s.strip+""索引+=1字数\u count+=1结束结束元素[elementIndex+1]="
"#将html内容保存到新的html文件中文件.new(html文件,"w+")文件.打开(html_文件,"w+")do | f|f、 卖出(元素)结束结束结束可以使用以下命令运行脚本:复制到剪贴板ruby-r"。/抄送_html.rb版"-e"转录util.new.convert('林肯。抄本','/林肯_成绩单.html'20,10')这个非常简单的脚本输出的基本HTML如下所示:当然,对于一个生产版本,我相信您会生成一些看起来更好的东西。我们把创意设计留给你。但是如果你真的想让视频内容"同步"…如果你觉得特别冒险,你甚至可以在文本显示和视频播放器之间添加同步功能,这样你的观众就可以浏览文本并跳到视频中他们最感兴趣的地方。您也可以用另一种方式同步,使显示的文本在视频播放时滚动,甚至突出显示当前正在播放的内容节选。演示这些功能超出了本文的范围,但我们要求您自己尝试一下!我们为您提供了所需的一切:Cloudinary视频播放器可以捕获事件并触发视频操作。将该播放器与Google支持的AI视频转录插件结合使用,添加一点javascript魔法,您将在通往一个令人印象深刻的同步转录查看器的路上,与YouTube和视频中的其他大玩家不相上下场景。那个底线(或者我应该说,"副标题…";-)因为它变得越来越普遍利用视频作为分享信息和经验的方式,赢得观众注意力的竞争变得越来越激烈。视频转录插件是一种很好的方式,可以为用户上传的视频提供自动字幕,这样他们就可以在无声视频开始自动播放时抓住观众的注意力。哦,这对播客也很好。要观看它的实际操作,请跳到Cloudinary视频转码演示。选择一个示例视频或上传自己的视频,然后向下滚动到"自动转录"部分以查看转录结果。你也可以在视频中加上一些很酷的视频-但是,继续真正的乐趣在于你自己去尝试!如果您还没有云数据库帐户,请免费注册。我们很乐意看到您对上述同步实现的演示。请在评论中添加链接以展示您的结果!想进一步了解视频优化吗?使用Cloudinary和HTML5视频播放器优化视频ExoPlayer Android教程:轻松视频传输和编辑如何从音频文件生成波形图像基于视频文本的字幕自动生成https://cloudinary.com/blog/autogenerateViewsWithGreatResultSeveryTimehttps://cloudinary.com/blog/convertingandroidvideostoanimatedgifimageswithcloudinarayatutorial