美文网首页
ffmpeg常用命令

ffmpeg常用命令

作者: Peakmain | 来源:发表于2019-06-19 10:50 被阅读0次

    安装(Mac)

    • 终端命令
    git clone https://git.ffmpeg.org/ffmepg.git
    
    • 进入ffmpeg文件夹,进行配置,大家根据自己情况进行配置
    ./configure --prefix=/Users/admin/ffmpeg --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-filter=delogo --enable-debug --disable-optimizations --enable-libspeex  --enable-videotoolbox --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --cc=clang --host-cflags= --host-ldflags=  
    

    继续执行命令

    make && make install
    

    常用命令

    命令分类

    基本信息查询命令 裁剪与合并命令
    录制命令 图片/视频互转命令
    分解/复用的命令 直播相关命令
    处理原始数据命令 各种滤镜命令

    处理视频流程

    image.png

    基本信息命令

    image.png

    录制命令

    录制视频命令

    ffmpeg -f avfoundation -i 1 -r 30 out.yuv
    
    • -f:指定使用avfoundation采集数据
    • -i:指定从哪儿采集数据,它是文件索引号
    • -r:指定帧率

    查看支持格式设备命令

    ffmpeg -f avfoundation -list_devices true -I ""
    
    mine.png

    录制音频命令

    ffmpeg -f avfoundation -i  :0 out.wav
    
    • :0代表音频设备

    分解与复用

    ffmpeg -i out.mp4 -vcodec copy -acodec copy out.flv
    
    • -i:输入文件
    • vcodec copy:视频编码处理方式
    • acodec copy:音频编码处理方式

    音频提取出去命令

    ffmpeg -i 1.mp4 -acodec copy -vn  out.aac
    

    处理原始数据命令

    FFmpeg提取YUV数据

    ffmpeg -i 1.mp4 -an -c:v rawvideo -pix_fmt yuv420p out.yuv 
    

    FFmpeg提取PCM数据

    ffmpeg -i 1.mp4 -vn -ar 44100 -ac 2 -f s16le out.pcm
    

    ffmpeg滤镜命令

    视频裁剪命令

    ffmpeg -i 1.mp4 -vf crop=in_w-200:in_h-200 -c:v libx264 -c:a copy out.mp4
    

    宽高减去200,c:a表示音频

    裁剪和合并命令

    音视频裁剪

    ffmpeg -i 1.mp4 -ss 00:00:00 -t 10 out.ts
    
    • -ss从什么时间点开始裁剪
    • -t裁剪的时长

    音视频合并

    ffmpeg -f concat -i inputs.txt out.mp4
    
    • inputs.txt:所有要合并视频的列表;内容为:'file filename'格式
    • out.mp4输出的结果

    可以使用vi命令创建txt 命令:vi.txt,输入i,进行编辑


    image.png

    ,随后使用:wq保存并退出

    图片视频互转命令

    视频转图片命令

    ffmpeg  -i 1.mp4 -r 1  -f image2 image-%3d.jpeg
    
    • -r 1表示每秒转出1张

    图片转视频

    ffmpeg -i image-%3d.jpeg out.mp4
    

    直播推/拉流

    直播推流

    ffmpeg -re -i out.mp4 -c copy -f flv rtmp://server/live/streamName
    

    直播拉流

    ffmpeg  -i  rtmp://server/live/streamName -c copy dump.flv
    

    如:拉取cctv1的流

    ffmpeg -i http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8  -c copy dump.m3u8
    

    HTTP协议直播源
    CCTV1高清:http://ivi.bupt.edu.cn/hls/cctv1hd.m3u8
    CCTV3高清:http://ivi.bupt.edu.cn/hls/cctv3hd.m3u8
    CCTV5高清:http://ivi.bupt.edu.cn/hls/cctv5hd.m3u8
    CCTV5+高清:http://ivi.bupt.edu.cn/hls/cctv5phd.m3u8
    CCTV6高清:http://ivi.bupt.edu.cn/hls/cctv6hd.m3u8

    相关文章

      网友评论

          本文标题:ffmpeg常用命令

          本文链接:https://www.haomeiwen.com/subject/mvbeaqtx.html