工作中用到的FFmpeg命令







-f dshow -r 25 -s 1280*720 -i video="SA7160 PCI, Analog 01 Capture" -f dshow -ar 48000 -i audio="SA7160 PCI, Analog 01 WaveIn" -pix_fmt yuv420p -subq 4 -s 960*544 -profile:v high -x264opts bitrate=1500:vbv-maxrate=1500:vbv-bufsize=300:nal_hrd=cbr:asm="mmx2,sse2fast,sse3,sse4.2,avx" -r 25 -vcodec libx264 -acodec libvo_aacenc -ar 44100 -ab 96k -ac 2 -async 1 -f mpegts udp://127.0.0.1:20000?pkt_size=1316




-pix_fmt yuv420p -subq 4 -s 960*544 -profile:v high -x264opts bitrate=1500:vbv-maxrate=1500:vbv-bufsize=300:nal_hrd=cbr:asm="mmx2,sse2fast,sse3,sse4.2,avx" -r 25 -vcodec libx264 -acodec libvo_aacenc -ar 44100 -ab 96k -ac 2 -async 1 -f mpegts 




精确设置GOP,画面晃动严重
min-keyint=24:keyint=24
scenecut=12:min-keyint=6


-pix_fmt yuv420p -subq 4 -s 960*544 -profile:v high -x264opts bitrate=1500:vbv-maxrate=1500:vbv-bufsize=300:nal_hrd=cbr -r 25 -vcodec libx264  -acodec libvo_aacenc -ar 44100 -ac 2 -ab 96k -async 1 -f mpegts 


添加字幕功能


-vf drawtext="fontsize=50:fontfile='c:\\STKAITI.ttf':x=main_w-mode(100*t\,(2*main_w)):y=text_h:fontcolor=green:text='测试 %{localtime}_%{frame_num}_%{pts}_%{pict_type}':box=1:[email protected]






-re -i "E:\share\media\Need For Speed_2014.ts" -pix_fmt yuv420p -subq 4 -s 960*544 -profile:v high -x264opts bitrate=1500:vbv-maxrate=1500:vbv-bufsize=300:nal_hrd=cbr -r 25 -vcodec libx264  -acodec libvo_aacenc -ar 44100 -ac 2 -ab 96k -async 1 -vf drawtext="fontsize=50:fontfile='c:\\STKAITI.ttf':x=main_w-mod(100*t\,(2*main_w)):y=text_h:fontcolor=green:text='测试 %{localtime}_%{frame_num}_%{pts}_%{pict_type}':box=1:[email protected]" -f mpegts udp://127.0.0.1:20000?pkt_size=1316




显示电脑时间
drawtext="fontfile=FreeSans.ttf:text='配置1 %{localtime}'"




滚动字幕  y=h-line_h:x=main_w-mode(100*t\,(2*main_w))  text_h text_w main_h main_w t


#加水印,显示10秒
#!/bin/bash
-vf "drawtext=fontfile=/mnt/hgfs/zm/simhei.ttf: text='来源:迅雷':x=100:y=x/dar:draw='if(gt(n,0),lt(n,250))':fontsize=24:[email protected]:shadowy=2"
       
#加水印,每3秒显示1秒
-vf "drawtext=fontfile=/mnt/hgfs/zm/simhei.ttf: text='来源:迅雷':x=w-100:y=100:draw=lt(mod(t\,3)\,1):fontsize=24:[email protected]:shadowy=2"


查看设备信息:
-list_devices true -f dshow -i dummy


查看单个设备支持配置信息
-list_options true -f dshow -i video="SA7160 PCI, Analog 03 Capture"


asm设置


asm="mmx2,sse2fast,sse3,sse4.2,avx"


官方版多路转发设置 其中一路推给VLC 一路推给传输软件
-i udp://127.0.0.1:20000 -map 0:v -vcodec copy -map 0:a -acodec copy -f mpegts udp://192.168.1.95:20000 -map 0:v -vcodec copy -map 0:a -acodec copy -f  mpegts udp://192.168.1.96:20000 -map 0:v -vcodec copy -map 0:a -acodec copy -f  mpegts udp://192.168.1.97:20000 -map 0:v -vcodec copy -map 0:a -acodec copy -f  mpegts udp://192.168.1.166:20000


