首页 > 其他分享 >【ffmpeg】使用 FFmpeg 给视频文件添加旁白和字幕

【ffmpeg】使用 FFmpeg 给视频文件添加旁白和字幕

时间:2023-12-20 21:34:13浏览次数:35  
标签:aout FFmpeg mp4 字幕 添加 视频文件 旁白 ffmpeg

一、视频添加旁白

添加旁白需要将音频文件和视频文件的声音叠加在一起,可以使用 FFmpeg 的 amix 过滤器,以下是一个示例命令

ffmpeg -i a.mp4 -i a.mp3 -filter_complex "[0:a]volume=0.5[a0];[1:a]volume=3[a1];[a0][a1]amix=inputs=2:duration=first[aout]" -map 0:v -map "[aout]" -c:v copy -c:a aac -strict experimental output.mp4

 

二、视频添加字幕

参数说明:

subtitles:字幕文件

Fontsize:字幕大小

PrimaryColour:字幕颜色

MarginV:具体屏幕下方距离

ffmpeg -i output.mp4 -vf "subtitles=a.srt:force_style='Fontsize=12,PrimaryColour=&H00FF0000,MarginV=50'" -c:a copy output1.mp4

 

三、nodejs(fluent-ffmpeg)实现同时添加旁白和字幕

ffmpeg()
.input(waterFile)
.input(audioFile) 
.complexFilter([
  '[0:a]volume=0.5[a0]',
  '[1:a]volume=3[a1]',
  '[a0][a1]amix=inputs=2:duration=first[aout]'
])
.outputOptions([
  '-vf',
  `subtitles=${srtFile}:force_style='Fontsize=12,PrimaryColour=&H00FFFFFF,MarginV=50'`,
  '-map 0:v:0', 
  '-map [aout]'
])
.output(outFile)
.on("progress", (progress) => {
  console.log('视频字幕,进度: ' + progress.percent + '% done');
})
.on("end", () => {
  console.log("视频视频字幕完成"); 
})
.run();

 

标签:aout,FFmpeg,mp4,字幕,添加,视频文件,旁白,ffmpeg
From: https://www.cnblogs.com/lanse1993/p/17917631.html

相关文章

  • Python 调用 FFmpeg 处理合并视频文件
    ​ FFmpeg是一个开源的多媒体框架,它包含了用于处理音频、视频、字幕等多媒体数据的一系列工具、库和软件包。FFmpeg可以执行多种多媒体处理任务,包括转码、剪辑、合并、分离、编解码、流媒体传输等。它被广泛用于多媒体应用程序和流媒体平台中,是一个功能强大且高度可定制的工......
  • Qt+FFmpeg仿VLC接收RTSP流并播放
    关键词:QtFFmpegC++RTSPRTPVLC内存泄漏摘要认证花屏源码UDP本系列原文地址。下载直接可运行的源码,在原文顶部。效果产生RTSP流比播放文件复杂一点是,为了接收RTSP流,我们需要产生RTSP流。简单搭建一个RTSP推流环境:用EasyDarwin开启RTSP服务作为RTSP服务器。用f......
  • ffmpeg截取视频封面图
    packagecom.goldman.launcher;importjava.io.*;publicclassVideoThumbnail{publicstaticvoidmain(String[]args){Filefolder=newFile("D://");File[]files=folder.listFiles();//获取目录下所有文件和文件夹for(Filefile:fil......
  • ffmpeg-6.1编译
    ffmpeg编译**ffmpeg详细说明可以参考:**https://blog.csdn.net/leixiaohua1020/article/details/44220151https://www.cnblogs.com/leisure_chn/category/1351812.htmlhttps://zhuanlan.zhihu.com/p/639748679一.编译ubuntux86_64编译下载最新源码https://ffmpeg.org/......
  • ffmpeg转码视频文件
    转码转码视频文件例子extern"C"{#include<libavcodec/avcodec.h>#include<libavfilter/buffersink.h>#include<libavfilter/buffersrc.h>#include<libavformat/avformat.h>#include<libavutil/channel_layout.h>#include<......
  • ffmpeg 添加自定义编解码插件
    有两种方法:一.ffmpeg添加自定义编解码插件(以修改ffmpeg源码的方式添加)例:添加一个解码器,给这个解码器取个名字叫mydecoder,可以通过下面的步骤添加:1.在libavcodec目录下,新建文件mydecoder.c#include"avcodec.h"#include"codec_internal.h"//自己封装的编解码器的头文件#......
  • 【ffmpeg】FFmpeg命令行
    【参考链接】FFmpeg命令行教程:66个实用案例解析常见FFmpeg命令行全面分析FFmpeg最常用命令参数详解及应用实例......
  • Qt/C++视频监控安卓版/多通道显示视频画面/录像存储/视频播放安卓版/ffmpeg安卓
    一、前言随着监控行业的发展,越来越多的用户场景是需要在手机上查看监控,而之前主要的监控系统都是在PC端,毕竟PC端屏幕大,能够看到的画面多,解码性能也强劲。早期的手机估计性能弱鸡,而现在的手机性能不是一般的牛,甚至超越了PC机的性能,所以手机上查看多路监控也就有了硬件基础前提。对......
  • 怎么在Android项目中导入ffmpeg库?
    1.前言在这里我以导入静态库(.a)为例进行分析,动态库(.so)是类似的。在导入前,各位要先编译好ffmpeg库,需要注意的是在编译的时候要开启交叉编译,目标平台为Android,其他平台的库(windows,linux)在Android平台使用不了,我这里编译的是armeabi-v7a架构的库。2.步骤(1)新建一......
  • ts视频文件批量下载与合并
    importrequestsimportosimporttime#定义下载函数defdownload_resource(url,filename):#设置最大重试次数max_retries=3retries=0whileretries<max_retries:try:response=requests.get(url)ifrespo......