刚好有做一个视频处理类的程序,于是了解到了有ffmpeg这样强大的工具。
本篇主要是说明一些相关 ffmpeg 命令行语句的使用。
音频操作
如果不转换,直接输出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
双声道分离
ffmpeg -i 1.wav -map_channel 0.0.0 output/1/1.wav -map_channel 0.0.1 output/2/1.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