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 in -vn -acodec copy out.m4a
将音频输出为wav
ffmpeg -i in -vn -y -ar 16000 -acodec pcm_s16le ou
将 aac 转换为 wav
ffmpeg -i in -acodec pcm_s16le -ar 16000 ou
-acodec 编码解码库
-ar 调整音频采样率
-vn 不处理视频
-y 覆盖输出
字幕操作
字幕转换
srt转换为ass
ffmpeg -i in ou
ass转换为srt
ffmpeg -i in ou
总结有福利
给视频嵌入字幕
1.直接嵌入到字幕流中
ffmpeg -i in -i -c copy out
作者直接使用这个方法没有成功显示
2.使用subtitles filter ,将直接将字幕烧写入视频流
ffmpeg -i in -vf subtitles="in" out
3.使用 ass filter ,将直接将字幕烧写入视频流
ffmpeg -i in -vf ass="; out
注意使用subtitles,ass 填写文件字幕文件路径时需要加转以符号:
如:C:\Users\xdh\Desktop\test\In,应为
ffmpeg -i in -vf ass="C\\:\\\\Users\\\\xdh\\\\Desktop\\\\test\\\\Introduction\\\.ass" ou
、
3. 提取字幕(Extract Subtitle)
提取字幕流
1)原始文本输出
ffmpeg -i ou -an -vn -bsf:s mov2textsub -scodec copy -f rawvideo
ffmpeg -i ou -an -vn -c:s copy -f rawvideo -map 0:s
2)ass格式输出
ffmpeg -i ou -an -vn -scodec copy
如何用 ffmpeg 获取多音轨视频文件的各个音轨
增加字幕流
ffmpeg -i video.avi -i -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,嵌入式等。。。。。相关资料
1.《(ass字幕怎么导入mp4)ass字幕怎么导入mkv》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《(ass字幕怎么导入mp4)ass字幕怎么导入mkv》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/yule/3229645.html