Skip to content

【视频转码指南】如何用FFmpeg编码合格的 直播 点播 视频

Numberwolf-Yanlong edited this page Nov 15, 2022 · 5 revisions

直播推流服务器推荐

流媒体服务推荐用 ZLMediaKit(https://github.com/ZLMediaKit/ZLMediaKit) - 更好用的流媒体服务


FFmpeg支持265的HTTP-FLV直播


FFmpeg转码正确的 H.265编码视频

  • mp4编码 (MOOV BOX必须前置 -movflags faststart)
ffmpeg -i input.mp4 \
-vcodec libx265 -pix_fmt yuv420p \
-acodec aac -ac 2 -ar 44100 \
-preset medium -maxrate 1000k -bufsize 1000k \
-vtag hvc1 \
-movflags faststart \
-y video.mp4
  • mp4 将moov box前置(不转码方法)
ffmpeg -i input.mp4 \
-vcodec copy \
-acodec copy \
-movflags faststart \
-y video.mp4
  • 视频去除音频
ffmpeg -i input.mp4 \
-vcodec copy \
-an \
-movflags faststart \
-y video.mp4
  • hls/m3u8 录屏
ffmpeg -f avfoundation -i 1:0 \
-q 4 -r 10 \
-filter_complex "scale=1280:720" \
-pix_fmt yuv420p \
-vcodec libx265 \
-ar 22050 -ab 64k -ac 1 -acodec aac \
-threads 4 \
-preset veryfast \
-f segment \
-segment_list test.m3u8 \
-segment_time 5 \
-y /Users/numberwolf/Documents/webroot/VideoMissile/VideoMissilePlayer/res/hls1/v-%03d.ts
  • mpeg-ts
ffmpeg -ss 20 -t 10 -i ./res/xinxiaomen.mp4 \
-vcodec libx265 -x265-params "bframes=0:keyint=10" -r 24 -filter_complex "scale=720:1280" -preset fast -maxrate 800k -bufsize 800k \
-acodec aac -ar 22050 -ac 1 \
-pix_fmt yuv420p \
-f mpegts -y ./res/veilside2.ts