ffmpeg 视频操作

//删除音频
ffmpeg -i video.MP4 -vcodec copy -an output_file.mp4

ffmpeg -i output_file.mp4 -i video_01.mp3 -vcodec copy -acodec copy output.mp4

合并音视频
ffmpeg.exe -i 1.mp4 -i 1.mp3 -vcodec copy -acodec copy 1.mp4

分离视频出来:
ffmpeg -i test.mp4 -vcodec copy -an 视频流.avi

分离音频出来:
ffmpeg -i video.MP4 -acodec copy -vn video_yin.mp3

在分离音视频的时候,不需要这么麻烦,只要执行简单的语句就行:
分离视频:ffmpeg -i 1.mp4 1.avi
分离音频:ffmpeg -i 1.mp4 1.mp3

分离的音频可以做单独的降噪处理变声等待操作

ffmpeg.exe -ioutput_file.mp4 -i video_yin.aac -vcodec copy -acodec copy 1.mp4

按时间截取

ffmpeg  -i video1.mp4 -vcodec copy -acodec copy -ss 00:53:00 -to 00:54:15 cutout1.mp4 -y

按帧数截取

ffmpeg -i input.mp4 -vf "select=between(n\,20\,200)" -y -acodec copy output.mp4

 

https://blog.csdn.net/zhoubotong2012/article/details/79338093/

1.用命令行枚举采集设备和采集数据

打开Cmd命令行控制台,进入FFmpeg的Bin目录,输入如下命令:

 

ffmpeg -list_devices true -f dshow -i dummy

 

在上面的命令行窗口中列出了两个设备,一个是视频采集设备,另外是一个音频采集设备。另外,我们发现:音频设备的名称有乱码,因为其中有中文名称,后面在讲到用API采集数据的时候会提到解决这个问题的方法。

 

接着我们输入另外一个命令行:

 

ffmpeg -list_options true -f dshow -i video="USB 2861 Device"

 

ffmpeg -list_options true -f dshow -i video="@device_pnp_\\?\usb#vid_5986&pid_212b&mi_00#6&1c3f9d97&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"

 

楹﹀厠椋?(HIK 2K Camera-Audio)

 

ffmpeg -list_options true -f dshow -i video="HIK 2K Camera"

 

ffmpeg -list_options true -f dshow -i audio="@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{156409C2-9919-49C8-BF06-04AFC2BE01D4}"

ffmpeg -list_options true -f dshow -i audio="麦克风 (HIK 2K Camera-Audio)"

 

这个命令行的作用是获取指定视频采集设备支持的分辨率、帧率和像素格式等属性,返回的是一个列表,结果如下:

这里我们看到采集设备支持的最大分辨率是720x576,输出像素格式是yuyv422,支持的帧率为29.97和25FPS。

 

下面我们执行另外一条命令,将摄像头的图像和麦克风的音频录制保存成一个文件。命令如下:

 

ffmpeg -f dshow -i video="USB 2861 Device" -f dshow -i audio="线路 (3- USB Audio Device)" -vcodec libx264 -acodec aac -strict -2 mycamera.mkv

 

这里有些读者可能会问:采集设备不是支持多个分辨率吗?怎么设置采集时用哪一种分辨率输出?答案是用“-s”参数设置,若在上面的命令行加上“-s 720x576”,则FFmpeg就会以720x576的分辨率进行采集,如果不设置,则以默认的分辨率输出。

 

录屏录音

ffmpeg -f dshow -i video="HIK 2K Camera" -f dshow -i audio="@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{156409C2-9919-49C8-BF06-04AFC2BE01D4}" -vcodec libx264 -acodec aac -strict -2 mycamera.mkv

ffmpeg -f dshow -i video="HIK 2K Camera" -f dshow -i audio="麦克风 (Realtek(R) Audio)" -vcodec libx264 -acodec aac -strict -2 mycamera.mkv

 

 

https://blog.csdn.net/tanhuifang520/article/details/79623978

(1)只录制音频

 

ffmpeg -f dshow -i audio="麦克风 (HIK 2K Camera-Audio)" -acodec libmp3lame window.mp3

 

 

ffmpeg -f dshow -i audio="Stereo Mix (Realtek High Defini" typing.wav

 

(2)只录制视频

 

ffmpeg -f dshow -i video="Integrated Camera" -r 5 -vcodec libx264 -preset:v ultrafast -tune:v zerolatency MyDesktop.mp4

 

 

(3)录制音频和视频

 

ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -pix_fmt yuv420p -vcodec libx264 -acodec libvo_aacenc -s 1280x720 -r 25 -q 10 -ar 44100 -ac 2 -tune zerolatency -preset ultrafast -f mpegts - | ffmpeg -f mpegts -i - -c copy -bsf:a aac_adtstoasc -f flv temp.flv

 

 

 

