Почему avconv меняет fps при деинтерлейсинге?
У меня есть.MTS 1080i 25fps (mediainfo), с которой я переставил avconv -i input.MTS -vf yadif -c:a copy output.mp4
, Как говорится в вики, значение по умолчанию для yadif равно 0, что "выводит один кадр на каждый кадр".
Мой вопрос, почему output.mp4
есть 50fps? Кроме того, это нормально, что он намного меньше, чем вход?
Как просили:
wantoast@crunchbang:~/videos/video/videocamera$ avconv -i 00000.MTS
avconv version 0.8.16-6:0.8.16-1, Copyright (c) 2000-2014 the Libav developers
built on Sep 16 2014 23:10:48 with gcc 4.7.2
Input #0, mpegts, from '00000.MTS':
Duration: 00:00:37.44, start: 1.000033, bitrate: 16506 kb/s
Program 1
Stream #0.0[0x1011]: Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 fps, 50 tbr, 90k tbn, 50 tbc
Stream #0.1[0x1100]: Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
Stream #0.2[0x1200]: Subtitle: pgssub
At least one output file must be specified
wantoast @ crunchbang: ~ / videos / video / видеокамера $ avconv -i 00000.MTS -vf yadif -c: вывод копии.mp4 avconv версия 0.8.16-6:0.8.16-1, Copyright (c) 2000-2014 разработчики Libav построено 16 сентября 2014 г. 23:10:48 с gcc 4.7.2 Введите #0, mpegts, от '00000.MTS': Продолжительность: 00:00:37.44, начало: 1.000033, битрейт: 16506 кбит / с Программа 1 Поток #0.0[0x1011]: видео: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 50 кадров в секунду, 50 тбр, 90 тыс. Тбн, 50 тбк Поток #0.1[0x1100]: аудио: ac3, 48000 Гц, стерео, s16, 256 кбит / с Поток № 0.2[0x1200]: подзаголовок: pgssub [buffer @ 0xa5eb40] w:1920 h:1080 pixfmt:yuv420p Режим [yadif @ 0xa5cba0]: 0 четность:-1 auto_enable:0 [libx264 @ 0xa59b00] с использованием SAR=1/1 [libx264 @ 0xa59b00] с использованием возможностей процессора: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 AVX [libx264 @ 0xa59b00] профиль Главный, уровень 4.2 [libx264 @ 0xa59b00] 264 - ядро 123 r2189 35cf912 - кодек H.264/MPEG-4 AVC - Copyleft 2003-2012 - http://www.videolan.org/x264.html - параметры: cabac=1 ref=3 deblock=1:0:0 анализ =0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 мертвая зона =21,11 fast_pskip=1 chroma_qp_offset=-2 потоков =6 sliced_threads=0 nr=0 decimate=1 чересстрочный =0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=0 b_adapt=1 b_bias=0 direct=1 weightb=0 open_gop=1 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23,0 qcomp=0,60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1,25 aq=1:1,00 Выведите #0, mp4, в файл "output.mp4": Метаданные: кодировщик: Lavf53.21.1 Поток № 0.0: Видео: libx264, yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], q=-1--1, 50 тбн, 50 тбк Поток #0.1: Аудио: ac3, 48000 Гц, стерео, 256 кбит / с Отображение потока: Поток № 0:0 -> #0:0 (h264 -> libx264) Поток № 0:1 -> #0:1 (копия) Нажмите Ctrl-C, чтобы остановить кодирование кадр = 1870 кадров / с = 16 q = -1,0 Lsize = 29093 кБ время = 37,38 битрейта = 6375,8 кбит / с dup = 935 drop = 0 видео: 27902 КБ, аудио: 1170 КБ, глобальные заголовки: 0 КБ, мультиплексирование, 0,070776% [libx264 @ 0xa59b00] кадр I:122 Среднее QP:22,47 размер: 49023 [libx264 @ 0xa59b00] кадр P:1748 Ср. QP:25,43 размер: 12923 [libx264 @ 0xa59b00] mb I I16..4: 61,9% 0,0% 38,1% [libx264 @ 0xa59b00] mb P I16..4: 2,8% 0,0% 0,5% P16..4: 36,5% 2,8% 1,7% 0,0% 0,0% пропуск: 55,7% [libx264 @ 0xa59b00] закодировано y,uvDC,uvAC intra: 38,5% 80,0% 19,8% inter: 7,1% 27,2% 0,2% [libx264 @ 0xa59b00] i16 v,h,dc,p: 35% 18% 15% 31% [libx264 @ 0xa59b00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 28% 18% 35% 4% 3% 3% 4% 3% 2% [libx264 @ 0xa59b00] i8c dc,h,v,p: 50% 18% 26% 6% [libx264 @ 0xa59b00] Взвешенные P-кадры: Y:1,1% UV:0,7% [libx264 @ 0xa59b00] ref P L0: 63,3% 9,7% 13,0% 13,9% 0,1% [libx264 @ 0xa59b00] кбит / с: 6111,45
wantoast@crunchbang:~/videos/video/videocamera$ avconv -i output.mp4
avconv version 0.8.16-6:0.8.16-1, Copyright (c) 2000-2014 the Libav developers
built on Sep 16 2014 23:10:48 with gcc 4.7.2
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x216e460] multiple edit list entries, a/v desync might occur, patch welcome
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'output.mp4':
Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf53.21.1
Duration: 00:00:37.47, start: 0.000000, bitrate: 6358 kb/s
Stream #0.0(und): Video: h264 (Main), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 6111 kb/s, 50 fps, 50 tbr, 50 tbn, 100 tbc
Stream #0.1(und): Audio: ac3, 48000 Hz, stereo, s16, 256 kb/s
At least one output file must be specified
1 ответ
Исходный файл имеет 25 полей в секунду, а для сохранения правильного движения требуется 50 кадров в секунду. В том то и дело, что даже ютуб использует 25 кадров в секунду и теряет половину движения. Это просто неправильно.
Кроме этого, для получения достаточно хорошего качества необходим -crf 18.