PDA

Виж пълна версия : Питане за кодеците


exabyte
25.01.04 г., 00:45
Когато записвам нещо от телевизията (не, че го правя често, но понякога се случва) го мятам първо в mjpeg с максимален bitrate и после го рекодирам в DivX. Така, та питането ми е следното, кой от следните кодеци дава едно и също качество при един и същ bitrate и е най-подходящ за директния запис?
- MJPEG
- DivX (4/5)
- MPEG2

В MPEG2 нямам как да ги записвам за момента, но все пак искам да знам и той как е спрямо останалите. В DivX (4/5) с bitrate 7000-10000 Kbps мога да записвам в реално време без дроп, само че ме притеснява, че натоварването на процесора е ПОЧТИ 100% (това с включен deinterlace и crop филтър, ако ги махна става по-малко, ама не искам да правя deinterlace след като вече е encode-нат в нещо - кажете си мнението и за това), тоест шанса да изпусне някой кадър е по-голям. MJPEG го товари само на около 20-30%, дори по-малко. Но пък ми се струва (пък и за това натоварване - май е нормално), че качеството му е доста по-зле.

Какво мислите по въпроса?

Ако се случи да записвам от касетка ще взема да пробвам 2pass директно от касетата с двойно просвирване. :p

fellix
25.01.04 г., 01:25
С каква програма правиш записа?

Аз с Fly2000TV си записвам по принцип в MPEG-2, щото там натоварването ми е най-"оптимално" - около 65% при запис в PAL формат, но пък нещо филтъра за изчистване на шума не работи добре (за разлика от този за deinterlacing), а в DivX ми пропуска кадри - къде повече, къде по-малко в зависимост от пискелния формат, който избера (RGB vs. YUY2 vs. YV12 например), но пък там шумът в картината се пречиства по-добре.
За последно пробвах VP6 кодека и за мое учудване се справя доста добре, с минимален брой пропуски и май има най-добро съотношение качество/размер на файла от останалите MPEG4 кодеци. Кофтито е, че няма потребителски контрол над bitrate-а.

Pesho®
25.01.04 г., 01:38
За MPEG2 гласувам аз... За момента най-добър запис ми се получава с InterVideo WinDVR 3. Пък после - в XVID.

exabyte
25.01.04 г., 02:15
Записвам с mencoder...

Мога да записвам в MJPEG (софтуерен) и DivX. Интересувам кой от двата кодека дава по-добро качество при същият bitrate, и как е MPEG2 спрямо тях. Иначе и аз съм пробвал преди много време в MPEG 2 и си беше добре, и с MJPEG си става добре и с DivX също, дори не виждам особена разлика, но все пак искам да знам дали няма да е по-добре да ползвам DivX вместо MJPEG за междинния вариант (не ми дропи кадри).

Та просто ако някой може да ми подреди по качество тия кодеци при ползване на bitrate около 7500-10000 Kbps... Това ме интересува. :)

Unk_des
28.01.04 г., 20:47
Здравей exabyte!
Според мен грешиш, като кодираш още при вкарването от TV. Напрактика правиш компресия върху компресията, независимо от големият битрейт в началото. Получава се прогресивно влошаване на качеството на кр. резултат - особено в бързите сцени или при насищане с дребни детайли.
Ето какво правя аз: Просто свеждам нещата до употребата на единствена компресия. Каква е тя? - и това е от голямо значение, но за това след малко...
1. Ако имам достатъчно дисково пространство записвам без никаква компресия в размер 352x288! При посочената големина и без никаква видео-компресия файлът набъбва с около 5Mb/sec. Това означава, че за един двучасов филм ти трябват свободни 36GB дисково пространство! При това процесора се товари незначително - до 50%, и следователно няма да има риск от изтърване на кадри.
2. Обработката я правя с Virtual Dub - там си ги има всичките необходими филтри, но внимавай - от голямо значение е в каква последователност ги подреждаш! Аз правя следното:
- първо прилагам Crop - намира се в филтъра Null transform.
- после с Resize променям размера до 640x480 - това е точно съотношението 4/3. Внимавай Filter Mode да бъде Precize Bicubic - Това е бикубичен метод за интерполация и е много прецизен!
- най-накрая пускам леко Sharpen, но само ако е нужно!
3. Следва видеокомпресията. Аз лично предпочитам DivX, защото единствено тя предлага режим на 2 - паса. Вярно е, че изчисляването е двойно, но си заслужава!!! При първият пас DivX преценява местата, където да увеличи динамично битрейта - това са предимно бързите сцени. Там, където има статични сцени - битрейта динамично се намалява. Т.е. първият пас е за точно преценяване на това - къде каква компресия да се използва. Получава се неголям "служебен" файл. При втория пас вече се получава окончателния видеофайл. Интересно е, че DivX така управлява компресията, че в крайна сметка общия битрейт съвпада с този, който си задал!
Съвета ми е никога да не правиш компресия върху компресията!
Успех!
:))

