FFmpeg命令列功能无比强悍,这是无疑的,它可以在安卓设备上,借由FFmpeg的命令列来编辑视频和音频。仅需一段代码,您就可以轻易改变音视频的编码,格式,视频流等等。FFmpeg命令列适合有一定基础的玩家,命令行效率高。
FFmpeg命令列简介:
FFmpeg是一个视频和音频的转档软件,它支援了多种编/解码格式和多种实用的功能来处理影音转换。最重要的是,FFmpeg可以免费地个人使用。您可以编译客制您自己的FFmpeg二进制档案,在我们的应用程式中使用。我们的FFmpeg原始码已放在GitHub上。
函式库列表:
freetype2.7.0
fribidi0.19.7
fontconfig2.12.0
kvazaar-1.0.0
libass0.13.4
libmp3lame3.99.5
libopencore-amr0.1.3
libvorbis1.3.5
libopus1.1.3
libspeex1.2.0
libvpx1.6.0
libsoxr0.1.2
libcaca0.99Beta19
libwebp0.5.2
libopenjpeg2.1.2
libtwolame0.3.13
libv4l21.10.1
libbluray0.9.2
libbs2b3.1.0
librtmp2.3
libwavpack5.0.0
libvo-amrwbenc0.1.3
libtheora1.1.1
libopenmpt0.2.7386Beta20.3
openh2641.6.0
搬运ffmpeg常用命令:
1、分离视频音频流
ffmpeg-iinput_file-vcodeccopy-anoutput_file_video //分离视频流ffmpeg-iinput_file-acodeccopy-vnoutput_file_audio //分离音频流
2、视频解复用
ffmpeg–itest、mp4–vcodeccopy–an–fm4vtest、264ffmpeg–itest、avi–vcodeccopy–an–fm4vtest、264
3、视频转码
ffmpeg–itest、mp4–vcodech264–s352*278–an–fm4vtest、264//转码为码流原始文件ffmpeg–itest、mp4–vcodech264–bf0–g25–s352*278–an–fm4vtest、264//转码为码流原始文件ffmpeg–itest、avi-vcodecmpeg4–vtagxvid–qsametest_xvid、avi//转码为封装文件//-bfB帧数目控制,-g关键帧间隔控制,-s分辨率控制
4、视频封装
ffmpeg–ivideo_file–iaudio_file–vcodeccopy–acodeccopyoutput_file
5、视频剪切
ffmpeg–itest、avi–r1–fimage2image-%3d、jpeg//提取图片ffmpeg-ss0:1:30-t0:0:20-iinput、avi-vcodeccopy-acodeccopyoutput、avi//剪切视频//-r提取图像的频率,-ss开始时间,-t持续时间
6、视频录制
ffmpeg–irtsp://192、168、3、205:5555/test–vcodeccopyout、avi
7、YUV序列播放
ffplay-frawvideo-video_size1920x1080input、yuv
8、YUV序列转AVI
ffmpeg–sw*h–pix_fmtyuv420p–iinput、yuv–vcodecmpeg4output、avi
9、将文件当做直播送至live
ffmpeg-re-ilocalFile、mp4-ccopy-fflvrtmp://server/live/streamName
10、将直播媒体保存至本地文件
ffmpeg-irtmp://server/live/streamName-ccopydump、flv
11、将其中一个直播流,视频改用h264压缩,音频不变,送至另外一个直播服务流
ffmpeg-irtmp://server/live/originalStream-c:acopy-c:vlibx264-vpreslow-fflvrtmp://server/live/h264Stream
12、将其中一个直播流,视频改用h264压缩,音频改用faac压缩,送至另外一个直播服务流
ffmpeg-irtmp://server/live/originalStream-c:alibfaac-ar44100-ab48k-c:vlibx264-vpreslow-vprebaseline-fflvrtmp://server/live/h264Stream
13、将其中一个直播流,视频不变,音频改用faac压缩,送至另外一个直播服务流
ffmpeg-irtmp://server/live/originalStream-acodeclibfaac-ar44100-ab48k-vcodeccopy-fflvrtmp://server/live/h264_AAC_Stream
14、将一个高清流,复制为几个不同视频清晰度的流重新发布,其中音频不变
ffmpeg-re-irtmp://server/live/high_FMLE_stream-acodeccopy-vcodecx264lib-s640×360-b500k-vpremedium-vprebaselinertmp://server/live/baseline_500k-acodeccopy-vcodecx264lib-s480×272-b300k-vpremedium-vprebaselinertmp://server/live/baseline_300k-acodeccopy-vcodecx264lib-s320×200-b150k-vpremedium-vprebaselinertmp://server/live/baseline_150k-acodeclibfaac-vn-ab48krtmp://server/live/audio_only_AAC_48k
15、功能一样,只是采用-x264opts选项
ffmpeg-re-irtmp://server/live/high_FMLE_stream-c:acopy-c:vx264lib-s640×360-x264optsbitrate=500:profile=baseline:preset=slowrtmp://server/live/baseline_500k-c:acopy-c:vx264lib-s480×272-x264optsbitrate=300:profile=baseline:preset=slowrtmp://server/live/baseline_300k-c:acopy-c:vx264lib-s320×200-x264optsbitrate=150:profile=baseline:preset=slowrtmp://server/live/baseline_150k-c:alibfaac-vn-b:a48krtmp://server/live/audio_only_AAC_48k
16、将当前摄像头及音频通过DSSHOW采集,视频h264、音频faac压缩后发布
ffmpeg-r25-fdshow-s640×480-ivideo=”videosourcename”:audio=”audiosourcename”-vcodeclibx264-b600k-vpreslow-acodeclibfaac-ab128k-fflvrtmp://server/application/stream_name
17、将一个JPG图片经过h264压缩循环输出为mp4视频
ffmpeg-iINPUT、jpg-an-vcodeclibx264-coder1-flags+loop-cmp+chroma-subq10-qcomp0、6-qmin10-qmax51-qdiff4-flags2+dct8x8-trellis2-partitions+parti8x8+parti4x4-crf24-threads0-r25-g25-yOUTPUT、mp4
18、将普通流视频改用h264压缩,音频不变,送至高清流服务(新版本FMSlive=1)
ffmpeg-irtmp://server/live/originalStream-c:acopy-c:vlibx264-vpreslow-fflv“rtmp://server/live/h264Streamlive=1〃
19、采集usb摄像头视频命令:
ffmpeg-t20-fvfwcap-i0-r8-fmp4cap1111、mp4
、/ffmpeg-t10-fvfwcap-i0-r8-fmp4cap、mp4
具体说明如下:我们采集10秒,采集设备为vfwcap类型设备,第0个vfwcap采集设备(如果系统有多个vfw的视频采集设备,可以通过-inum来选择),每秒8帧,输出方式为文件,格式为mp4。
20、最简单的抓屏:
ffmpeg-fgdigrab-idesktopout、mpg
21、从屏幕的(10,20)点处开始,抓取640x480的屏幕,设定帧率为5:
ffmpeg-fgdigrab-framerate5-offset_x10-offset_y20-video_size640x480-idesktopout、mpg
22、ffmpeg从视频中生成gif图片:
ffmpeg-icapx、mp4-t10-s320x240-pix_fmtrgb24jidu1、gif
常用参数说明:
主要参数:
-i设定输入流
-f设定输出格式
-ss开始时间
视频参数:
-b设定视频流量,默认为200Kbit/s
-r设定帧速率,默认为25
-s设定画面的宽与高
-aspect设定画面的比例
-vn不处理视频
-vcodec设定视频编解码器,未设定时则使用与输入流相同的编解码器
音频参数:
-ar设定采样率
-ac设定声音的Channel数
-acodec设定声音编解码器,未设定时则使用与输入流相同的编解码器
-an不处理音频
中文名:FFmpeg 命令列
包名:org.magiclen.ffmpeg.cli
MD5值:4c35ce04a0886475740035c8f40384c2