nodejs剪切视频,提取音频,上传播放

这篇博客介绍了如何通过使用Python库ibili下载视频和评论,整理歌曲开始与结束时间,然后借助ffmpeg进行视频剪切。作者创建子进程执行ffmpeg命令,按时间戳分割视频并保存为单独的文件,最后利用ffmpeg提取每个视频片段的音频,转换为mp3格式。整个过程自动化处理演唱会视频,方便整理和收藏。
摘要由CSDN通过智能技术生成

简单说说实现方案

  1. 首先要有演唱会的链接,使用ibili 这个库下载视频,也可以自己抓取视频链接请求下载,这里有很多方法。

  2. 将视频保存在本地后,整理出每一首歌曲对应的时分秒。我找的这个视频在某站评论中已经有人整理过了,所以我用 ibili 这个库将评论下载下来,在二次加工
    在这里插入图片描述
    拿到整理出在这个视频中每一首歌曲开始的时间和结束的时间,供后续剪切使用

  3. 整理出对应的歌曲数据后,我在这里先剪切出每首歌曲对应的视频阶段,在这里就要使用一个很重要的插件了 — ffmpeg,电脑上要装上这个exe程序,配置系统环境,然后在程序中调用它

       // 这里我开了子进程去剪切视频
       const {exec} = require("child_process")
       const data = []  // 这里是上面截图中的数据
       data.forEach((item) => {
           exec(
             `ffmpeg -ss ${item.startTime} -t ${
                endTime - item.startTime
             } -i 无与伦比.mp4 -vcodec copy -acodec copy 
             	${item.name}-无与伦比.mp4
             `
    	 );
    });
    

    剪切视频使用以下命令

    ffmpeg -ss 00:00:00 -t 00:00:30 -i input.mp4 -vcodec copy -acodec copy
    output.mp4

    • -ss 指定从什么时间开始
    • -t 指定需要截取多长时间
    • -i 指定输入文件
  4. 到这里整理好了剪切出每首歌曲对应的视频了,使用 fs 模块读取保存下来的每一个文件,保存进数组中,遍历数组利用 ffmpeg 提取每个视频的音频

    ffmpeg -i test.mp4 -f mp3 -vn test.mp3

    • -i 表示input,即输入文件
    • -f 表示format,即输出格式
    • -vn表示vedio not,即输出不包含视频
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值