Pesho®
28.01.04 г., 21:01
Unk_des, с тоя пост направо изпотрепа рибата :rolleyes:

Значи записваме в размер 352x288 некомпресирано, и после прекомпресираме, resize-вайки до 640x480, така ли? No comment...

А да не изреждам и останалите ти бисери...

fellix
28.01.04 г., 22:13
Unk_des> Единствената логика, която виждам в съвета ти да се записва на такава малка разделителна способност, е самия факт, че все пак не се ползва никаква компресия, и не всички имаме бързи дискови подсистеми и capture платки на 66MHz PCI шини и т.н., за да си позволим запис в пълен PAL формат, както повелява "традицията". Но по-умни хора от нас са измислили за тази цел lossless компресиращи механизми, като Huffyuv кодека, така че не виждам защо непременно трябва да се записва без компресия, най-малкото сигнала от родните ефирни и кабелни оператори не е "достоен" за такова опазване от прекомпресия.

Unk_des
28.01.04 г., 23:38
Благодаря за забележките, но все пак тези неща са опитани и не си ги измислям просто така!
Защо резолюция 352x288? Ами няма компресия и няма загуба на качеството. Това, че после съм вдигнал размера само дза пъти... и мислите, че има загуби..? - Само за информация ще кажа, че бикубичния метод за интерполация се смята за един от прецизните, защото взема под внимание 8-те съседни точки на тази, която ще се образува. Това означава, че при двойно увеличаване на размера всяка нова "неизвестна" точка се определя от осем известни - сами преценете ще има ли загуби!!?
Другото нещо - специално при Virtual Dub първо се прилагат филтрите и трансформациите и чак след това - компресията. Т.е. ако запазя качеството преди кодека и след това приложа динамична компресия (в двата паса)... кажете ми кое е толкова зле? Просто предлагам един друг вариант из между всичките възможни...
Разбира се, че ако платката ми притежава хардуерно MPEG-2 ще го предпочета и ще го използвам в реално време още с вкарването на образа...

Pesho®
29.01.04 г., 23:37
Леле, ама ти май верно си вярваш... :)

Dude, виж сега. Не знам кой ти е внушил, че има някакъв смисъл да вдигаш размера. Естествено че (почти) няма загуби от вдигането му, но ако си решил че така ще спечелиш нещо, ще те помоля да се върнеш пак в четвърти клас и да слушаш внимателно в часовете по математика. Единственото, което постигаш е, че увеличаваш размера на изходния файл (при фиксиран quantizer). Истина е, че в рисайзнатия до 640x480 кадър има повече информация отколкото в 352x288, но тя е в резултат от интерполация и спокойно може да бъде извлечена и след компресията. Да рисайзваш нагоре преди компресията е, без да се обиждаш, олигофрения - по-голямата част от битрейта ще трябва да бъде отделена за redundant информацията, която идва от интерполацията, и за съществената информация ще остане малко - в твоя случай около една трета от оптимално възможната.

То аз мога и кадър с размер 4 на 3 пиксела да рисайзна до 640x480, но с това няма да получа по-високо качество от оригиналните 4x3. Meditate on this...

В огромна грешка си, ако смяташ че 352x288 некомпресирано е с по-високо качество от 720x576 компресирано с MPEG2 с битрейт поне 7000. Самият факт, че си в състояние да си го помислиш дори, ми говори колко си "опитвал"...

И не ми разправяй, че DivX "единственo" бил предлагал двупасово компресиране! Ми разгледай последните кодек тестове на Doom9 и виж че почти всички от тестваните кодеци го поддържат. Поне за XviD не си ли чувал?!

Последно, sorry за грубия тон, виждам че имаш добри намерения, но не мисля че тук е мястото да се говорят такива откровени глупости. Това че било "опитвано" изобщо не те оправдава, явно не си опитвал достатъчно.

svetlyo
30.01.04 г., 15:06
би трябвало самия кепчър да има някаква яркостна
компресия която да се ползва, но тя не влошава изображението

проблем е че самите телепредавания са с ниско качество
и вдигането на резолюциятаедва ли ще помогне

А някой хора си вярват наистина :)))))))))))))