Я использую мой высококачественный фильм: 1080p с 60fps. Беда в лагах во время игры.
Я попытался преобразовать его в 720p с помощью ffmpeg:
ffmpeg -i MyMovie.mkv -r 60 -s hd720 MyMovie_720p.mkv
Но при этом наблюдается значительная потеря качества, поскольку скорость передачи данных снизилась с 32,3 Мбит / с до 2,8 Мбит / с. Как я могу указать правильный битрейт для видеопотока и оставить все остальные скопированные нетронутыми?
Входной файл mediainfo:
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L4.2
Format settings, CABAC : Yes
Format settings, ReFrames : 4 frames
Codec ID : V_MPEG4/ISO/AVC
Duration : 2h 58mn
Bit rate : 32.3 Mbps
Width : 1 920 pixels
Height : 1 080 pixels
Display aspect ratio : 16:9
Frame rate : 59.940 fps
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Progressive
Bits/(Pixel*Frame) : 0.260
Stream size : 40.2 GiB (92%)
Writing library : x264 core 116 r2019 9cc407d
Encoding settings : cabac=1 / ref=4 / deblock=1:-2:-1 / analyse=0x3:0x113 / me=umh / subme=10 / psy=1 / psy_rd=0.80:0.20 / mixed_ref=1 / me_range=32 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=0 / chroma_qp_offset=-3 / threads=6 / sliced_threads=0 / nr=0 / decimate=0 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=6 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=25 / scenecut=40 / intra_refresh=0 / rc_lookahead=60 / rc=crf / mbtree=0 / crf=14.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / vbv_maxrate=50000 / vbv_bufsize=62500 / crf_max=0.0 / nal_hrd=none / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0.60
Language : English
Default : Yes
Forced : No
Matrix coefficients
: BT.709-5, BT.1361, IEC 61966-2-4 709, SMPTE RP177
источник
-scodec copy
.-vf scale=-1:720
но-vf scale=1280:-1
.Если вам нравится масштабировать в другом размере, существуют некоторые ограничения для размеров масштабирования FFMPEG. Он не принимает каждую высоту, вот небольшой список лучших рекомендаций по размерам.
Видеокодеки работают лучше, когда ширина и высота в пикселях кратны 16. Хотя вы можете использовать любую ширину и высоту в настройках кодирования, неоптимальные размеры могут привести к низкому качеству изображения и снижению частоты кадров. Для наилучшего качества изображения и воспроизведения вы должны использовать ширину и высоту для вашего видео, кратные 16; Ваш следующий лучший выбор - кратные 8, а после этого кратные 4.
источник