当前位置:首页 > 技术文章 > 正文内容

教你简单 提取fmpeg 视频,音频,字幕 方法

arlanguage3个月前 (01-31)技术文章22

ffmpeg 提取 视频,音频,字幕 方法
(How to Extract Video, Audio, Subtitle from Original Video?)

1. 提取视频 (Extract Video)

任务:需要把一个视频文件的每一帧提取出来,每帧存储成单独的文件。

以前用Matlab处理过这个问题,可是感觉比较慢,而且最近正在逐步转向使用开源的东西。因此搜到ffmpeg这个好东西。

ffmpeg可用来处理视频文件的提取和各种转换,跨平台,官网上有LINUX,WINDOWS和MAC版本。

以下是windows 命令行下使用ffmpeg提取视频帧的方法:


其中-i 后面是输入文件,-q:v 2 q代表质量quality, v代表视频流,2是控制质量的参数。-f指定输出的格式是image2. %07d是图片命名的pattern

2. 提取音频(Extract Audio)

音频操作

如果不转换,直接输出aac

ffmpeg -i input.mp4 -vn -acodec copy out.m4a

将音频输出为wav

ffmpeg -i input.mp4 -vn -y -ar 16000 -acodec pcm_s16le output.wav

将 aac 转换为 wav

ffmpeg -i input.m4a -acodec pcm_s16le -ar 16000 output.wav

-acodec 编码解码库

-ar 调整音频采样率

-vn 不处理视频

-y 覆盖输出

https://blog.csdn.net/hy119/article/details/81632662

字幕操作

字幕转换

srt转换为ass

ffmpeg -i input.srt output.ass

ass转换为srt

ffmpeg -i input.srt output.ass

总结有福利



给视频嵌入字幕

1.直接嵌入到字幕流中

ffmpeg -i input.mp4 -i subtitles.srt -c copy output.mp4

作者直接使用这个方法没有成功显示

2.使用subtitles filter ,将直接将字幕烧写入视频流

ffmpeg -i input.mp4 -vf subtitles="input.srt" output.mp4

3.使用 ass filter ,将直接将字幕烧写入视频流

ffmpeg -i input.mp4 -vf ass="subtitles.ass" output.mp4

注意使用subtitles,ass 填写文件字幕文件路径时需要加转以符号:

如:C:\Users\xdh\Desktop\test\Introduction.ass,应为

ffmpeg -i input.mp4 -vf ass="C\\:\\\\Users\\\\xdh\\\\Desktop\\\\test\\\\Introduction\\\.ass" outass.mp4

https://blog.csdn.net/u013699869/article/details/48162417/

http://trac.ffmpeg.org/ticket/3334


3. 提取字幕(Extract Subtitle)

提取字幕流
1)原始文本输出
ffmpeg -i output.mkv -an -vn -bsf:s mov2textsub -scodec copy -f rawvideo sub.txt
ffmpeg -i output.mkv -an -vn -c:s copy -f rawvideo -map 0:s sub2.txt
2)ass格式输出
ffmpeg -i output.mkv -an -vn -scodec copy sub3.ass

如何用 ffmpeg 获取多音轨视频文件的各个音轨

增加字幕流
ffmpeg -i video.avi -i sub.ass -map 0:0 -map 0:1 -map 1 -c:a copy -c:v copy -c:s copy video.mkv、


1. 先用ffmpeg查看视频文件信息:


2. 转制音频文件
可以看到Audio的Stream有2-7个,分别获取这几个audio音轨的命令是:


a.%d.wav (2-7) 即是输出的几个音轨的音频文件。

总结;关注+私信可以免费领取C/C++,Linux,golang,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,ffmpeg,TCP/IP,协程,DPDK,嵌入式等。。。。。相关资料

扫描二维码推送至手机访问。

版权声明:本文由AR编程网发布,如需转载请注明出处。

本文链接:http://www.arlanguage.com/post/1845.html

标签: nginx ffmpeg
分享给朋友:

“教你简单 提取fmpeg 视频,音频,字幕 方法” 的相关文章

Nginx安装与调优部署文档(WinServer)

1. 安装环境准备1.1 部署规划软件安装路径 E:\nginx软件日志路径 E:\nginx\logs软件主配置文件路径 E:\nginx\conf软件子配置文件路径 E:\nginx\conf\conf.d软件站点配置路径 E:\nginx\html端口规划 802. Nginx安装部署2.1...

nginx知识梳理及配置详解

nginx安装#nginx安装 yum -y install gcc pcre-devel openssl-devel #依赖包 useradd -s /sbin/nologin nginx ./configure --prefix=/usr/local/nginx #...

nginx location 多root理解location

由于应用需求,这个 r 目录需要单独拉出来做处理,nginx 最开始是这样写的: server { root /home/webadm/htdocs; index index.php; location /r/ { root /diska/htdocs; } location ~ \.php { f...

容器中Nginx高并发参数调优实战 nginx并发量过高怎么处理

在容器化的微服务架构中,Nginx作为反向代理和负载均衡器,常常需要承担高并发访问的压力。当并发连接数超过Nginx可处理的上限时,就会出现新连接被丢弃的情况。本文将详细介绍如何发现和定位这个问题,并通过调整内核参数和Nginx配置来解决。一、问题现象某Web服务在高并发场景下,偶尔会出现部分请求无...

Nginx负载均衡安全配置说明2 nginx负载均衡配置文件

上一节,我们对Nginx安全配置的几个知识点做了一个说明,例如限制IP访问、文件目录禁止访问限制、需要防止DOS攻击、请求方法的限制和限制文件上传的大小这个进行了一个分析说明,详细的文章请关注我的头条号:一点热,在里面看回之前的文章,快速入口Nginx负载均衡的一些安全配置说明其实,配置Nginx的...

PHP-性能优化 php性能最优化安全最大化

1 尽量静态化如果一个方法能被静态,那就声明它为静态的,速度可提高1/4,甚至我测试的时候,这个提高了近三倍。当然了,这个测试方法需要在十万级以上次执行,效果才明显。其实静态方法和非静态方法的效率主要区别在内存:静态方法在程序开始时生成内存,实例方法(非静态方法)在程序运行中生成内存,所以静态方法可...