我知道的跟nodejs关系不大,可以用ffmpeg 来获取,然后nodejs 调用ffmpeg的命令。
可以获得视频的时长 duration 和 分辨率 272X480 。
然后把输出的内容通过正则获取出来即可。
代码: 具体获取文件路径并判断的我就不写了
var url = 'd:/amp4';var exec = require('child_process')exec;
var cp = exec('d:/soft/ffmpeg/bin/ffmpeg -i '+url,function(err,stdout,stderr){
var outStr = stderrtoString();
// consolelog(outStr);
var regDuration =/Duration\: ([0-9\:\]+),/;
var rs = regDurationexec(outStr);
if(rs[1]){
var timeStr = rs[1];
//获得时长
consolelog(timeStr);
}
});
JS脚本和FLASH内容连接,把内容的一个帧截下来就显示了。
ffmpegexe可执行文件获取:
网上搜索后得到编译好的ffmpeg文件,下载地址:>
在线文案提取工具是一种高效的工具,它能够快速、方便地提取视频中的文案并将其转换为可编辑的文本格式。利用这个工具能够省去手动逐个查找文案的麻烦,让你更加高效地处理视频中的文案。
*** 作步骤:
1、 首先就需要将视频的链接复制下来。比如我们在某音平台上有个视频很适合作为素材,找到视频右下角的分享键,就会d出窗口,可以看到复制视频链接的按钮,点击即可复制视频链接。
2 接下来,我们可以选择一个可以帮助我们快速提取短视频文案的工具,选择一个好用的工具是比较重要的。实例如图,点开小程序,即可看见”热门视频工具“中第一个就是”视频提取工具“,点开将刚才复制的视频链接粘贴到如图所示空白处,点击”开始提取文案“即可快速获得提取出的视频文案内容。
3、 最后就只需要将文案复制到自己需要的地方就可以了。小程序显示出视频文案后,你可以直接复制结果内容,也可以稍后在“文案获取历史记录中“查看,注册登陆马力文案提取器后,在”我的“>”文案历史“中也可以随时调取转换过的视频文案。
方法二:使用语音转文字工具
语音转文字工具是一种非常实用的工具,它可以将视频中的语音自动转化为文本格式。这种工具适用于那些没有字幕的短视频,能够将视频中的所有语音都转换为文本格式,而不仅仅是字幕。这种方式方便快捷,让你轻松获取视频中的全部内容,从而更好地完成你的工作。
*** 作步骤:
1、 这里为大家推荐一些语音转文字工具,比如百度语音转文字、腾讯云语音转写、讯飞开放平台语音转写、微软发布的Project Oxford。
2、 这些语音转写工具 *** 作流程比较相似,这里以Project Oxford为例:
Project Oxford是微软推出的视频转文字工具,支持多种语言和格式的识别,并可以与其他微软产品进行集成。使用方法如下:
1)进入官网:访问Microsoft Cognitive Services,选择“语音”服务。
2)创建项目:选择“语音转文字”,输入项目名称和音频文件路径。
3)开始转换:点击“开始”按钮,等待转换完成。
4)查看结果:在转换完成后,可以查看转换结果,并进行编辑和调整。
优点:可以将视频中的所有语音都转换为文本,而不仅仅是字幕。
缺点:准确率可能会受到环境噪音、语音口音等因素的影响。
方法三:使用截图工具
如果你只需要提取视频中的部分文案内容,可以使用以下工具:
1、 Windows自带截图工具:按下“Windows键+Shift+S”组合键,就会打开Windows自带的截图工具。在需要截图的视频画面上任意选取一个矩形区域后,就可以将截图复制到剪贴板中,然后打开文本编辑器,将截图中的文案粘贴到文本编辑器中。
2、 Snipping Tool:这是Windows系统自带的截图工具,可以从开始菜单中进行搜索。打开工具后,在需要截图的视频画面上任意选取一个矩形区域后,就可以将截图复制到剪贴板中,然后打开文本编辑器,将截图中的文案粘贴到文本编辑器中。
优点:可以快速捕捉视频中的文案。
缺点:只能截取视频中的某一帧,可能会错过一些重要的文案。
方法四:使用视频转文字工具
如果视频中没有字幕,你可以通过以下工具将语音转化为文字:
1、 Azure Media Services:这是一款微软提供的云平台,可以通过其中的转录服务将视频中的语音转换为文字。具体步骤为:注册Azure Media Services账号,创建新的Media Services资源,上传需要转换的视频,选择“转录”-“新建音频转录任务”,等待视频转换完成后,即可在“输出”文件夹中找到生成的文字文件。
2、 Alibaba Cloud ASR:这是一款阿里巴巴云提供的语音转换为文字的服务。注册阿里云账号,创建ASR实例,上传需要转换的视频文件,选择“音频文件识别”,等待转换完成后,即可从页面中下载转换后的文字文件。
优点:平台资源丰富、全球覆盖、实时性强
缺点:相对来说价格较高、功能不够灵活,前期适配成本高,对于没有算法经验的用户,成本会比较高。
方法五:使用视频录制工具
屏幕录制工具可以记录您在观看短视频时的屏幕活动。这里为大家推荐一些视屏录制工具:比如Camtasia、Snagit、OBS Studio 等。
这里以Camtasia作为案例为大家介绍详细步骤:
1、 在Camtasia Studio中打开需要提取文案的视频文件。
2、 在时间线上选择需要提取的视频片段,并将其拖到“时间轴区域”。
3、 在上方的工具栏中,找到“导出”选项,并点击“导出媒体”。
4、 在d出的“导出媒体”窗口中,选择“文本”选项卡。
5、 在文本选项卡中,选择所需的设置,如导出格式、语言等,并点击“导出”按钮。
6、 在保存对话框中,选择保存位置和文件名Camtasia可以方便地提取视频文案。
优点:可以记录下视频中的所有文案,包括字幕和d幕。
缺点:录制过程可能会影响您的观看体验,并且需要对录制文件进行后期剪辑。
方法六:使用视频编辑软件
使用视频编辑软件可以把视频中的文案提炼出来,保存成文本格式。这样可以利用视频编辑软件对文案进行编辑和加工。这类工具有Adobe Premiere Pro、Final Cut Pro、DaVinci Resolve 等。
这里以Adobe Premiere Pro作为案例为大家介绍详细步骤:
1、 导入视频:打开Premiere Pro软件,将需要转换的视频导入到项目面板中。
2、 新建字幕:在“新项目”面板中,选择“新建”>“标题”>“默认文本”,在d出的对话框中设置字幕格式(如字体、字号、颜色等),并点击“新建”。
3、 转换为字幕:在“制作”菜单中选择“音轨”>“音轨1”,然后选中需要转换为字幕的视频片段,按下“Ctrl+M”组合键导出为字幕文件(如SRT格式),保存在本地磁盘中。
优点:可以对提取出的文案进行编辑和处理。
缺点:需要一定的视频编辑技能和经验。
方法七:使用人工智能工具
人工智能工具是一种可以自动识别和提取视频中的文案的工具。它可以使用机器学习和自然语言处理技术来识别和提取文案。使用人工智能工具的优点是速度快、准确性高。这类工具有很多可供选择,例如:Trint、IBM Watson、Microsoft Azure、Google Cloud Platform 等。
这里以Trint作为案例为大家介绍详细步骤:
Trint是一款基于AI技术的视频转文字工具,可以自动转换视频中的语音为文字,并支持语音翻译等功能。使用方法如下:
1、 进入官网:访问Trint官网,点击“开始转换”按钮。
2、 上传视频:在d出的对话框中选择需要转换的视频文件,选择语言类型和转换选项。
3、 开始转换:点击“开始转换”按钮,等待转换完成。
4、 编辑字幕:在转换完成后,可以在页面中进行编辑、翻译和纠错等 *** 作,并且可以选择导出字幕文件(如SRT格式)。
优点:速度快、准确性高,可以快速提取视频中的文案。
缺点:需要下载和安装人工智能工具,可能需要一些技术知识。
方法八:使用视频截图工具
在视频编辑或制作过程中,有时需要提取视频中的某些关键帧作为静态使用,但手动提取往往非常费时。为了解决这个问题,我们可以使用视频截图工具。该工具可以快速而准确地从视频中提取关键帧,并将其转换为格式,以便于后续的编辑和使用。使用视频截图工具可以提高提取速度和准确性,从而节省时间和精力。
此类工具有VLC、FFmpeg、Windows Movie Maker 等。
这里以VLC作为案例为大家介绍详细步骤:
1、 打开VLC媒体播放器并播放您需要提取文案的视频。
2、 在VLC窗口底部找到“视图”菜单,然后选择“扩展接口”下的“Web接口”。
3、 在d出的Web接口设置窗口上,勾选“Lua >
4、 点击“保存”按钮并重新启动VLC。
5、 在浏览器中输入“localhost:8080”或“127001:8080”,打开VLC的Web界面。
6、 在Web界面的左侧菜单中,点击“Tools”选项。
7、 在d出的下拉菜单中,选择“Codec Information”。
8、 在d出的“Current Media Information”窗口中,找到“Stream”选项卡,并展开它。
9、 在“Stream”选项卡下,找到您需要提取文案的视频轨道,然后复制文字文案。
优点:速度快、准确性高,可以快速提取视频中的文案。
缺点:需要下载和安装视频截图工具和 OCR 软件,可能需要一些技术知识。
方法九:使用自动化工具
自动化工具是指一种可以自动完成任务的工具。它能够帮助您快速地提取视频中的文案,并将其转换成可编辑的文本格式。使用此工具的优点在于速度快、准确性高。这里有几个推荐使用的此类工具:例如 Zapier、IFTTT、Automateio 等。
这里以Zapier作为案例为大家介绍详细步骤:
1、 创建一个Zapier账号,并登录。
2、 在Zapier中创建一个新的Zap。
3、 、选择一个触发器,例如YouTube的新视频上传。
4、 设置触发器的条件,例如只有自己的频道上的视频才触发。
5、 选择一个动作,例如使用Zapier的“Webhooks by Zapier”功能。
6、 配置“Webhooks by Zapier”的设置,设置请求类型为“POST”,URL为视频文案提取工具的API链接。
7、 在API设置中,设置请求类型为“POST”,输入参数为视频的链接或ID。
8、 保存并测试该Zap。
9、 当您在您的YouTube频道上上传新视频时,Zapier将触发该Zap,并使用您配置的API将视频中的文案提取出来。
10、 将提取到的文案传递给下一个应用程序,例如存储在Google Sheets或发送到Slack等。
优点:速度快、准确性高,可以自动化执行任务。
缺点:需要下载和安装自动化工具,可能需要一些技术知识。
方法十:手动记录文案
一种简单但费时的方法是手动记录视频文案。这只需要您在观看视频的同时手动记录文本,并将其转换为可编辑的文本格式。手动记录文案的优点是无需使用任何工具或具备技术知识,但其缺点则是需要花费大量时间和精力。
优点:不需要任何工具或技术知识。
缺点:需要耗费大量时间和精力,可能会出现错误或遗漏。
你的这个需求是能实现的,事先的原理是:视频网站的自定义视频缩略图功能,在这里以优酷视频为例说明:
1、登录账号,进入到个人视频中心,点击视频后面的编辑
2、选择“自选封面”-然后开始播放视频,在刚开始的地方,暂停视频,然后点击下面的截图。一定要在刚开始播放的就暂停,也可以在视频播放的时候,暂停住,往回拖动指针到第一帧。
3、截图之后,点击确认。
4、然后左边的封面就换成我们修改的了。输入修改验证码,点击保存即可。
ffmpeg基本理解
整体可划分为协议层、容器层、编码层与原始数据层四个层次:
协议层:提供网络协议收发功能,可以接收或推送含封装格式的媒体流。协议层由 libavformat 库及第三方库(如 librtmp)提供支持。
容器层:处理各种封装格式。容器层由 libavformat 库提供支持。
编码层:处理音视频编码及解码。编码层由各种丰富的编解码器(libavcodec 库及第三方编解码库(如 libx264))提供支持。
原始数据层:处理未编码的原始音视频帧。原始数据层由各种丰富的音视频滤镜(libavfilter 库)提供支持
这遍文章目针对对ffmpeg基本结构和变量概念有一定了解后,想进一步理清楚个模块之间是如何关联起来,给出一个
清晰具体的流程。
播放器调用通过几个函数将这个流程串联起来,后续一一展开。
FFMPEG的输入对象AVFormatContext的pb字段指向一个AVIOContext。这是一个带有缓存的读写io上层
说明:
AVIOContext对象是一个带有缓存IO读写层。
AVIOContext的opaque实际指向一个URLContext对象,这个对象封装了协议对象及协议 *** 作对象,其中prot指向具体的协议 *** 作对象,priv_data指向具体的协议对象。
URLProtocol为协议 *** 作对象,针对每种协议,会有一个这样的对象,每个协议 *** 作对象和一个协议对象关联,比如,文件 *** 作对象为ff_file_protocol,它关联的结构体是FileContext
aviobufc函数中 ffio_fdopen()很重要,分配avio资源并建立对象,将AVIOContext和URLContext关联起来。internal->h = h;
ffio_open_whitelist = ffurl_open_whitelist +ffio_fdopen
至此,IO相关部分构造完成啦。
构造FFMPEG的输入对象AVFormatContext的iformat字段指向的对象诸如:
s→iformat 该输入流的Demuxer 存放位置。比如AVInputFormat ff_hls_demuxer
s→priv_data 这个变量很重要:存放对应的AVInputFormat *** 作的上下文信息: 比如hls中的HLSContext
构造好dexuer之后会调用 read_header2() 这个函数开启具体demuxer具体协议解析,hls开始解析:hls_read_header --->parse_playlist→
关于hls协议处理
循环构造AVFormatContext ,AVIOContext变量等。
首先看下 数据结构
然后看下,如何从在hls中 Open the demuxer for each playlist ,此时已经解析完m3u8。继续下面又干什么啦
继续分析hlsc文件获得m3u8解析额ts文件程序做了什么。
其实AVFormatContext s = pls→parent 此时作用,用的黑白名单和option设置参数,这个函数主要是还是构造访问ts文件的AVIOContext对象用的。
下图是hlsc中解析ts流流程如下:
>
以上就是关于用nodejs怎么获得一个文件夹下面的视频信息呢(具体指视频时长/多少分钟的视频)全部的内容,包括:用nodejs怎么获得一个文件夹下面的视频信息呢(具体指视频时长/多少分钟的视频)、网站调用土豆视频时怎么抓取缩略图(高分悬赏)、提取视频文案方案有哪些呢等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)