https://blog.csdn.net/c_base_jin/article/details/106773589

(4)录制音频和屏幕

gdigrab是基于GDI的抓屏设备,可以用于抓取屏幕的特定区域。在这里记录一下gdigrab的用法。

gdigrab通过设定不同的输入URL,支持两种方式的屏幕抓取:

(1)“desktop”:抓取整张桌面。或者抓取桌面中的一个特定的区域。
(2)“title={窗口名称}”:抓取屏幕中特定的一个窗口。

 

//gdigrab设备 采集整个桌面 可以用

ffmpeg -f gdigrab -framerate 30 -i desktop output.mkv

 

 

ffmpeg -f gdigrab -i desktop -f dshow -i audio="麦克风 (HIK 2K Camera-Audio)":audio="麦克风 (Realtek(R) Audio)" -vcodec libx264 -acodec libmp3lame -s 1920x1080 -r 15 temp.mp4

 

 

 

 

4.1 指定窗体

 

ffmpeg -f gdigrab -i title="Skype" -f dshow -i audio="麦克风 (HIK 2K Camera-Audio)":audio="麦克风 (Realtek(R) Audio)" -vcodec libx264 -acodec libmp3lame -r 15 temp.mp4

 

 

 

https://www.cnblogs.com/bleachli/p/4494689.html

 

 

//Dshow设备  screen capture recorder  需要下载这个exe

https://sourceforge.net/projects/screencapturer/files/

 

ffmpeg -f dshow -i video="screen-capture-recorder" output.mkv

 

ffmpeg -f dshow -i video="HIK 2K Camera" -f dshow -i audio="麦克风 (Realtek(R) Audio)" -vcodec libx264 -acodec aac -strict -2 mycamera.mkv

 

ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 -acodec libmp3lame -s 1920x1080 -r 15 temp.mkv

 

ffmpeg -f dshow -i video="screen-capture-recorder" -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 -acodec libmp3lame -r 15 temp.mkv

 

ffmpeg -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 -acodec libmp3lame -s 1920x1080 -r 15 temp.mp4

 

ffmpeg -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libvpx-vp9 -acodec libmp3lame -s 1280x720 -r 15 temp.mkv

 

原文链接:https://blog.csdn.net/juedno/article/details/80731733

 

区域录像 ( 起点:100,60 width:600 width:480 )

ffmpeg -f gdigrab -i desktop -f dshow -i audio="virtual-audio-capturer" -vcodec libx264 -acodec libmp3lame -video_size 600x480 -offset_x 100 -offset_y 60 -r 15 e:/temp/temp.mkv

 

 

4.2 流转发

 

ffmpeg -re -i input.flv -c copy -f flv rtmp://127.0.0.1/myapp

 

ffplay rtmp://127.0.0.1:1935/myapp

 

 

ffmpeg -re -i chunwan.h264 -vcodec copy -f h264 udp://233.233.233.223:6666

 

 

ffmpeg -f gdigrab -i desktop -f dshow -i audio="麦克风 (HIK 2K Camera-Audio)":audio="麦克风 (Realtek(R) Audio)" -vcodec libx264 -acodec libmp3lame -s 1920x1080 -r 15 temp.mp4

rtmp://127.0.0.1/myapp/test

 

ffmpeg -f gdigrab -i desktop -f dshow -i audio="麦克风 (HIK 2K Camera-Audio)":audio="麦克风 (Realtek(R) Audio)" -vcodec libx264 -preset:v ultrafast -pix_fmt yuv420p -acodec aac -f flv rtmp://127.0.0.1/myapp

 

ffmpeg -f gdigrab -i desktop -f dshow -i audio="麦克风 (HIK 2K Camera-Audio)" -vcodec libx264 -preset:v ultrafast -pix_fmt yuv420p -acodec aac -f rtp rtp://rtp://127.0.0.1:8000>test.sdp

 

ffmpeg -re -i chunwan.h264 -vcodec copy -f rtp rtp://rtp://127.0.0.1:8000>test.sdp

 

 

 

ffmpeg.exe

-y

-f dshow

-i audio="麦克风 (HIK 2K Camera-Audio)":audio="麦克风 (Realtek(R) Audio)"

-f gdigrab

-draw_mouse 0

-i title="Google Chrome"

-framerate 30

-vcodec libx264

-crf 0

-preset ultrafast

-acodec pcm_s16le

output.flv

 

--黑屏

ffmpeg.exe -y -f dshow -i audio="麦克风 (HIK 2K Camera-Audio)":audio="麦克风 (Realtek(R) Audio)" -f gdigrab -draw_mouse 0 -i title="Skype" -framerate 30 -vcodec libx264 -crf 0 -preset ultrafast -acodec pcm_s16le output.flv

 

posted @ 2021-05-26 10:58  一颗大白鲸  阅读(377)  评论(0编辑  收藏  举报