FFMpeg 常用指令

1、MP4转FMP4

ffmpeg -i 1.mp4 -g 52 -f mp4 -movflags frag_keyframe+empty_moov out.mp4

2、RTSP转RTMP
Windows:

ffmpeg -i "rtsp://xxx" -vcodec copy -acodec copy -f flv "rtmp://localhost/live/stream001"

Linux:

ffmpeg -re -rtsp_transport tcp -i "rtsp://xxx" -f flv -r 25 -s 1920x1080 -an rtmp://localhost/live/stream001

3、MP4转TS

ffmpeg -y -i 1.mp4 -vcodec copy -acodec copy -vbsf h264_mp4toannexb out.ts

4、对TS切片,每个片段5秒

ffmpeg -i 1ts.ts -c copy -map 0 -f segment -segment_list 1.m3u8 -segment_time 5 前缀-%03d.ts

5、MP4转TS切片,每个片段5秒

ffmpeg -i 1.mp4 -c:v libx264 -hls_time 5 -hls_list_size 0 -c:a aac -strict -2 -f hls out.m3u8

ffmpeg -i 1.mp4 -codec copy -vbsf h264_mp4toannexb -map 0 -f segment -segment_list 1.m3u8 -segment_time 10 out_%03d.ts

6、MP4转H264

ffmpeg -i 1.mp4 -vcodec copy -an -vbsf h264_mp4toannexb out.h264

7、录制桌面视频
Windows:

ffmpeg -f dshow -i video="screen-capture-recorder" v-out.mp4

ffmpeg -f gdigrab -i desktop v-out.mp4

#以15的帧率抓屏20秒,保存为视频格式是vp9的mkv文件

ffmpeg -f gdigrab -t 20 -r 15 -i desktop -vcodec libvpx-vp9 v-out-vp9.mkv

#以15的帧率抓屏10秒,保存为视频格式是vp9,限时30秒,分辨率是720x420的mkv文件

ffmpeg -f gdigrab -t 10 -r 15 -t30 -i desktop -vcodec libvpx-vp9 -s 720x420 v-out-vp9-720-420.mkv

#以15的帧率抓屏20秒,抓屏范围,以点(100,60)开始,大小1280x720,保存为视频格式是264的mp4文件

ffmpeg -f gdigrab -video_size 1280x720 -offset_x 100 -offset_y 60 -t 20 -r 15 -i desktop -vcodec libx264 v-out-x264.mp4

#gdigrab通过设定不同的输入URL,支持两种方式的屏幕抓取:#“desktop”:抓取整张桌面。或者抓取桌面中的一个特定的区域
#“title={窗口名称}”:抓取屏幕中特定的一个窗口
#从屏幕的(10,20)点处开始,抓取1280x720的屏幕,设定帧率为5

ffmpeg -f gdigrab -framerate 5 -offset_x 10 -offset_y 20 -video_size 1280x720 -i desktop v-out.mpg

#按键Q/Ctrl+C:结束录制
Linux:

ffmpeg -video_size 1280x720 -framerate 25 -f x11grab -i :0.0+100,200 v-out.mp4

MacOS:

ffmpeg -f avfoundation -i "1:0" av-out.mov

#1表示视频设备序列号
#0表示音频设备序列号

8、录制音频
Windows:

ffmpeg -f dshow -i audio="audio-capturer" a-out.aac

9、同时录制音视频
Windows:

ffmpeg -f dshow -i video="screen-capture":audio="audio-capturer" av-out.mp4

Linux:

ffmpeg -video_size 1280x720 -framerate 25 -f x11grab -i :0.0+100,200 -f alsa -ac 2 -i hw:0 av-out.mkv

ffmpeg -video_size 1280x720 -framerate 25 -f x11grab -i :0.0+100,200 -f pulse -ac 2 -i default av-out.mkv

10、查看视频录制的可选参数

ffmpeg -f dshow -list_options true -i video="screen-capture"

11、查看音频录制的可选参数

ffmpeg -f dshow -list_options true -i audio="audio-capturer"

12、查看设备名字
Windows:

ffmpeg -list_devices true -f dshow -i dummy

dshow插件Screen Capturer Recorder, 项目地址:https://sourceforge.net/projects/screencapturer/files/
Linux:

ffmpeg -list_devices true -f dshow -i dummy

MacOS:

ffmpeg -f avfoundation -list_devices true -i ""

13、视频录制(依次设置:分辨率 帧率 像素格式)

ffmpeg -f dshow -video_size 1280x720 -framerate 30 -pixel_format yuv420p -i video="screen-capture-recorder" v-out.mp4

14、指定参数录制音视频

ffmpeg -f dshow -video_size 1280x720 -framerate 30 -pixel_format yuv420p -i video="screen-capture-recorder":audio="virtual-audio-capturer" av-out.mp4

15、RTSP录制MP4

ffmpeg -y -i rtsp://xxx -vcodec copy -acodec copy -f mp4 record.mp4

#播放RTSP

ffplay rtsp://xxx
 

你可能感兴趣的:(工作随笔篇,FFMpeg)