从零开始创建一个短视频

发布于:2024-10-24 编辑:匿名 来源:网络

TNTWeb——全称是腾讯新闻前端团队。群里的朋友在Web前端、NodeJS开发、UI设计、移动APP等各大前端领域都有实践和积累。

目前团队主要支持腾讯新闻各项业务的前端开发。除了业务发展之外,还积累了一些前端基础设施,为业务效率和产品创新赋能。

团队倡导开源共建,拥有各类技术专家。团队的Github地址: ,项目地址:FFCreator (前言)先说点什么吧。

当今时代太平盛世,但互联网领域却始终一片混乱。我们今天要说的是短视频领域。

短视频已成为一种越来越流行的媒体传播形式。像微视和抖音这样的应用程序每天都会产生数以千计的精彩短视频。

而这些视频也给产品带来了巨大的流量。随后,如何让用户快速制作出一个短视频;或者说产品平台如何利用现有的图片、视频、音乐素材批量合成大量视频也成为了技术难点。

今天给大家带来的是一个基于node.js的轻量级灵活的短视频生产库。您只需要添加几张图片或视频片段并添加一些背景音乐即可快速生成炫酷的视频片段。

image.pnggithub地址:init,回车即可。代码语言:txt copy mkdir ffcreator-example && cd ffcreator-examplenpm init 接下来继续我们今天包的安装操作 代码语言:txt copy npm install ffcreatooryarn add ffcreato 最重要的是ffcreator依赖于FFnpeg,所以FFmpeg必须被安装。

FFCreatorLite 依赖于 FFmpeg>=0.9 或更高版本。请将FFmpeg设置为全局变量,否则需要使用setFFmpegPath添加FFmpeg本机路径。

(Windows 用户的 ffmpeg 很可能不在您的 %PATH 中,因此您必须设置 %FFMPEG_PATH)。关于安装FFmpeg的教程,我只讲windows和mac。

上面的其他github上有更详细的说明。之所以只讲windows和mac,是因为对于前端开发者来说,大部分都是mac。

,还有部分窗户。对于其他开发者来说,如果想尝试一下,可以去上面的github查看其他环境的安装方法。

Windows:下载、解压、设置环境变量、使用,共四步。参考文档 mac: 一共两部分: 安装homebrew(如果已经安装了可以忽略,直接下一步): 代码语言: txt copy /bin/bash -c "$(curl -fsSL至此安装ffmpeg参考文档,项目、环境、依赖都已经准备好了,我们可以进行下一步了。

关于使用 ffcreator 是一个节点库,提供了多种构造函数供使用: 代码语言:txt copy - FFScene, // 屏幕,也叫场景 // 创建一个新的显示屏幕 const scene = new FFScene(); // 设置背景色 scene.setBgColor('#6b'); // 设置停留时长 scene.setDuration(8.5); // 设置过渡动画(类型、时间) scene.setTransition('Fat', 1.5); // 设置屏幕添加到视频创建者实例中 Creator.addChild(scene);const text = new FFText({text: 'This is a text', x: , y: 80});// 文本颜色 text.setColor ('#ffffff'); //背景颜色 text.setBackgroundColor('#b1'); //动画显示为fadeIn,动画时长1秒,延迟时间1秒,text.addEffect("fadeIn", 1, 1); //设置文本水平居中 text.alignCenter(); // 设置样式对象 text.setStyle({padding: [4, 12, 6, 12]}); // 将当前文本节点添加到屏幕 scene.addChild(text );//创建图片元素,图片路径为../images/demo.pngconst img = new FFImage({path: '../images/ demo.png'});//设置位置 img.setXY(, ); // 设置缩放比例 img.setScale(2); // 设置旋转 img.setRotate(45); // 设置透明度 img.setOpacity(0.3); // 设置宽度和高度 img.setWH(, ); // 设置动画效果 // 设置动画效果为slideInDown,动画时长1.2秒,延迟时间0img.addEffect("slideInDown", 1.2, 0); //将当前图片节点添加到屏幕scene.addChild(img);//创建视频元素,视频路径为../videos/demo.mp4,位置在屏幕上//宽度为,高度为 。 const video = new FFVideo({ 路径: videopath, x: , y: , 宽度: , 高度: });设置是否有音乐视频.setAudio(true); // 设置是否循环 video.setLoop(true);//截取播放时长,设置视频播放的开始时间和结束时间 video.setTimes("00:00:43", "00:00:50") ; // 单独设置视频播放开始时间 video.setStartTime("00 :00:43"), // 单独设置视频播放结束时间 video.setEndTime("00:00:50"), // 有许多其他视频方法... // 将当前视频元素添加到屏幕上方 scene.addChild(video); // 创建一个新的相册元素const album = new FFAlbum({ list: [img1, img2, img3, img4], // 专辑图片集合 x: , y: , width: , height: ,}); // 设置相册切换动画 album.setTransition( 'zoomIn'); // 设置单张图片的时长 album.setDuration(2.5); // 设置单个动画的时长 album.setTransTime(1.5);场景.addChild(专辑); // 将当前专辑元素添加到屏幕 scene.addChild(video);FFNode,下面所有类型的基类,可以直接看下面。

