本文共 3463 字,大约阅读时间需要 11 分钟。
1). 查看支持的设备
ffmpeg -f avfoundation -list_devices true -i ""
输出:
MacBook-Air:~ mazaiting$ ffmpeg -f avfoundation -list_devices true -i ""ffmpeg version 3.4.1 Copyright (c) 2000-2017 the FFmpeg developers built with Apple LLVM version 7.0.2 (clang-700.1.81) configuration: --prefix=/usr/local/Cellar/ffmpeg/3.4.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100[AVFoundation input device @ 0x7f941a5002a0] AVFoundation video devices:[AVFoundation input device @ 0x7f941a5002a0] [0] FaceTime HD Camera[AVFoundation input device @ 0x7f941a5002a0] [1] Capture screen 0[AVFoundation input device @ 0x7f941a5002a0] AVFoundation audio devices:[AVFoundation input device @ 0x7f941a5002a0] [0] Apowersoft_AudioDevice[AVFoundation input device @ 0x7f941a5002a0] [1] Built-in Microphone: Input/output errorMacBook-Air:~ mazaiting$
2). 推流桌面 - 只有桌面内容
ffmpeg -f avfoundation -pixel_format uyvy422 -i "1" -f flv rtmp://localhost:12345/zbcs/roomffmpeg -f avfoundation -i "1" -vcodec libx264 -preset ultrafast -acodec libfaac -f flv rtmp://localhost:12345/zbcs/room
3). 推流摄像头
ffmpeg -f avfoundation -framerate 30 -video_size 1280x720 -i "0" -vcodec libx264 -acodec libfaac -f flv rtmp://localhost:12345/zbcs/room
4). 只推流麦克风
ffmpeg -f avfoundation -i ":0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:12345/zbcs/room
5). 摄像头+麦克分
ffmpeg -f avfoundation -framerate 30 -video_size 1280x720 -i "0:0" -vcodec libx264 -preset ultrafast -acodec libmp3lame -ar 44100 -ac 1 -f flv rtmp://localhost:12345/zbcs/room
6). 推流视频
ffmpeg -re -i /Users/mazaiting/Downloads/台球.mp4 -vcodec copy -f flv rtmp://localhost:12345/live1/room
1).分离视频音频流
ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流
2).视频解复用
ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264ffmpeg –i test.avi –vcodec copy –an –f m4v test.264
3).视频转码
ffmpeg –i test.mp4 –vcodec h264 –s 352*278 –an –f m4v test.264 //转码为码流原始文件ffmpeg –i test.mp4 –vcodec h264 –bf 0 –g 25 –s 352*278 –an –f m4v test.264 //转码为码流原始文件ffmpeg –i test.avi -vcodec mpeg4 –vtag xvid –qsame test_xvid.avi //转码为封装文件
其中:
-bf B帧数目控制 -g 关键帧间隔控制 -s 分辨率控制4).视频封装
ffmpeg –i video_file –i audio_file –vcodec copy –acodec copy output_file
5).视频剪切
ffmpeg –i test.avi –r 1 –f image2 image-%3d.jpeg //提取图片ffmpeg -ss 0:1:30 -t 0:0:20 -i input.avi -vcodec copy -acodec copy output.avi //剪切视频
其中:
-r 提取图像的频率 -ss 开始时间 -t 持续时间6).视频录制
ffmpeg –i rtsp://192.168.3.205:5555/test –vcodec copy out.avi
7.YUV序列播放
ffplay -f rawvideo -video_size 1920x1080 input.yuv
8.YUV序列转AVI
ffmpeg –s w*h –pix_fmt yuv420p –i input.yuv –vcodec mpeg4 output.avi
9.常用参数说明:
主要参数: i 设定输入流 f 设定输出格式 ss 开始时间 视频参数: b 设定视频流量,默认为200Kbit/s-r 设定帧速率,默认为25 s 设定画面的宽与高-aspect 设定画面的比例 vn 不处理视频-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器 音频参数: ar 设定采样率 ac 设定声音的Channel数 acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器an 不处理音频
转载地址:http://yxghx.baihongyu.com/