网站建设怎么接单/毛戈平化妆培训学校官网
多媒体ffmpeg
目前比较流行的音视频文件为:MP4 flv m3u8
ffmpeg
ffmpeg ffplay ffprobe ffserver
ffmpeg -i INPUT -vf "split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip];[main][flip] overlay=0:H/2" OUTPUT
ffmpeg -i 2022.mp4 -vcodec mpeg4 -b:v 200k -r 15 -an output.rmvb
ffmpeg -h demuxer=mp4
ffmpeg -i input.flv -c copy -f mp4 -movflags dash output.mp4
ffmpeg -i 2022.mp4 -c copy -f flv output.flv
ffmpeg -i 2022.mp4 -vcodec copy -acodec aac -f flv output.flv
ffmpeg -i 2022.mp4 -c copy -f flv -flvflags add_keyframe_index add_keyframe_index.flv
ffmpeg -re -i 2022.mp4 -c copy -f hls -bsf:v h264_mp4toannexb output.m3u8
切割音视频
ffmpeg -re -i 2022.mp4 -c copy -f segment -segment_format mp4 test_output-%d.mp4ffprobe -v quiet -show_packets -select_streams v test_output-0.mp4 2> x | grep pts_time | tail -n 3ffmpeg -ss 10 -i 2022.mp4 -c copy output1de.ts
抽取音频流
ffmpeg -i 2022.mp4 -vn -acodec copy output.aac
抽取H264视频流
ffmpeg -i 2022.mp4 -vcodec copy -an output.h264
抽取H265数据
ffmpeg -i 2022.mp4 -vcodec copy -an -bsf hevc_mp4toannexb -f hevc output.hevc
ffmpeg -h encoder=libx264
ffmpeg -hide_banner -codecs | grep h264
转码
ffmpeg -i 2022.mp4 -vcodec libx264 -preset ultrafast -b:v 2000k out.mp4ffmpeg -i 2022.mp4 -vcodec libx264 -preset medium -b:v 2000k out.mp4ffmpeg -i 2022.mp4 -vcodec libx264 -profile:v baseline -level 3.1 -s 352x288 -an -y -t 10 output_baseline.tsffmpeg -i 2022.mp4 -vcodec libx264 -profile:v high -level 3.1 -s 352x288 -an -y -t 10 output_high.tsffmpeg -i 2022.mp4 -c:v libx264 -g 50 -t 60 demo.mp4
转码: 控制GOP长度 sc_threshold
ffmpeg -i 2022.mp4 -c:v libx264 -g 50 -sc_threshold 0 -t 60 -y outputs1.mp4
设置内部参数 x264opts
ffmpeg -i 2022.mp4 -c:v libx264 -x264opts "bframes=0" -g 50 -sc_threshold 0 demo.mp4
ffmpeg -i 2022.mp4 -c:v libx264 -x264opts "bframes=0:b-adapt=0" -g 50 -sc_threshold 0 demo.mp4ffmpeg -i 2022.mp4 -c:v libx264 -x264opts "bframes=10:b-adapt=0" -b:v 1000k -maxrate 1000k -minrate 1000k -bufsize 50k -nal-hrd cbr -g 50 -sc_threshold 0 demo01.mp4
硬件编码
nvidia GPU和Intel QSV
ffmpeg -h encoder=h264_nvenc # intel
ffmpeg -h encoder=h264_cuvid # nvidiaffmpeg -hwaccel cuvid -vcodec h264_cuvid -i 2022.mp4 -vf scale_npp=1920:1080 -vcodec h264_nvenc -acodec copy -f mp4 -y sss.mp4
Inter QSV
root@ai-evaluation-test:~# ffmpeg -hide_banner -codecs | grep h264DEV.LS h264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (decoders: h264 h264_crystalhd h264_v4l2m2m h264_vdpau h264_cuvid ) (encoders: libx264 libx264rgb h264_nvenc h264_omx h264_v4l2m2m h264_vaapi nvenc nvenc_h264 )ffmpeg -i 2022.mp4 -pix_fmt nv12 -vcodec h264_qsv -an -y outputqsv.mp4ffmpeg -hide_banner -y -hwaccel qsv -i 2022.mp4 -an -c:v hevc_qsv -load_plugin hevc_hw -b:v 5M -maxrate 5M out.mp4ffmpeg -h decoder=h264_videotoolbox
支持mp3编码:
ffmpeg -h encoder=libmp3lameffmpeg -i sample-3s.mp3 -acodec libmp3lame sample-3s-demo.mp3 # 编码
设置MP3码率为CBR
ffmpeg -i sample-3s.mp3 -acodec libmp3lame -b:a 64k ss.mp3
设置MP3的码率为 ABR
ffmpeg -i sample-3s.mp3 -acodec libmp3lame -b:a 64k -abr 1 ss.mp3
AAC编码器的使用
ffmpeg -i 2022.mp4 -c:a aac -b:a 160k output.aac # 抽取aac格式的语音流
ffmpeg -i 2022.mp4 -c:a aac -q:a 2 output.mp4
libfdk_acc使用例子
ffmpeg -i 2022.mp4 -c:a libfdk_aac -b:a 128k ssdemo.mp4ffmpeg -i 2022.mp4 -c:v copy -c:a libfdk_aac -b:a 384k ssde.mp4ffmpeg -i 2022.mp4 -c:a libfdk_aac -vbr 3 outsdee.mp4
AAC音频分为三种: LC HE-AAC HEv2-AAC
he-aac
ffmpeg -i 2022.mp4 -c:a libfdk_aac -profile:a aac_he -b:a 64k ssde.m4a
hev2-acc
ffmpeg -i 2022.mp4 -c:a libfdk_aac -profile:a aac_he_v2 -b:a 64k ssde.m4a
ffprobe
查看音视频有多少个包
ffprobe -show_packets 2022.mp4
ffprobe -show_packets -show_data 2022.mp4
查看音视频封装格式
ffprobe -show_format 2022.mp4
查看音视频帧信息
ffprobe -show_frames 2022.mp4
查看音视频流信息
ffprobe -show_streams 2022.mp4
指定输出格式-of
ffprobe -show_streams -of ini 2022.mp4
ffprobe -show_frames -select_streams v -of xml 2022.mp4
分析flv文件格式音视频
ffprobe -v trace -i add_keyframe_index.flv分析每一帧包含I帧P帧B帧的情况:
ffprobe -v quiet -show_frames -select_streams v output_baseline.ts | grep "pict_type=B" | wc -l
ffprobe -v quiet -show_frames -select_streams v output_high.ts | grep "pict_type=B" | wc -l
ffplay
从第5秒开始放,播放10秒
ffplay -ss 5 -t 10 2022.mp4
ffplay -window_title "AUTEL DEMo" -ss 5 -t 10 -autoexit 2022.mp4
自定义标题
ffplay -window_title "AUTEL DEMo" 2022.mp4
打开网络直播流
ffplay -window_title "AUTEL DEMo" rtmp://up.v.test.com/live/streamffplay -vcodec h264 2022.mp4
播放视频流编号为4,音频流编号为5
ffplay -vst 4 -ast 5 2022.mp4
ffplay -window_title "Test Movie" -vf "subtitles=input.srt" 2022.mp4
MP3
ffplay -showmode 1 sample-3s.mp3
宏块
ffplay -debug vis_mb_type -window_title "show vis_mb_type" -ss 5 -t 10 -autoexit 2022.mp4
ffplay -vismv pf 2022.mp4
ffplay -flags2 +export_mvs -ss 5 2022.mp4 -vf codecview=mv=pf+bf+bb
RTMP
rtmp_app参数:
ffmpeg -rtmp_app live -i rtmp://publish.chinaffmpeg.com -c copy -f flv demo.flv
ffmpeg -re -i 2022.mp4 -c copy -f flv -rtmp_app live rtmp://publish.chinaffmpeg.com
rtmp_playpath参数:
ffmpeg -re -i 2022.mp4 -c copy -f flv -rtmp_app live -rtmp_playpath class rtmp://puhlish.chinaffmpeg.com#拉流
ffmpeg -rtmp_app live -rtmp_playpath class -i rtmp://publish.chinaffmpeg.com -c copy -f flv ssd.flv#推流
ffmpeg -i 2022.mp4 -c copy -f flv rtmp://publish.chinaffmpeg.com/${rtmp_app}/${rtmp_playpath}ffmpeg -i 2022.mp4 -c copy -f flv rtmp://publish.chinaffmpeg.com/live/class#拉流
ffmpeg -i rtmp://publish.chinaffmpeg.com/live/class -c copy -f flv sde.flv
rtmp_pageurl参数
ffmpeg -rtmp_pageurl "http://wwww.chinaffmpeg.com" -i rtmp:/publish.chinaffmpeg.com/live/class
RTSP
查看帮助
ffmpeg -h demuxer=RTSP
rtsp_transport 参数
ffmpeg -rtsp_transport tcp -i rtsp://47.90.47.25/test.ts -c copy -f mp4 ds.mp4 #录制流
user-agent参数
ffmpeg -user-agent "ChinaFFmpeg-Player" -i rtsp://input:554/live/1/stream.sdp -c copy -f mp4 -y ssee.mp4
TS流: TS流(Transport Stream,传输流):*是将一个节目的多个组成部分按照它们之间的互相关系进行组织并加入各组成部分关系描述和节目组成信息,并进一步封装成传输包后的码流*。TS流是将视频、音频、PSI等数据打包成传输包进行传送
HTTP
seekable参数举例
ffmpeg -ss 30 -seekable 0 -i http://bbs.chinaffmpeg.com/test.ts -c copy ssdfsa.mp4
ffmpeg -ss 30 -seekable 1 -i http://bbs.chinaffmpeg.com/test.ts -c copy -y ss.mp4
headers 参数
ffmpeg -headers "referer: http://bbs.chinaffmpeg.com/index.html" -i http://play.chinaffmpeg.com/live/class.flv -c copy -f flv -y sdaa.flv
uaser_agent参数
ffmpeg -user_agent "LiuQi's Player" -i http://bbs.chinaffmpeg.com/1.flv
拉流
ffmpeg -i http://bbs.chinaffmpeg.com/live.flv -c copy -f flv outss.flv
ffmpeg -i http://bbs.chinaffmpeg.com/live.ts -c copy -f flv outss.flv
ffmpeg -i http://bbs.chinaffmpeg.com/live.m3u8 -c copy -f flv outss.flv
TCP
拉流
fmpeg -listen 1 -f flv -i tcp://127.0.0.1:1234/live/stream -c copy -f flv ssd.flv
发布流
ffmpeg -re -i 2022.mp4 -c copy -f flv tcp://127.0.0.1:1234/live/streamffmpeg -listen_timeout 5000 -listen 1 -f flv -i tcp://127.0.0.1:1234/live/stream -c copy -f flv oude.flv
ffmpeg -timeout 20000000 -listen 1 -f flv -i tcp://127.0.0.1:1935/live/stream -c copy -f flv oude.flv
设置buffer大小流
ffmpeg -re -i 2022.mp4 -c copy -send_buffer_size 265 -f flv tcp://192.168.100.179:1234/live/stream
UDP
ffmpeg -re -i 2022.mp4 -c copy -localport 23456 -f flv udp://192.168.100.179:1234/live/stream
推多路流
管道方式输出多路流
ffmpeg -i 2022.mp4 -acodec aac -vcodec libx264 -f flv - | ffmpeg -f mpegts -i - -c copy output1 -c copy output2 -c copy output3# 推2路流
ffmpeg -i 2022.mp4 -vcodec libx264 -acodec aac -f flv - | ffmpeg -f flv -i - -c copy -f flv rtmp://publish.chinaffmpeg.com/live/stream1 -c copy -f flv rtmp://pubpish.chinaffmpeg.com/live/stream2
# 验证
ffmpeg -i rtmp://publish.chinaffmpeg.com/live/stream1 -i rtmp://publish.chinaffmpeg.com/live/stream2
tee封装格式输出多路流
# 推流
ffmpeg -re -i 2022.mp4 -vcodec libx264 -acodec aac -map 0 -f tee "[f=flv] rtmp://publish.chinaffmpeg.com/live/stream1 | [f=flv] rtmp://publish.chinaffmpeg.com/live/stream2"# 拉流
ffmpeg -i rtmp://publish.chinaffmpeg.com/live/stream1 -i rtmp://publish.chinaffmpeg.com/live/stream2ffmpeg -re -i 2022.mp4 -ccodec libx264 -acodec aac -f flv "tee:rtmp://publish.chinaffmpeg.com/live/stream1|rtmp://publish.chinaffmpeg.com/live/stream2"
生成HDS流
ffmpeg -h muxer=hds # 查看hds帮助信息
window_size 参数控制文件列表大小
ffmpeg -i 2022.mp4 -c copy -f hds -window_size 4 llll.mp4
root@ai-evaluation-test:~/llll.mp4# ls -lrt
total 14196
-rw-r--r-- 1 root root 3770540 10月 13 14:10 stream0Seg1-Frag1
-rw-r--r-- 1 root root 3806068 10月 13 14:10 stream0Seg1-Frag2
-rw-r--r-- 1 root root 3848563 10月 13 14:10 stream0Seg1-Frag3
-rw-r--r-- 1 root root 3093703 10月 13 14:10 stream0Seg1-Frag4
-rw-r--r-- 1 root root 154 10月 13 14:10 stream0.abst
-rw-r--r-- 1 root root 615 10月 13 14:10 index.f4m
extra_window_size 参数控制文件个数
ffmpeg -re -i 2022.mp4 -c copy -f hds -window_size 4 -extra_window_size 1 outputdemo
root@ai-evaluation-test:~/outputdemo# ls -lrt
total 14196
-rw-r--r-- 1 root root 3770540 10月 13 14:14 stream0Seg1-Frag1
-rw-r--r-- 1 root root 3806068 10月 13 14:15 stream0Seg1-Frag2
-rw-r--r-- 1 root root 3848563 10月 13 14:15 stream0Seg1-Frag3
-rw-r--r-- 1 root root 3093703 10月 13 14:15 stream0Seg1-Frag4
-rw-r--r-- 1 root root 154 10月 13 14:15 stream0.abst
-rw-r--r-- 1 root root 617 10月 13 14:15 index.f4m
生成DASH流
ffmpeg -h muxer=dash
window_size 与extra_window_size参数举例
ffmpeg -re -i 2022.mp4 -c:v copy -acodec copy -f dash -window_size 4 -extra_window_size 5 index.mpd
single_file参数验证
ffmpeg -re -i ../2022.mp4 -c:v copy -acodec copy -f dash -window_size 4 -extra_window_size 5 -single_file 1 index.mpd
为视频加logo
ffmpeg -i 2022.mp4 -i ion-credit.png -filter_complex "[1:v] scale=176:144[ion-credit];[0:v][ion-credit]overlay=x=0:y=0" sddsaad.mp4
为视频增加水印: drawtext滤镜参数
ffmpeg -i 2022.mp4 2022.mp4 -vf "drawtext=fontsize=100:fontfile=FreeSerif.ttf:text='Autel':x=20:y=20" ssaa3r2r.mp4ffmpeg -i 2022.mp4 -vf "drawtext=fontsize=100:fontfile=FreeSerif.ttf:text='Autel':x=20:y=20:fontcolor=green" ssaa3r2r.mp4ffmpeg -i 2022.mp4 -vf "drawtext=fontsize=100:fontfile=FreeSerif.ttf:text='Autel':x=20:y=20:fontcolor=green:box=1:boxcolor=yellow" ssaa3r2r.mp4
为视频添加本地时间 drawtext滤镜
ffmpeg -re -i 2022.mp4 -vf "drawtext=fontsize=60:fontfile=FreeSerif.ttf:text='%{localtime\:%Y\-%m\-%d %H-%M-%S}':x=20:y=20:fontcolor=green:box=1:boxcolor=yellow" ssaa3r2r.mp4# 闪烁效果
ffmpeg -re -i 2022.mp4 -vf "drawtext=fontsize=60:fontfile=FreeSerif.ttf:text='test':x=20:y=20:fontcolor=green:box=1:boxcolor=yellow:enable=lt(mod(t\,3)\,1)" ssaa3r2r.mp4
为视频加图片水印 movie滤镜
ffmpeg -i 2022.mp4 -vf "movie=ion-credit.png[wm]; [in][wm]overlay=30:10[out]" sdsemdeosa.mp4ffmpeg -i 2022.mp4 -vf "movie=ion-credit.png,colorkey=black:1.0:1.0[wm]; [in][wm]overlay=30:10[out]" sdsemdeosa.mp4
生成画中画 overlay滤镜
# 左上角
ffmpeg -re -i 2022.mp4 -vf "movie=ssaa3r2r.mp4,scale=480x320[test];[in][test]overlay[out]" -vcodec libx264 out20231024.flv#右上角
ffmpeg -re -i 2022.mp4 -vf "movie=ssaa3r2r.mp4,scale=480x320[test];[in][test]overlay=x=main_w-480:y=main_h-320[out]" -vcodec libx264 out20231024.flvffmpeg -re -i 2022.mp4 -vf "movie=ssaa3r2r.mp4,scale=480x320[test];[in][test]overlay=x='if(gte(t,2),-w+(t-2)*20,NAN)':y=0[out]" -vcodec libx264 out20231024.flv# 视频多宫格
ffmpeg -re -i 2022.mp4 -re -i out20231024.flv -re -i output.flv -re -i outputs1.mp4 -filter_complex "nullsrc=size=640x480[base];[0:v]setpts=PTS-STARTPTS,scale=320x240[upperleft];[1:v]setpts=PTS-STARTPTS,scale=320x240[upperright];[2:v]setpts=PTS-STARTPTS,scale=320x240[lowerleft];[3:v]setpts=PTS-STARTPTS,scale=320x240[lowerright];[base][upperleft]overlay=shortest=1[tmp1];[tmp1][upperright]overlay=shortest=1:x=320[tmp2];[tmp2][lowerleft]overlay=shortest=1:y=240[tmp3];[tmp3][lowerright]overlay=shortest=1:x=320:y=240" -c:v libx264 dems.flv
音频相关:
ffmpeg -layoutsffmpeg -i 2323.mp3 -ac 1 output.aacffmpeg -i 2323.mp3 -map_channel 0.0.0 left.aac -map_channel 0.0.1 right.aacffmpeg -i 2323.mp3 -filter_complex "[0:0]pan=1c|c0=c0[left];[0:0]pan=1c|c0=c1[right]" -map "[left]" left.aac -map "[right]" right.aacffmpeg -i 2323.mp3 -filter_complex channelsplit=channel_layout=stereo output.mka# 单声道传双声道ffmpeg -i left.aac -ac 2 output.m4affmpeg -i left.aac -filter_complex "[0:a][0:a]amerge=inputs=2[out]" -map "[out]" output.m4affmpeg -i left.aac -i right.aac -filter_complex "[0:a][1:a]amerge=inputs=2[aout]" -map "[aout]" output.mkaffmpeg -i 2323.mp3 -i 2323.mp3 -i 2323.mp3 -i 2323.mp3 -i 2323.mp3 -i 2323.mp3 -filter_complex "[0:a][1:a][2:a][3:a][4:a][5:a]amerge=inputs=6[aout]" -map "aout" output.wav
音频音量
# 获取音频音量
ffmpeg -i 2323.mp3 -filter_complex volumedetect -c:v copy -f null /dev/null# 绘制音频波形
ffmpeg -i 2323.mp3 -filter_complex "showwavespic=s=640x120" -frames:v 1 ooo.png# 绘制不同声道的波形 split_channels
ffmpeg -i 2323.mp3 -filter_complex "showwavespic=s=640x120:split_channels=1" -frames:v 1 ooo.png
为视频加字幕
ASS字幕流写入视频流
ffmpeg -i 2022.mp4 -vf ass=t1.ass -f mp4 output.mp4
ASS字幕流写入封装容器
ffmpeg -i 2022.mp4 -i t1.ass -acodec copy -vcodec copy -scodec copy out.mkv
ffmpeg -i 2022.mp4 -i t1.ass -map 0:0 -map 0:1 -map 1:0 -acodec copy -vcodec copy -scodec copy out.mkv
视频抠图合并chromakey
查询背景颜色
ffmpeg -colorsffmpeg -i 2022.mp4 -i input_green.mp4 -filter_complex "[1:v]chromakey=Green:0.1:0.2[ckout];[0:v][ckout]overlay[out]" -map "[out]" ddessaa.mp4colorkey
3D视频处理 stereo3d
播放3D视频
ffplay -vf "stereo3d=sbsl:aybd" 2022.mp4ffplay -vf "stereo3d=sbsl:aybg" 2022.mp4
定时视频截图vframe参数和 fps滤镜
ffmpeg -i 2022.mp4 -ss 00:00:7.435 -vframes 1 out.png# 定时截图
"/root/srs/"
ffmpeg -i 2022.mp4 -vf fps=1 out%d.png # 1s
ffmpeg -i 2022.mp4 -vf fps=1/60 out%d.png # 1min
ffmpeg -i 2022.mp4 -vf fps=1/600 out%d.png # 10min# select
ffmpeg -i 2022.mp4 -vf "select='eq(pict_type,PICT_TYPE_I)'" -vsync vfr thumb%04d.png
生成音视频
ffmpeg -re -f lavfi -i abuffer=sample_rate=44100:sample_fmt=s16p:channel_layout=stereo -acodec aac -y outputaac.aacffmpeg -re -f lavfi "aevalsrc=sin(420*2*PI*t)|cos(430*2*PI*t):c=FC|BC" -acodec aac output111.aac
生成视频流
ffmpeg -re -f lavfi -i testsrc=duration=5.3:size=qcif:rate=25 -vcodec libx264 -r:v 25 ssssss.mp4ffmpeg -re -f lavfi -i testsrc2=duration=5.3:size=qcif:rate=25 -vcodec libx264 -r:v 25 ssssss.mp4ffmpeg -re -f lavfi -i color=c=red@0.2:s=qcif:r=25 -vcodec libx264 -r:v 25 ssssss.mp4
音视频的倍速处理 atempo setpts
atempo
ffmpeg -i 2022.mp4 -filter_complex "atempo=tempo=0.5" -acodec aac output11.aac ## 0.5倍处理
ffmpeg -i 2022.mp4 -filter_complex "atempo=tempo=2.0" -acodec aac output11.aac ## 2倍处理
setpts
ffmpeg -re -i 2022.mp4 -filter_complex "setpts=PTS*2" ssde.mp4 # 半速处理ffmpeg -re -i 2022.mp4 -filter_complex "setpts=PTS/2" ssde.mp4 # 2倍处理
采集设备
ffmpeg -hide_banner -devices # 查看采集设备
ffmpeg -h demuxer=fbdev## 帧率
ffmpeg -framerate 30 -f fbdev -i /dev/fb0 ss.mp4## v412
ffmpeg -h demuxer=v412
ffmpeg -hide_banner -f v412 -list_formats all -i /dev/video0ffmpeg -hide_banner -s 1920x1080 -i /dev/video0 output.avi#x11grab 录制桌面
ffmpeg -f x11grab -framerate 25 -video_size 1366x768 -i :0.0 sssde.mp4
ffmpeg -f x11grab -framerate 25 -video_size 352x288 -i :0.0+300,200 out123.mp4 ## 指定录制区域
ffmpeg -f x11grab -video_size 1366x768 -follow_mouse 1 -i :0.0 out123.mp4 # 录制带鼠标的方法## mac os
ffmpeg -devices
ffmpeg -f avfoundation -list_devices true -i ""
# 采集内置摄像头
ffmpeg -f avfoundation -i " FaceTime HD Camera (Built-in)" demo.mp4
#采集OS X桌面
ffmpeg -f avfoundation -i "Capture screen 0" -r:v 30 out.mp4
# 录制鼠标
ffmpeg -f avfoundation -capture_cursor 1 -i "Capture screen 0" -r:v 30 out.mp4
# 采集麦克风
ffmpeg -f acfoundation -i "0:0" out.aac
ffmpeg -f acfoundation -video_device_index 0 -i ":0" out.aac
ffmpeg -f acfoundation -video_device_index 0 -audio_device_index 0 out.aac# windows dshow
ffmpeg.exe -f dshow -list_devices true -i dummy
ffmpeg.exe -f dshow -video_size 1280x720 -i video="Integrated Webcam" s.mp4
ffmpeg.exe -f dshow -i video="Integrated Webcam" -f dshow -i audio="Virtual-audio-capturer" .\s.mp4
# windows vfwcap
ffmpeg.exe -f vfwcap -i list
ffmpeg.exe -f vfwcap -i 0 -r 25 -vcodec libx264 out.mp4 # 生成mp4#windows gdigrab
ffmpeg.exe -f gdigrab -framerate 6 -i desktop out.mp4 # 采集桌面
ffmpeg.exe -f gdigrab -framerate 6 -i title=ffmpeg out.mp4 # 采集某个窗口
ffmpeg.exe -f gdigrab -framerate 6 -offset_x 50 -offset_y 50 -video_size 400x400 -i title=ffmpeg out.mp4 # 采集窗口指定区域
音频种类
WAV MP3 AAC Ogg
RGB
视频种类
YUV表示
相关文章:

多媒体ffmpeg学习教程
多媒体ffmpeg 目前比较流行的音视频文件为:MP4 flv m3u8 ffmpeg ffmpeg ffplay ffprobe ffserverffmpeg -i INPUT -vf "split [main][tmp]; [tmp] cropiw:ih/2:0:0, vflip [flip];[main][flip] overlay0:H/2" OUTPUTffmpeg -i 2022.mp4 -vcodec mpeg4 -b:…...

SELinux零知识学习十五、SELinux策略语言之客体类别和许可(9)
接前一篇文章:SELinux零知识学习十四、SELinux策略语言之客体类别和许可(8) 一、SELinux策略语言之客体类别和许可 4. 客体类别许可实例 (3)进程客体类别许可 与文件许可不同,许多进程许可没有直接对应到…...

OpenSign:安全可靠的电子签名解决方案 | 开源日报 No.76
microsoft/Web-Dev-For-Beginners Stars: 71.5k License: MIT 这个开源项目是一个为期 12 周的全面课程,由微软云倡导者团队提供。它旨在帮助初学者掌握 JavaScript、CSS 和 HTML 的基础知识。每一节都包括预习和复习测验、详细的书面指南、解决方案、作业等内容。…...

Linux | 进程间通信
目录 前言 一、进程间通信的基本概念 二、管道 1、管道的基本概念 2、匿名管道 (1)原理 (2)测试代码 (3)读写控制相关问题 a、读端关闭 b、写端关闭 c、读快写慢 d、读慢些快 (4&a…...

Vue.js正式环境中配置多个请求的URL
在Vue.js中,你可以在正式环境中配置多个请求的URL,通常使用一些配置文件或者环境变量的方式。下面是一种常见的配置方式: 1. 创建配置文件:在项目的根目录下,创建一个配置文件,比如可以是config.js&#x…...

简单的 UDP 网络程序
文章目录: 简单的UDP网络程序服务端创建套接字服务端绑定启动服务器udp客户端本地测试INADDR_ANY 地址转换函数关于 inet_ntoa 简单的UDP网络程序 服务端创建套接字 我们将服务端封装为一个类,当定义一个服务器对象之后,需要立即进行初始化…...

人工智能-深度学习之文本预处理
文本预处理 对于序列数据处理问题, 这样的数据存在许多种形式,文本是最常见例子之一。 例如,一篇文章可以被简单地看作一串单词序列,甚至是一串字符序列。 本节中,我们将解析文本的常见预处理步骤。 这些步骤通常包括…...

【Java 进阶篇】插上翅膀:JQuery 插件机制详解
在前端开发中,JQuery 作为一个广泛应用的 JavaScript 库,为开发者提供了丰富的工具和方法,简化了 DOM 操作、事件处理等繁琐的任务。而在这个庞大的生态系统中,插件机制是 JQuery 的一项重要特性,使得开发者能够轻松地…...

手动编译GDB
手动编译GDB 起因在于使用Clang-14编译C文件并生成调试信息,使用gdb调试时报DWARF相关错误。经检查原因在于虚拟机为Ubuntu 20.04,使用apt下载时官方提供gdb版本为9.2,不支持DWARF5,而Clang-14生成的调试信息是DWARF5版本的。为解决该问题,手…...

竞赛选题 深度学习花卉识别 - python 机器视觉 opencv
文章目录 0 前言1 项目背景2 花卉识别的基本原理3 算法实现3.1 预处理3.2 特征提取和选择3.3 分类器设计和决策3.4 卷积神经网络基本原理 4 算法实现4.1 花卉图像数据4.2 模块组成 5 项目执行结果6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 &a…...

替换SlowFast中Detectron2为Yolov8
一 需求 FaceBookReserch中SlowFast源码中检测框是用Detectron2进行目标检测,本文想实现用yolov8替换detectron2二 实施方案 首先,yolov8 支持有自定义库ultralytics(仅支持yolov8),安装对应库 pip install ultraly…...

轻量化网络--MobileNet V1
文章目录 depth-wise separable convolutions普通卷积depthwise conconvolutionspointwise convolutions网络结构进一步分析网络训练方式两个重要的超参数Width Multiplier: Thinner ModelsResolution Multiplier: Reduced Representation实验结果消融实验细粒度,高分辨率识别…...

gittee启动器
前言 很多小伙伴反馈不是使用gitee,不会寻找好的项目,在拿到一个项目不知道从哪里入手。 鼠鼠我呀就是宠粉,中嘞,老乡。整!!! git的基本指令 在使用gitee的时候呢,我们只需要记住…...

Spark数据倾斜_产生原因及定位处理办法_生产环境
在最近的项目中,历史和实时数据进行关联平滑时出现了数据倾斜,产生了笛卡尔积,具体现象如下:运行内存175GB,核数64,运行代码时,查看SparkUI界面的active jobs ,数据输入是1G…...

2023OceanBase年度发布会后,有感
很荣幸收到了OceanBase邀请,于本周四(11月16日)参加了OceanBase年度发布会并参加了DBA老友会,按照理论应该我昨天(星期五)就回到成都了,最迟今天白天就该把文章写出来了,奈何媳妇儿买…...

ubuntu18.04中代码迁移到20.04报错
一、 PCL库,Eigen库报错,如: /usr/include/pcl-1.10/pcl/point_types.h:903:29: error: ‘enable_if_t’ in namespace ‘std’ does not name a template type; did you mean ‘enable_if’?/usr/include/pcl-1.10/pcl/point_types.h:698:…...

QQ五毛项目记
问题与挑战:某公司为了实现某马总造福全人类,红旗插遍全球的宏伟目标,为应对后续用户激增的问题。特别安排了一次针对全体用户的秒杀活动:于XXXX年XX月XX日XX时XX分XX秒开始的秒杀五毛钱一百个QQ币的活动。每个账户仅限一次&#…...

小程序实现登录持久化
小程序实现登录持久化需要使用到小程序的缓存API,例如wx.getStorageSync()和wx.setStorageSync()等方法。以下是一个简单的代码实现: // App.js App({ // 在全局的App.js中定义全局变量userInfo,用于存放用户信息 globalData: { userInfo: …...

2023年亚太杯数学建模思路 - 案例:ID3-决策树分类算法
文章目录 0 赛题思路1 算法介绍2 FP树表示法3 构建FP树4 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 算法介绍 FP-Tree算法全称是FrequentPattern Tree算法,就是频繁模…...

C复习-输入输出函数+流
参考: 里科《C和指针》 perror 定义在stdio.h中。当一个库函数失败时,库函数会在一个外部整型变量errno(在errno.h中定义)中保存错误代码,然后传递给用户程序,此时使用perror,会在打印msg后再打…...

duplicate复制数据库单个数据文件复制失败报错rman-03009 ora-03113
duplicate复制数据库单个数据文件复制失败报错rman-03009 ora-03113 搭建dg过程中,发现有一个数据文件在复制过程中没有复制过来,在备库数据文件目录找不到这个数据文件 处理方法: 第一步:主库备份86#数据文件 C:\Users\Admi…...

golang 解析oracle 数据文件头
package mainimport ("encoding/binary""fmt""io""os" ) // Powered by 黄林杰 15658655447 // Usered for parser oracle datafile header block 1 .... // oracle 数据文件头块解析 // KCBlockStruct represents the structure of t…...

van-popup滑动卡顿并且在有时候在ios上经常性滑动卡顿的情况
解决”pc端页面可以滚动,移动端手势无法滚动“问题的一次经历 - 掘金 <van-popup v-model"studentclassShow" :lock-scroll"false" position"bottom" style"z-index: 3000" :style"{ height: 55% }"><d…...

YOLOv7独家原创改进:最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度
💡该教程为属于《芒果书》📚系列,包含大量的原创首发改进方式, 所有文章都是全网首发原创改进内容🚀 💡本篇文章为YOLOv7独家原创改进:独家首发最新原创WIoU_NMS改进点,改进有效可以直接当做自己的原创改进点来写,提升网络模型性能精度。 💡对自己数据集改进有效…...

ubuntu20.04中编译zlib1.2.11(源码编译)
1. 安装cmake-gui 2. 下载并解压zlib-1.2.11,在解压得到的文件夹内部创建一个“build”文件夹。 3. 打开cmake-gui,配置zlib1.2.11的configure文件(主要编辑build路径,安装路径,以及其他依赖选项)&#x…...

计算机毕业设计选题推荐-高校后勤报修微信小程序/安卓APP-项目实战
✨作者主页:IT研究室✨ 个人简介:曾从事计算机专业培训教学,擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Python…...

如何零基础自学AI人工智能
随着人工智能(AI)的快速发展,越来越多的有志之士被其强大的潜力所吸引,希望投身其中。然而,对于许多零基础的人来说,如何入门AI成了一个难题。本文将为你提供一份详尽的自学AI人工智能的攻略,帮…...

pm2使用
常用命令 pm2 delete/stop/restart/start/list/info/monit/log...

在Ubuntu或linux中为coreutils工具包的cp和mv命令添加进度条
1、查看当前最新的coreutils版本: http://ftp.gnu.org/gnu/coreutils/ 2、安装coreutils过程 # wget http://ftp.gnu.org/gnu/coreutils/coreutils-9.4.tar.xz # tar -xJf coreutils-9.4.tar.xz # cd coreutils-9.4/ 对照上面的,下载对应coreutils版本…...

力扣-58. 最后一个单词的长度
int lengthOfLastWord(char* s) {char* temp s;char* ret s;int count 0;/*返回的长度*/while (*temp){/*只记录空格后是字母的地址*/if ((*temp ) && (*(temp 1) ! \0) && (*(temp 1) ! )){ret temp 1;}temp;}while (*ret){if (isalpha(*ret) ! 0)…...