Skip to main content

FFmpeg

lossless cut video

ffmpeg -i video.mp4 -codec: copy -ss 00:00:00 -t 00:00:30 output.mp4

to HLS

ffmpeg -i video.mp4 -codec: copy -start_number 0 -hls_time 10 -hls_list_size 0 -f hls output/output.m3u8

HW

macOS GPU acceleration

ffmpeg -i in.mp4 -c:v h264_videotoolbox -c:a copy -vf scale=1280:720 -b:v 2000k out.mp4

intel GPU (QSV)

# 8bit 视觉无损(色彩可能不足)
ffmpeg -hwaccel qsv -i 输入文件.mp4 \
-c:v hevc_qsv \
-preset slow \
-global_quality 22 \
-b:v 0 \
-look_ahead 1 \
-c:a aac -b:a 192k \
-tag:v hvc1 \
输出文件.mp4
# 10bit 视觉无损
ffmpeg -init_hw_device vaapi=va:/dev/dri/renderD128 \
-init_hw_device qsv=hw@va \
-filter_hw_device hw \
-hwaccel qsv -hwaccel_output_format qsv \
-i 输入文件.mp4 \
-vf "scale_qsv=format=p010le" \
-c:v hevc_qsv \
-profile:v main10 \
-preset slow \
-global_quality 22 \
-b:v 0 \
-look_ahead 1 \
-c:a aac -b:a 192k \
-tag:v hvc1 \
-movflags +faststart \
输出文件.mp4

VP9 (webm)

Deprecated

ffmpeg.exe -i "in.mov" -speed 2 -c:v libvpx-vp9 -b:v 4M "out.webm"

Audio

FLAC to ALAC

ffmpeg -i track.flac -acodec alac track.m4a

batch convert

for f in *.flac; do ffmpeg -i "$f" -acodec alac "${f%.flac}.m4a"; done