FFText,文字元素FFImage,图片元素FFVideo,视频元素FFAlbum,相册元素FFVtuber,虚拟主播图片代码语言:txt copy const vtuber = new FFVtuber({ x: , y: }); // 设置动画时间周期 vtuber. setPeriod([ [0, 3], [0, 3]]);//这里设置路径baby/[d].png和baby/%d.png。两种方法都可用 const vpath = path.join(__dirname, "./avator/baby/[d].png"); // 从 1-7.pngvtuber.setPath(vpath, 1, 7); // 播放速度 vtuber.setSpeed(6); Creator.addVtuber(vtuber );FFSubtitle,字幕元素代码语言:txt copy const content = '在这里使用计算机很酷,它们非常听话,做任何他们被告知的事情......';const subtitle = new FFSubtitle({ text : content, comma : true, // 是否以逗号分隔 backgroundColor: '#9C', // 背景颜色 color: '#fff', // 文本颜色 fontSize: 24 // 字体大小 }); // 设置copy,或者放在conf中 subtitle.setText(content); // 缓存帧 subtitle.frameBuffer = 24; // 设置字幕总时长 subtitle.setDuration(12);场景.addChild(字幕); // 设置语音配音-ttssubtitle.setSpeech(dub); FFTween,除了上述类型的渐变之外,还有示例和运行:FFCreator,//创建示例代码语言:txt copy const Creator = new FFCreator({cacheDir, //缓存目录outputDir, //输出目录output, //输出文件名(FFCreatorCenter中可省略) width: , //视频宽度height : , // 视频高 audioLoop: true, // 音乐循环 fps: 24, // fps 个线程: 4, // 多线程(假)并行渲染 debug: false, // 开启测试模式 defaultOutputOptions: null, / / ffmpeg 输出选项配置});//为创建者实例添加屏幕creator.addChild(scene);//启动创建者的start函数。

Creator.start();FFCreatorCenter, // 核心运行库,通过addTask运行代码语言: txt copy // 这样可以启动多个任务,FFCreatorCenter.addTask(createFFTask)当然不需要使用FFCreatorCenter,直接运行创建FFTask();如果有demo,图片动画:图片动画演示地址、演示源码地址 多图相册:多图相册演示地址、演示源码地址 场景转场:场景转场演示地址、演示源码地址 配音 字幕:配音字幕演示地址、演示源代码地址 视频动画:视频动画演示地址、演示源代码地址写在最后短视频在网上很猖獗,为什么不跟风用代码来实现短视频的创作呢?既然可以用node创建短视频,为什么不结合服务器来实现拖拽组合,直观地生成短视频呢?这些应该都是可以实现的。如果你幸福,请努力让自己更幸福;如果你不快乐,请努力让自己快乐;如果你不快乐,请努力让自己快乐;如果你不快乐,请努力让自己快乐;如果你不快乐,请努力让自己快乐;如果你不快乐,请努力让自己快乐。

总之,工作让我快乐~祝大家工作顺利,开心每一天~如果感觉不错,点星星走吧~Team TNTWeb - 腾讯新闻前端团队,TNTWeb 致力于探索前沿技术行业并提高团队成员的个人能力。

