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 hevc_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

AV1

ffmpeg -i "{input_file}" -c:a copy -c:v libsvtav1 -crf 30 -preset 4 -svtav1-params tune=0 "{output_file}"

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