需要设置VLC新编码方式为h264+aac格式ts 流
VLC再把UDP传送方式转换为HTTP传输方式,由Potplay打开地址 http://本地IP:10000


图像转成视频,实时输出
-re -f image2 -framerate 10 -loop 1 -i c:\test.png -vcodec libx264 -t 300 -r 10 -b 200k -f mpegts udp:/127.0.0.1:1000?pkt_size=1316




桌面抓取
-f gdigrab -framerate 25 -i desktop  -pix_fmt yuv444p -r 25 -vcodec libx264 -s 1280*720 -vb 3000k -f mpegts 




反交错参数
-deinterlace


-vf yadif




恒定码率:
-x264opts bitrate=1500:vbv-maxrate=1500:vbv-bufsize=500:nal_hrd=cbr   //vbv-bufsize大小是最大码率的1/3左右


可变码率
-x264opts bitrate=800:vbv-maxrate=1500:vbv-bufsize=500:nal_hrd=vbr


转码设置


-i http://127.0.0.1/test -deinterlace -aspect 16:9 -pix_fmt yuv420p -subq 4 -s 960*544 -x264opts bitrate=1300:vbv-maxrate=1850:vbv-bufsize=450:nal_hrd=vbr:asm="mmx2,sse2fast,sse3,sse4.2,avx" -g 38 -r 24 -vcodec libx264  -acodec libvo_aacenc -ac 2 -ar 44100 -ab 96k -async 1 -f mpegts udp://127.0.0.1:20000?pkt_size=1316


204.45.22.58


-f dshow -r 25 -s 1280*720 -i video="SA7160 PCI, Analog 03 Capture" -f dshow -ar 48000 -i audio="SA7160 PCI, Analog 03 WaveIn" -pix_fmt yuv420p -subq 4 -s 960*576 -x264opts bitrate=900:vbv-maxrate=900:vbv-bufsize=166:nal_hrd=cbr:fps=24 -profile high -g 38 -r 24 -vcodec libx264  -acodec libvo_aacenc -ar 44100 -ab 32k -async 1 -f hls udp://127.0.0.1:10000/test.m3u8






-f dshow -r 25 -s 1280*720 -i video="SA7160 PCI, Analog 01 Capture" -f dshow -ar 48000 -i audio="SA7160 PCI, Analog 01 WaveIn" -pix_fmt yuv420p -subq 4 -s 960*544 -x264opts bitrate=1500:vbv-maxrate=1500:vbv-bufsize=1500:nal_hrd=cbr -g 38 -r 24 -vcodec libx264  -acodec libvo_aacenc -ar 44100 -ab 32k -ac 2 -async 1 -f mpegts udp://127.0.0.1:20000




-i http://192.168.1.143/test.m3u8 -c copy -f mpegts udp://127.0.0.1:30000


-i udp://127.0.0.1:20000 -c copy -f hls -hls_time 3 -hls_list_size 10 -hls_wrap 20 /mnt/tmp/test.m3u8




-pix_fmt yuv420p -subq 4 -s 480*360 -x264opts bitrate=400:vbv-maxrate=400:vbv-bufsize=166:nal_hrd=cbr:fps=15 -profile high -g 38 -r 15 -vcodec libx264  -acodec libvo_aacenc -ar 44100 -ab 64k -async 1


ffprobe  -show_format -show_streams -i c:\test.ts




-i udp://127.0.0.1:20000 -map 0:v -vcodec copy -map 0:a -acodec copy -f mpegts udp://192.168.1.171:10000 -map 0:v -vcodec copy -map 0:a -acodec copy -f  mpegts udp://192.168.1.171:10005 -map 0:v -vcodec copy -map 0:a -acodec copy -f  mpegts udp://192.168.1.171:10010 -map 0:v -vcodec copy -map 0:a -acodec copy -f  mpegts udp://192.168.1.171:10015




-i udp://127.0.0.1:12000 -pix_fmt yuv420p -subq 4 -s 960*544 -x264opts bitrate=700:vbv-maxrate=1200:vbv-bufsize=166:nal_hrd=vbr -profile high -g 38 -r 25 -vcodec libx264  -acodec libvo_aacenc -ar 44100 -ab 64k -async 1 -f mpegts udp://127.0.0.1:20000

你可能感兴趣的:(移动开发)