从零开始创建一个短视频

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 美光科技任命朱文菊为美光半导体(西安)有限责任公司副总裁

    美光科技任命朱文菊为美光半导体(西安)有限责任公司副总裁

    美光科技任命 Stella Zhu 为美光半导体(西安)有限公司副总裁。 2020 年 8 月 17 日,中国西安 — 美光科技股份有限公司(纳斯达克股票代码:MU)今天宣布任命 Stella朱(Stella Zhu))担任美光半导体(西安)有限公司副总裁,负责美光西安工厂的整体运营。 该工厂成立于20

    06-06

  • 首次发布 -光芯片公司“斑岩光子”完成A轮融资,超过10家VC共同投资

    首次发布 -光芯片公司“斑岩光子”完成A轮融资,超过10家VC共同投资

    投资界(ID:pedaily)8月25日消息,中国领先的高速EML光芯片提供商“斑岩光子”完成A轮融资本轮融资由卓源资本、利哲创投、国盛资产、德林资本、元和控股、合创致远、星湖控股、海南融腾、纳芯创投、联智投资、东莞伟卓等十余家半导体及实业顶级投资方投资。 投资机构联合追

    06-17

  • 特斯拉全球裁员10%以上,迎接新增长周期

    特斯拉全球裁员10%以上,迎接新增长周期

    特斯拉简介及里程碑回顾 特斯拉公司成立于2007年,是一家电动汽车和清洁能源公司,总部位于美国加利福尼亚州。 特斯拉以其创新的电动汽车和能源解决方案而闻名,致力于推动全球向可持续能源转型。 过去两年,特斯拉实现了多个重要里程碑: ● 2016年,特斯拉推出最新车型Mode

    06-18

  • 红细胞药物研发公司西湖生物医药宣布完成近亿元Pre-A+轮融资

    红细胞药物研发公司西湖生物医药宣布完成近亿元Pre-A+轮融资

    投资界(ID:pedaily)1月23日消息,西湖生物医药(杭州)有限公司西湖生物医药股份有限公司(简称:西湖生物医药/Westlake Therapeutics)正式宣布完成近亿元Pre-A+轮融资,由辰德资本领投,红杉资本中国基金跟投。 本次融资是西湖生物医药继去年6月Pre-A轮融资后的又一轮战

    06-18

  • 晶圆级扇出先进封装企业“晶通科技”获数千万元A轮融资

    晶圆级扇出先进封装企业“晶通科技”获数千万元A轮融资

    投资界(ID:pedaily)9月20日消息,杭州晶通科技有限公司(以下简称“晶通科技”)晶通科技)近日宣布完成数千万元A轮融资,本轮融资由水木梧桐创投、天冲资本、春阳资本共同参与,独木资本作为公司的长期投资人。 任期独家融资顾问。 资金将主要用于晶圆级扇出和chiplet产品

    06-18

  • 迷惑人类行为:让纸人写稿、听虚拟偶像和破音

    迷惑人类行为:让纸人写稿、听虚拟偶像和破音

    你有没有感觉微博热搜上的不知名名字越来越多?你有没有想过你的追星小伙伴们都没听说过明星?你是否觉得电视上越来越多的面孔你认不出来了?如果你对这三个问题的回答都是“是”,那么你可能不会观看选秀或追求偶像。 毕竟现在有很多追星粉丝,有一堵墙、二堵墙、三堵墙、四

    06-21

  • 中国手机供应链正在逃离印度

    中国手机供应链正在逃离印度

    10月11日,有消息称,印度因涉嫌洗钱逮捕了四名与vivo相关的人员,其中一名是vivo的中国员工。 vivo回应称,“vivo严格遵守印度当地法律法规,我们正在密切关注近期的调查,并将采取一切可行的法律措施予以回应。 ”近一两年来,印度频繁针对中国企业的搜查行动至今仍没有结束

    06-18

  • 微信应用和iPhone 7能为3D音频带来什么?

    微信应用和iPhone 7能为3D音频带来什么?

    在贵州省黔南布依族自治州平塘县“大窝荡”洼地,FAST“米径球面日冕主动反射球面射电望远镜”,经历了五年多的建设和反复调试。 终于竣工并投入使用,迈向试运营阶段。 9月24日,FAST探测核心部件馈源模块首次进行大规模移动测试,为完成后的观测任务做最后准备。 9月25日,

    06-18

  • 意法半导体:SiC晶圆产能增长10倍

    意法半导体:SiC晶圆产能增长10倍

    欧洲IDM厂商意法半导体(ST)总裁兼首席执行官Jean-Marc Chery发布最新年度市场展望。 预计2020年全球芯片短缺的情况将逐渐改善,至少要到上半年才能恢复到“正常”水平。 意法半导体看好三大商机:智慧出行、电力能源、物联网和5G。 它计划在未来四年内大幅提高晶圆产能,并

    06-08

  • 鹰牌药业完成4亿元D+轮融资,加速造福更多卵巢癌患者 患者

    鹰牌药业完成4亿元D+轮融资,加速造福更多卵巢癌患者 患者

    投资界(ID:pedaily)4月19日消息,南京鹰牌药业股份有限公司(以下简称鹰牌药业)专注于肿瘤合成致死机制的创新药物研发公司“鹰派药业”)宣布成功完成4亿元D+轮融资。 本轮融资由高特嘉投资、熙诚金睿联合领投。 扬州国金集团和顾屿南歌参与了本次投资。 老股东礼来亚洲基

    06-17

  • 首次发布 -星逻智智能获数千万元A+轮融资

    首次发布 -星逻智智能获数千万元A+轮融资

    投资社区(ID:pedaily)据3月30日消息,无人机自动化公司星逻智智能今日宣布完成数千万元A+轮融资的融资。 本次融资由中关村发展集团启航创新投资基金(以下简称“启航投资”)领投,老股东奥文创投、常春藤资本、愿景资本跟投。 本轮融资将主要用于无人机AI研发,加速提升无

    06-17

  • 理想汽车6月交付7713辆 同比增长320.6%

    理想汽车6月交付7713辆 同比增长320.6%

    理想汽车6月交付7713辆,同比增长320.6%,5月环比增长78.4%,创下单月交付量新纪录。

    06-17