音频变调与变速的操作流程(教你简单提取fmpeg)

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

1. 提取视频 (Extract Video)

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

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

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

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


音频变调与变速的操作流程(教你简单提取fmpeg)(1)

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

总结有福利


音频变调与变速的操作流程(教你简单提取fmpeg)(2)


给视频嵌入字幕

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

音频变调与变速的操作流程(教你简单提取fmpeg)(3)


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查看视频文件信息:


音频变调与变速的操作流程(教你简单提取fmpeg)(4)

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


音频变调与变速的操作流程(教你简单提取fmpeg)(5)

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

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

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页