从视频中提取音频
ffmpeg -i video.mp4 -f mp3 -vn audio.mp3
-i
输入文件名
-f
输出文件格式
-vn
不输出视频(video no)
音频转码
这里将音频转码为讯飞语音识别支持的格式
ffmpeg -i 20210606_135621.m4a -ar 16000 -ac 1 20210606_135621.wav
-ar
指定采样率,这里是16K
ac
指定声道数,这里单声道
默认wav编码是pcm_s16le
(PCM signed 16-bit little-endian)
音频分割为1mins长的片段
ffmpeg -i audio.wav -f segment -segment_time 60 -c copy audio%02d.wav
-c
指定编码器,这里不重新编码,因此用copy
audio%02d
这个是输出的名字,使用两位整数,不足时前面补0。这个格式可以自己改。比如改成audio%d.wav
视频转码为h265编码(需要N卡驱动)
ffmpeg -i video_h264.mp4 -c:v hevc_nvenc video_h265.mp4
-c:v
指定视频编码器
当然也可以用其他编码器,这个是GPU加速的编码器,也可以用cpu编码器。
查看编码器
-
查看所有编码/解码器
ffmpeg -codecs
-
查看所有解码器
ffmpeg -decoders
-
查看所有编码器
ffmpeg -encoders
不显示开头的版本信息输出
ffmpeg -hide_banner
录屏
ffmpeg -thread_queue_size 128 -probesize 42M -f gdigrab -i desktop -f dshow -channel_layout stereo -i audio="立体声混音 (Realtek(R) Audio)" -pix_fmt yuv420p -c:v hevc_nvenc out.mp4 -hide_banner
说明一下:-channel_layout是表明声卡是立体声,这一项没有也可以,会自动判断,如果你不知道你的声卡是什么layout,就去掉这项。-i audio=“立体声混音 (Realtek® Audio)”,这里的名字要根据自己设备来写。
查看dshow设备:
ffmpeg -list_devices true -f dshow -i dummy
如果乱码了,就先chcp 65001
再查看。
编码器选择的是N卡的h265编码器,需要新的显卡驱动,没有的话可以换别的编码器。
这样子录屏会出现声音比视频快一点的问题,不知道怎么解决
据说安装个软件之后可以用dshow录制视频了,音视频可以同步
https://github.com/rdp/screen-capture-recorder-to-video-windows-free
ffmpeg -f dshow -i video="screen-capture-recorder":audio="Your-Microphone" output.mkv