ffmpeg 命令
http://t.zoukankan.com/wanggang123-p-6063182.html
https://www.cnblogs.com/ohmytime/archive/2012/03/08/ffmpeg_common_convCommand.html
1.保存文件:
ffmpeg -i rtsp://admin:12345@172.29.61.108/Streaming/Channels/1 -vcodec copy -acodec libvo_aacenc -f mpegts
“F:\wgg\sound_test.ts”
-i 后面接输入流, vcodec 后面视频编码方式,copy表示不重新编码。 -acodec 后面跟音频编码方式,libvo_aacenc 是增强型编码方式 。-f 后面跟封装格式也就是format mpegts表示ts流。
- 按时间保存文件
ffmpeg -ss 00:00:00 -vsync 0 -t 00:10:00 -re -i D:wgg est.ts -vcodec copy -an -f mp4 test.mp4
-i 前面要加上-re,-表示按时间戳读取文件, 不需要音频 -acodec 替换位-an 后面不跟参数。
- ffmpeg 向rtmp server推流
ffmpeg -re -i D:
ecordlangxilangxi.ts -vcodec copy -f flv rtmp://127.0.0.1/live/mystream
推送rtmp视频流时 流format需要设定位flv, mystream 可以被替换,比如 rtmp://127.0.0.1/live/teststream。
- ffmpeg 发布hls流
ffmpeg -i rtsp://admin:12345@172.28.12.35:554/streaming/channels/101 -vf scale=320:240 -c:v libx264
-hls_time 1 -hls_list_size 10 -hls_wrap 10 D:wgg eststreaming.m3u8
scale=320:240 表示新的视频宽高位320X240 编码方式位h264 -hls_time 大小影响到每个hls切片时间,-hls_wrap影响到切片的个数。
5.视频流中抓取图片命令
ffmpeg -i rtsp://admin:12345@IP:PORT/streaming/channels/101 -f image2 -ss 5 -vframes 1 -s 320*240 D:
ecord est.jpeg
-vframes 1表示抓取一张图片
6.图片格式转换
ffmpeg -i 1.jpg -s 640x480 -pix_fmt yuv420p 1.yuv
640x480表示分辨率 ,可以自己的需要更改,yuv420p是像素格式。
- ffmepg 获取pc摄像头视频并推流命令
ffmpeg -f dshow -i video=“Integrated Webcam” -c:v libx264 -s 320*240 -f flv rtmp://127.0.0.1/live/mystream
Integrated Webcam是摄像头名称,可以从设备管理器中看到。也可以通过ffmpeg -list_devices true -f dshow -i dummy
命令获取。
-
硬件加速设备查询命令
ffmpeg.exe -hwaccels
-
批量合成文件命令
a. 建立一个TXT文件(video.txt),文件内容为:
File ‘文件全名’
File ‘123.flv’
……
b.利用合并命令:
ffmpeg -f concat -i video.txt -c copy output.mkv
-
添加水印:
ffmpeg.exe -i D: ecord8B86E8A9-EDCC-4904-999A-744B097BD40D2017041220170412112120.ts -vf “movie=D:\test\test1.jpg[watermask];[in][watermask] overlay=100:100[out]” -y d: ecord est.ts
11.从视频流中获取图片:
ffmpeg.exe -i rtsp://admin:admin12345@192.168.1.65:554/h264/ch1/main/av_stream -vframes 5 -an d:%d.jpeg
-vframes 5 表示 取5张图片 d:%d.jpeg 表示图片存在d:目录下 文件名从1.jpeg开始到5.jpeg结束。
12.音频转换:
12.1.转换amr到mp3:
ffmpeg -i shenhuxi.amr amr2mp3.mp3
12.2.转换amr到wav:
ffmpeg -acodec libamr_nb -i shenhuxi.amr amr2wav.wav
12.3.转换mp3到wav:
ffmpeg -i DING.mp3 -f wav test.wav
12.4.转换wav到amr:
ffmpeg -i test.wav -acodec libamr_nb -ab 12.2k -ar 8000 -ac 1 wav2amr.amr
12.5.转换wav到mp3:
ffmpeg -i test.wav -f mp3 -acodec libmp3lame -y wav2mp3.mp3
13.视频转换:
13.1.转换wmv到mp4:
ffmpeg -i sample.wmv -vcodec libx264 -acodec aac out.mp4
13.2.抓取H264视频流:
ffmpeg -i sample.flv -vcodec copy -vbsf h264_mp4toannexb -an out.h264
13.2.1 vbsf为过滤方法,即将flv规定的H264组织方式转换回H264协议书规定的字节流格式
13.2.2 -an 禁掉源文件中的音频,因为出来的码流不需要音频
13. 2.3 vcodec copy这个是必然的
13.3.将H264视频流转为mp4:
ffmpeg -i sample.h264 -f mp4 haha.mp4
13.4.接收rtsp并存为视频文件:
ffmpeg -rtsp_transport tcp -i rtsp://streaming1.osu.edu/media2/ufsap/ufsap.mov -vcodec copy -acodec copy -t 30 -f mp4 rtsp-out.mp4
13.4.1 -rtsp_transport tcp:指明传输方式是tcp方式(也可以是udp)
13.4.2 -t 30:指明我录制30秒