音视频技术是程序员日常生活中经常用到的,比如转码需求,同事下载的avi视频,电脑上没有播放器可以播放此格式的视频文件,那你就可以帮他把avi转成mp4格式,你两个就可以愉快的观看了;截取视频需求,录制视频后,可能不需要前面3秒和后面5秒,那就需要剪切或者拼接视频;想提取视频中的某一帧画面出来;
带你了解Android窗口机制Window、PhoneWindow和DecorView之间的关系
这是我参与更文挑战的第7天,活动详情查看: 更文挑战
ffmpeg 命令格式
常用参数说明:
命令格式:
ffmpeg -i [输入文件名] [参数选项] -f [格式] [输出文件]
ffmpeg [[options][`-i' input_file]]... {[options] output_file}...
(1) h264: 表示输出的是h264的视频裸流
(2) mp4: 表示输出的是mp4的视频
(3)mpegts: 表示ts视频流
主要参数:
-i 设定输入流
-f 设定输出格式
-ss 开始时间
视频参数:
-b 设定视频流量,默认为200Kbit/s
-r 设定帧速率,默认为25
-s 设定画面的宽与高
-aspect 设定画面的比例
-vn 不处理视频
-vcodec 设定视频编解码器,未设定时则使用与输入流相同的编解码器,一般后面加copy表示拷贝
音频参数:
-ar 设定采样率
-ac 设定声音的Channel数
-acodec 设定声音编解码器,未设定时则使用与输入流相同的编解码器,一般后面加copy表示拷贝
-an 不处理音频
分离视频音频流
ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流
ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流
ffmpeg -i input.mp4 -an output.mp4 //去掉视频中的音频
ffmpeg -i test.avi -vcodec copy -an output.avi //去掉视频中的音频
视频转码相关
ffmpeg -i test.ts -acodec copy -vcodec copy -f mp4 output.mp4//ts视频流转mp4
ffmpeg -i test.h264 -vcodec copy -f mpegts output.ts//h264视频转ts视频流
ffmpeg -i test.h264 -vcodec copy -f mp4 output.mp4//h264视频转mp4
ffmpeg -i test.mp4 -b:v 640k output.flv //mp4转flv
ffmpeg -i test.mp4 -acodec copy -vcodec copy -f flv output.flv //mp4转flv
ffmpeg -i test.flv -b:v 640k output.mp4 //flv转mp4
ffmpeg -i test.mp4 -s 176x144 -vcodec h263 -r 25 -b 12200 -ab 12200 -ac 1 -ar 8000 output.3gp //mp4转3gp
ffmpeg -i test.avi -s aqif -vcodec -acodec mp3 -ac 1 -ar 8000 -r 25 -ab 32 -y output.3gp //avi转3gp
ffmpeg -i test.3gp -f avi -vcodec xvid -acodec mp3 -ar 22050 output.avi //3gp转flv
ffmpeg -i test.flv -s 176x144 -vcodec h263 -r 25 -b 200 -ab 64 -acodec mp3 -ac 1 -ar 8000 output.3gp //flv转3gp
ffmpeg -i test.mp4 output.avi //mp4转avi
ffmpeg -i test.flv -vcodec h264 -r 25 -b 200 -ab 128 -acodec mp3 -ac 2 -ar 44100 output.mp4 //flv转mp4
ffmpeg -i test.mp4 -c:v libx264 -ar 22050 -crf 28 output.flv //mp4转flv
ffmpeg -i test.avi -c copy -map 0 output.mp4 //avi转mp4
ffmpeg -i vfile1.grtn.cn/2018/1542/0… -c copy -bsf:a aac_adtstoasc -movflags +faststart test.mp4 //m3u8转mp4
ffmpeg -i test.mkv -y -vcodec copy -acodec copy output.mp4 //mkv转mp4
ffmpeg -i test.mkv -vcodec copy -acodec copy output.avi //mkv转avi