当前位置: 首页 > news >正文

ffmpeg视频音频命令

视频音频合并

视频音频合并,以视频时间为主,音频短了循环
方法1:混音,视频权重0,volume调节音量,aloop无限循环,duration:first为第一个素材的长度
ffmpeg -i video.mp4 -i audio.mp3 -filter_complex "[1:a]volume=0.5[a1];[a1]aloop=loop=-1:size=2e+09[a2];[0:a][a2]amix=inputs=2:duration=first:weights='0 1'[a]" -map 0:v -map "[a]" out.mp4
有的音频:first不起作用,需要-t截止时间

方法2:替换音频
ffmpeg -an -i video.mp4 -stream_loop -1 -i audio.mp3 -af volume=0.5 -shortest -fflags +shortest -y out.mp4
有的音频shortest不管用,需要-t截止时间

合并视频的时候加字幕
ffmpeg -i /video/0.ts -i /video/4.ts -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0]concat=n=2:v=1:a=1[v][outa];[outv]drawtext=text='字幕Text':fontcolor=#ffffff:fontsize=192:fontfile=/conf/msyhbd.ttc:x=(w-text_w)/2:y=(h-text_h)/1.5:enable='between(t\,0\,1)'[dv]" -map [dv] -map [outa] -vsync 2 -y out.mp4

视频合并,有的视频没有音频,找到没有音频的视频,用虚拟音频,concat=n=的数量不包括虚拟音频
./ffmpeg -i /video/0.mp4 -i /video/1.mp4 -i /video/无音频视频.mp4 -f lavfi -t 0.1 -i anullsrc -filter_complex "[0:v:0][0:a:0][1:v:0][1:a:0][2:v:0][3:a]concat=n=3:v=1:a=1[outv][outa]" -map [outv] -map [outa] -vsync 2 -y out.mp4

切割视频

按关键帧切割视频
ffmpeg.exe -i video.m4v -c copy -f segment -reset_timestamps 1 video\output-%d.mp4

按帧切割视频
./ffmpeg -i ./video/video.m4v -vf "select=between(n\,0\,52),setpts=N/FRAME_RATE/TB" -af "aselect='between(n\,0\,52)',asetpts=N/SR/TB" -y ./video/output.mp4
./ffmpeg -i ./video/video.m4v -vf "trim=start_frame=0:end_frame=52+1,setpts=PTS-STARTPTS" -an -y ./video/output1.mp4

音频渐入渐出

音频音量+渐入渐出,st起始时间,d持续时间
ffmpeg -an -i video.m4v -stream_loop -1 -i 3m.mp3 -filter_complex [1:a]volume=0.5[a1];[a1]afade=t=in:st=0:d=3,afade=t=out:st=29:d=3 -t 32 -vcodec copy -y out.mp4

详细讲解ffmpeg命令的使用(视频合并&avi转MP4&补空白音频

http://www.lryc.cn/news/108409.html

相关文章:

  • Jenkins工具系列 —— Jenkins 安装并启动
  • 使用中间人攻击的arp欺骗教程
  • 设计模式、Java8新特性实战 - List<T> 抽象统计组件
  • 【JavaEE初阶】博客系统后端
  • day51-Mybatis-Plus/代码生成器
  • 22.Netty源码之解码器
  • R语言【Tidyverse、Tidymodel】的机器学习方法
  • vscode 第一个文件夹在上一层文件夹同行,怎么处理
  • [JavaScript游戏开发] 绘制冰宫宝藏地图、人物鼠标点击移动、障碍检测
  • 【NLP概念源和流】 01-稀疏文档表示(第 1/20 部分)
  • 服务器运行python程序的使用说明
  • 8.2一日总结
  • JavaScript(四)DOM及CSS操作
  • window中,关闭java占用端口的进程
  • 【Python】PySpark 数据计算 ⑤ ( RDD#sortBy方法 - 排序 RDD 中的元素 )
  • Elasticsearch官方测试数据导入
  • uniapp项目的pdf文件下载与打开查看
  • DeepVO 论文阅读
  • HOT71-字符串解码
  • redis-server进程无法关闭终极解决方案
  • (5)将固件加载到没有ArduPilot固件的主板上
  • wpf画刷学习1
  • Opencv C++实现yolov5部署onnx模型完成目标检测
  • django bootstrap html实现左右布局,带折叠按钮,左侧可折叠隐藏
  • Mapping温度分布验证选择数据记录仪时需要考虑的13件事
  • 【题解】 判断一个链表是否为回文结构
  • Microsoft Message Queuing Denial-of-Service Vulnerability
  • 软件设计师(五)软件工程基础知识
  • Java中的JUnit单元测试方法的使用
  • 一文学透设计模式——抽象工厂模式