Windows上安装FFmpeg的详细指南

1.下载FFmpeg

在这里插入图片描述访问FFmpeg官方下载页面:https://ffmpeg.org/download.html

在这里插入图片描述
点击"Windows builds from gyan.dev"或"Windows builds by BtbN"

在这里插入图片描述gyan.dev版本:https://www.gyan.dev/ffmpeg/builds/

在这里插入图片描述
BtbN版本:https://github.com/BtbN/FFmpeg-Builds/releases

2.解压FFmpeg

在这里插入图片描述
3.设置环境变量
在这里插入图片描述

4.验证安装

ffmpeg -version

在这里插入图片描述

5.简单转码测试

ffmpeg -i C:\Users\zcc\Videos\Captures\中心小学.mp4 output.mkv

源文件
在这里插入图片描述
转码
在这里插入图片描述
输出
在这里插入图片描述

6.生成HLS流

ffmpeg -i C:\Users\zcc\Videos\Captures\中心小学.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls D:\out\out.m3u8

ffmpeg -i C:\Users\zcc\Videos\Captures\中心小学.mp4 -threads 10 开启多线程转码
在这里插入图片描述
输出
在这里插入图片描述

7.使用nvidia40系显卡硬件加速转码获得dash流的指令

x265编码器使用硬件加速后的名字hevc_nvenc,-profile:v的值与264编码器的不同

ffmpeg -i C:\Users\zcc\Downloads\Video\钢铁.mp4 -map 0:v -map 0:a -c:v hevc_nvenc -crf 22 -profile:v main10 -level 6.0 -keyint_min 60 -g 60 -sc_threshold 0 -b:v:0 1000k -s:v:0 1280x720 -b:v:1 5000k -s:v:1 1920x1080 -c:a aac -b:a 128k -f dash -seg_duration 4 -init_seg_name C:\Users\zcc\Downloads\Video\out\init_$RepresentationID$.m4s -media_seg_name C:\Users\zcc\Downloads\Video\out\segment_$RepresentationID$_$Number$.m4s C:\Users\zcc\Downloads\Video\out\manifest.mpd

生产级转码指令

ffmpeg -i input.mp4 \
    # 视频编码参数(NVENC硬件加速)
    -c:v h264_nvenc \
    -profile:v high -level 4.1 \
    -preset p6 \
    -rc vbr -cq 23 \
    -b:v:0 8000k -maxrate:0 12000k -bufsize:0 24000k -s:v:0 1920x1080 \  # 1080p轨道
    -b:v:1 4000k -maxrate:1 6000k -bufsize:1 12000k -s:v:1 1280x720 \   # 720p轨道
    -b:v:2 2000k -maxrate:2 3000k -bufsize:2 6000k -s:v:2 854x480 \    # 480p轨道
    
    # 音频编码参数
    -c:a aac -b:a 128k -ac 2 \
    
    # DASH输出配置
    -f dash \
    -seg_duration 4 \                # 每个分片4-use_template 1 \                # 使用模板URL
    -use_timeline 1 \                # 使用时序信息
    -init_seg_name init-\$RepresentationID\$.mp4 \  # 初始化片段命名
    -media_seg_name chunk-\$RepresentationID\$-\$Number%05d\$.m4s \ # 分片命名
    -adaptation_sets "id=0,streams=v id=1,streams=a" \  # 自适应集合
    -hls_playlist 1 \               # 同时生成HLS播放列表
    -window_size 20 \               # 滑动窗口保留20个分片
    -extra_window_size 5 \          # 额外保留5个分片
    -remove_at_exit 0 \             # 不删除临时文件
    stream.mpd                      # 输出MPD清单文件

B站直播和点播使用的技术:
点播使用的dashjs:
在这里插入图片描述

直播使用hls:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值