Galvenā izvēlne

Video un citi prieki no tehniskā viedokļa

Pievienoja Niks Pr, 08/27/2007 - 15:35
Ok, tā kā nevaru izdomāt jēdzīgu ievadu, ķeršos uzreiz pie lietas. Iesākumam pāris definīcjas: kodeks (codec) - šī raksta robežās jāsaprot kā programmatūra, kas būtībā veic audio vai video saspiešanu un atspiešanu (līdzīgi kā Zip, RAR, 7zip, taču ir daudz specifiskāk optimizēts tieši konkrētajam materiālam) ar vai bez datu zuduma, un dažkārt arī pārvēršanu no digitāla uz analogu signālu (vai otrādi), kodekus parasti izveido, balstoties uz kāda standarta; konteiners (container) - faila formāts, kas apvieno vienā failā dažādas multimēdiju straumes - audio, video, subtitrus un citas lietas (jāņem vērā, ka ne visi konteineri ir ar vienādām iespējām); softsubi (softsubs) - atsevišķa subtitru straume, kuru var ieslēgt vai izslēgt, renderēšanu veic atskaņojot, tādēļ nodrošina labāku kvalitāti un ļauj nodrošināt labāku video kvalitāti pie tāda paša bitreita, taču var būt problēmas, jo ne visas sistēmas tiek ar tiem galā (un ja arī tiek, tad ne vienmēr pareizi); hardsubi (hardsubs) - tie tiek iekļauti pašā video, tādēļ tos nevar noņemt, tiem ir zemāka kvalitāte un tie degradē kopējo attēla kvalitāti, toties tos varēs redzēt uz jebkuras sistēmas, kas spēs attēlu pareizi dekodēt. anamorfisms (anamorphism) - šajā rakstā jāsaprot kā video, kas enkodēts ar citu DAR (displeja malu attiecība jeb attēla forma) nekā tiek atskaņots. Tagad ķersimies vērsim pie ragiem: AVI, MP4, MKV un n citi paplašinājumi norāda uz konteineri, tā kā ir ļoti muļķīgi meklēt iekārtas ar MP4 atbalstu - tas vēl negarantē, ka konkrētā ietaise tiešām varēs atskaņot jūsu video, un vēl tas nozīmē, ka ir muļķīgi vainot konteineri tajā, ka dators netiek galā ar video, bet par to vēlāk. ---konteineri--- [b]AVI[/b] (Audio-Video Interleaved) ir samērā vecs MS standarts, kurš ir plaši atbalstīts. Teorētiski AVI iespējas ir diezgan plašas, taču ne visas ir implementētas, piemēram, neviens pleijeris neatbalsta anamorfismu (AFAIK, pat ne WMP), lai gan tas ir iekļauts AVI specifikācijās, turklāt laika gaitā AVI ir ticis pamatīgi "sahakots", lai, piemēram, atbalstītu B-frames. [b]MP4[/b] ir balstīts uz MPEG Layer-4 Part-14 (MPEG-4 Part 14) un tam nav nekāda lielā sakara ar MP3. MP4 atbalsta anamorfismu, AVC un daļēji arī softsubus, bet tikai dažus formātus; diezgan plašs atbalsts mobilo iekārtu un DVD atskaņotāju tirgū, izplatītākie paplašinājumi: mp4, mp4a un 3gp (apgraizīts MP4). [b]MKV[/b] (Matroska) - diezgan līdzīgs MP4, taču pilnībā atvērts un atbalsta praktiski jebko (tai skaitā - anamorfismu, fontu un attēlu ieguldīšanu (embedding), kopā saistītos segmentus (linked segments), nodaļas (chapters), protams, arī vairākas video, audio un subtitru straumes); bieži tiek izmantots kopā ar AVC, AAC un ASS. Cik dzirdēts, daži ķīniešu DVD atskaņotāji it kā ēdot arī Matroska. Paplašinājumi: mkv (video un citi labumi) un mka (audio). [b]Ogg[/b] - arī līdzīgs MP4, taču nav tik plašas iespējas kā MKV, tādēļ mūsdienās nav vairs tik plaši izplatīts kā agrāk, mēdz būt sastopams uz dažādām iekārtām, piemēram, portatīvajiem multimēdiju atskaņotājiem, biežāk lietotie paplašinājumi: ogg, oga un ogm (cik sapratu, patiesībā ogm vietā būtu jālieto ogv). ---video kodeki--- [b]AVC[/b] (Advanced Video Codec) jeb MPEG-4 Part 10 - jaunākās paaudzes video standarts, kas tiek izmantots HD-DVD, BD un HDTV, tiek saukts arī par H.264 (vai h.264, H264, h264), AVC ir vairāki profili (līdzīgi kā citiem standartiem) - High Profile nodrošina vislabāko kvalitāti, taču esiet gatavi, ka pat SD (standarta izšķirspēja) materiāla dekodēšana var sagādāt problēmas, ja CPU ir zem 2 GHz, lai gan pēdējā laikā ir ievērojami uzlaboti gan paši software kodeki, gan dzelži, tādēļ mūsdienīgam datoram pat HD (augstas izšķirspējas) materiālam nevajadzētu radīt lielas grūtības. [b]x264[/b] ir pilnībā atvērta AVC implementācija, kas ir diezgan bieži sastopama, ļoti ieteicams ņemt vērā, ka VLC var būt problēmas ar x264 un citiem AVC kodekiem, tādēļ uz *nix ļoti ieteicams lietot MPlayer. [b]WMV3[/b] (Windows Media Video 9) - MS brūvējums, kas laikam balstīts uz MPEG-4 Part 2. [b]VC-1[/b] (SMPTE 421M) - jaunākais MS kodeks, kas ir balstīts uz WMV3 un sacenšas ar AVC; sastopams gan uz HD-DVD, gan BD. [b]XviD[/b] - atvērta MPEG-4 Part 2 ASP (Advanced Simple Profile) implementācija, parasti tiek kombinēta ar AVI un MP3. [b]DivX[/b] - nestandartizēta riebeklība, kas visās jomās piekāpjās XviD, protams, tas nav atvērts kodeks. ---audio kodeki--- [b]MP3[/b] (MPEG-1 Audio Layer 3) - atmet to, ko cilvēks nevar dzirdēt un atlikošo saspiež diezgan efektīvā veidā, ārkārtīgi plaši izplatīts (domāju, ka nav jāskaidro sīkāk). [b]MP2[/b] (MPEG-1 Audio Layer II) - MP3 pamats, virs kādiem 256 kbps nodrošina labāku kvalitāti nekā MP3. [b]AAC[/b] (Advanced Audio Coding/Codec) ir iestrādāts MPEG-2 Part 7 un MPEG-4 Part-3, tiek uzskatīts par MP3 pēcnācāju, kas nodrošin[u]ot[/u] labāku kvalitāti zem 192 kbps (citur minēti 128 kbps, tomēr pieredze saka, ka patiesība ir kaut kur pa vidu), protams, tas ir lossy kodeks (tāds, kas samazina datu apjomu, daļu atmetot). Visbiežāk sastopams iekš MP4 un MKV, lai gan retos gadījumos var sastapt arī "jēlā" veidā - ar paplašinājumu aac. [b]AC3[/b] (Adaptive Transform Coder 3) - Dolby Digital izstrādāts kodeks, kas bieži sastopams uz DVD-Video, atbalsta 5.1 audio un nodrošina labu kvalitāti, taču vienalga ir lossy, turklāt nav pārāk efektīvs saspiešanā, tādēļ lielo failu izmēru dēļ nav plaši sastopams citviet. [b]DTS[/b] (DTS Coherent Acoustics) - atbalsta līdz astoņiem kanāliem, taču vienkārši fantastisko bitreitu dēļ reti sastopams pat uz DVD-Video - pārāk maz vietas, turklāt DVD-5 ir ierobežots līdz 5 Mbps, kuros ir jāiekļaujas visam - video, audio, subiem... [b]Speex[/b] - Xiph.org piederošs audio kodeks, kas optimizēts cilvēku balss enkodēšanai pie zemiem bitreitiem, piemēram, izmantošanai GSM telefonos. [b]FLAC[/b] (Free Lossless Audio Codec) - kā jau norāda nosaukums, lossless (nerada datu zudumus) un atvērts, konteinera paplašinājums ir .flac, kas, ja atmiņ neviļ, ir pielāgots Ogg, lai gan šamo var iedabūt arī iekš oriģinālā Ogg, MKV un varbūt vēl kaut kā. FLAC atbalsta ID3 un ir vienīgais jēdzīgais Xiph.Org Foundation kodeks (vēl šamiem pieder Theora, Speex, Vorbis, Ogg (protams, tas gan ir kodeks) un vēl kaut kādi, kas nav pat pieminēšanas vērti), FLAC ir diezgan plaši izplatīts. [b]Vorbis[/b] - jau augstāk pieminēts Xiph.org audio kodeks, kurš, cik zinu, it kā tiek pozicionēts kā MP3 konkurents, tomēr mans viedoklis ir, ka kopš vēl pirms 1.0 kaut kas tika sačakarēts, šis kodeks arī ar relatīvi augstiem bitreitiem (pēc manas skalas aptuveni 128-192 kbps) apietas kā ar diezgan zemiem (aptuveni 64-96 kbps), tādēļ vismaz es dodu priekšroku MP3, ja ir nepieciešama laba kvalitāte pie saprātīgiem bitreitiem. Starp citu, vidusmēra dziesmai starpība starp 96 un 192 kbps ir viegli sadzirdama uz pieklājīgas audio tehnikas, taču failu izmēros starpība ir niecīga. Testos auTuV implementācija ir pārspējusi visus augstāk minētos kodekus, taču, to izmantojot, noteikti ir jāpārbauda, vai kvalitāte ir gana laba. ---subtitru formāti--- [b]SRT[/b] - SubRip personīgais subtiru standarts, kura failus galvenokārt veido ar SubRip, veicot voblas (VOB) 4 bitu bitmapiem, kuri nodrošina šausmīgas kvalitātes subtitrus, OCR (Optical Character Recognition), pats OCR dzinējs ir diezgan draņķīgs, tādēļ esiet gatavi tam, ka var būt dažādas kļūdas, piemēram, drink vietā drk (gadījums iz dzīves). [b]SSA/ASS[/b] (SubStation Alpha/Advanced SubStation Alpha) - patlaban visattīstītākais no atvērtajiem subtitru formātiem, oriģinālie SSA ir diezgan reti un mūsdienās ir sastopami praktiski tikai ASS, kurus parasti veido ar Aegisub palīdzību; ASS esmu sastapis tikai anime fansubošanas scēnā, tomēr viens no Aegisub deviem man nesen aizrādīja, ka ASS tiekot lietots arī citur; tā kā ASS atbalsta vektorgrafiku un transformācijas kopā ar ļoti attīstītām formatēšanas iespējām, ASS kaut cik atbalsta tikai divas programmas - VSFilter (tikai Windows) un MPlayer (ar libass palīdzību), savukārt VLC izmetīs dīvainus gļukus, turklāt netiks galā ar nopietnākajām ASS iespējām. Vēl ir tāds ASA, ko izstrādātā rietumu anime scēnā diezgan pazīstams cilvēks, taču progress ir lēns, turklāt esiet gatavi uz visādiem renderēšanas brīnumiem, to izmantojot. Papildinājums: patlaban [22.06.08] VLC izstrādes (development) versijā jau ir iekļauts ASA, kuru VLC izstrādāji pieļāva paņemt savā aizgādniecībā, taču patlaban nav skaidrs, kas ar to tālāk notiks. Domāju, ka būs gana, ja būs konkrēti jautājumi/ieteikumi, varbūt būs papildinājumi/uzlabojumi/precizējumi. ------------------------------------------- Papildinats 21.12.07: Šoreiz tuvāk apskatīšu video enkodēšanas teoriju un vēsturi. Kā vienmēr, iesākumā definīcijas: [b]MPEG[/b] (Moving Picture Experts Group) - ISO/IEC grupa, kas nodarbojas ar multimēdiju standartizēšanu; [b]standarts[/b] - nosaka kā kaut kas jādara, lai nodrošinātu savstarpēju saderību; [b]kodeks[/b] - standarta implementācija, tiesa, ne visi kodeki ievēro kādu standartu, un tie, kuri "ievero", ne vienmēr ir pilnībā saderīgi ar standartu; [b]profils[/b] - vienā standartā var būt vairāki profili, jo, kas der visam, tas neder nekam, tādēļ profili ļauj vispārīgu standartu pielāgot konkrētām vajadzibām;

by stendec on Pr, 08/27/2007 - 15:59
Nu, asara pilnīugi jānotraušs...

by Karass on Ce, 12/20/2007 - 23:20
Spēcīgi. Wow.

by MIGs on Pk, 12/21/2007 - 11:05
Malacis ! Ļoti izmeļoš un izskaidrojoš materiāls ! Protams ka nav nav sīka stehniskas detaļas, bet tas tak ir pārskatas ! Paldies !

by Jomatam on Sv, 02/17/2008 - 21:33
Super! Un kad tu būsi pabeidzi nobeigumā derētu norādīt Kādā Linux versijā ar kuru playeri katru formātu var atvērt.

by Niks on Sv, 02/17/2008 - 23:31
E? MPlayer [u]visam[/u]. Labi, lai skatītos DVD, izmantoju Xine, bet līdz šim pārējo MPlayer ir sagremojis labāk nekā jebkurš cits *nix pleijeris.

by MIGs on Pr, 02/18/2008 - 08:08
Jomatam - domāju, ka gandrīz visi izmanto Linux versiju 2.6.x, un daži 2.4.x. Tass viss laikam iet uz abiem kodolu atzariem. Ja tu domāji distrubutīvus, tad praktiski uz jebkura var uzlikt praktiski jebkuru pleijeri ! Piekrītu par Mplayer un Xine !

by Agrais on Pr, 02/18/2008 - 21:03
v dogonku viens jautājums - ir video.AVI fails aptuveni 150 Mb liels . Kā un ar ko viņu saspiest mazāku?? Zem windas ar divx 6.8 converteri pārtaisīja uz 7.5 Mb, tikai skaņa tāda dzelžaina palika. Gribētos paveikt to uzdevumu kā civilizētāk ar tīkamāku rezultātu.

by Niks on Ot, 02/19/2008 - 14:37
[quote]kodeks (codec) - šī raksta robežās jāsaprot kā programmatūra, kas būtībā veic audio vai video saspiešanu un atspiešanu (līdzīgi kā Zip, RAR, 7zip, taču ir daudz specifiskāk optimizēts tieši konkrētajam materiālam) ar vai bez datu zuduma, un dažkārt arī pārvēršanu no digitāla uz analogu signālu (vai otrādi), kodekus parasti izveido, balstoties uz kāda standarta[/quote] Vari mēģināt izmantot kādu AVC, piemēram, x264, taču jebkurā gadījumā 20x mazāku padarīt diez vai varēs bez ārprātīga kvalitātes krituma (ja vien tas AVI video nav kādā lossless kodekā). Un vēl x264 high profile būs ļoti augsta CPU noslodze (ar citiem profiliem nav tik ļauni, taču arī saspiešanas pakāpe būs zemāka). Skaņai vienīgais risinājums ir to neaiztikt - atkārtota enkodēšana no lossy kodeka uz lossy kodeku radīs ievērojamus artefaktus jebkurā gadījumā, turklāt visi "labie" zemo bitreitu kodeki radīs metālisku skaņu - ja tas nepatīk un ja vari, tad paliec pie tā, kas ir, protams, ja tas ir ļoti neefektīvs kodeks (vai pat lossless), tad pamēģini 128 kbps joint-stereo MP3 - pieklājīga kvalitāte un plaši atbalstīts. Taču atceries - starp 192 un 128 kbps starpība ir daži MB uz stundu, toties kvalitātes starpība būs jūtama pat ar viduvēju tehniku, un, ņemot vērā artefaktus, kas rodas transkodējot audio, visticamāk audio vienkārši būtu jāatstāj kā ir. Par rīkiem: Windows: http://sourceforge.net/projects/megui (vienkārši ļauj, lai šams visu pārējo pats saliek (tam vajadzēs netu)) Linux: drusku problemātiskāk, bet tikai enkodēt var ar to pašu x264 CLI versiju (jā, to programmu sauc x264), taču tādu īsteni labu GUI tai nav, lai gan Avidemux kā tādu to atbalsta. Vēl ir mencoder, taču taviem mērķiem x264 būs vislabākā izvēle. Ak jā, man gan to nevajadzētu teikt, bet, ja kadu iemeslu dēļ x264 neder, tad perversi mazus video ar šaušalīgu kvalitāti var uztaisīt ar RealVideo (uzmanību, RV ir aizvērts risinājums, kuru ļoti neiesaka lietot!).

by Agrais on Ot, 02/19/2008 - 20:21
it kā jau tā problēma nebūtu nemaz tik aktuāla, jo pats jau es to video gabalu varu saktīt orģinālā. Bija vēlme ielikt traukos.lv apskatei ,taču sanēmu pretī atbildi -fails par lielu , nu ko, ātrumā ko atcerējos- to samuhļīju , pat nobrīnījos ,ka tas DivX converter saspieda tik dramatiski ,taču kvalitātes ziņā nemaz tik slikts neizskatījās, pat izmērs" pa diognāli" tāds pats, tikai tā skaņa... nu jā video gabala avots ir Canon fotoaparāts, nu ko, pacīnīšos .

by Agrais on Ce, 02/21/2008 - 21:43
atradu un sapratu audio problēmu - saspiežot ar virtaldub , defaultā skana arī tiek spiesta . kā jau Niks teica - to nav jāaiztiek , tikai neaiztiekot sanāk ka aiztiekas... nekas izķēksē saspiešnu un viss notiek .- skaņa paliek nemainīta. tagad jāsaprot ,kā to izdarīt zem Linux..

by Niks on Ce, 02/21/2008 - 21:57
Ja nav jāveic video montēšana, tad vienkārši var demultipleksēt audio un, kad viss pabeigts, samultipleksēt oriģinalo audio ir jauno video. Montēšanas gadījumā es ieteiktu montēt audio un video nenodalot, ja vien nav kāds uzticams veids, kā to izdarit atsevišķi - citādāk ir liela iespējamība, ka būs desinhronizācija.

by zumzum on Tr, 05/21/2008 - 13:26
man http://forums.animesuki.com/showthread.php?t=34230 shis topiks paliidzeeja, tik iegraabos ke neuzinstaleeju fontus>no OSD

by Niks on Ot, 05/27/2008 - 12:07
Zināms raksts, savu pirmo MPlayer ar libass uzkompilēju tieši vadoties pēc tā, taču neesmu pārliecināts par raksta kvalitāti. Salīdzinājumam mana konfigurācija (nesaku, ka teicama, taču pārbaudīta): [quote]embeddedfonts=yes #liek paņemt fontus no video konteinera, ja atmiņa neviļ, tad tagad to dara automātiski, ja tiek izmantots -ass. ass=yes #augstāk pieminētā opcija, šī liek VISUS softsubus renderēt ar libass ar visām no tā izrietošajām sekām (jā, patiešām visus, piemēram, arī SRT). correct-pts=yes #kaut kas eksperimentāls, taču bez tā subtitri var tikt parādīti ar nelielu nobīdi (laika ziņā) sid=0 #lai tiktu rādīti noklusētie subtitri monitoraspect=16:10 #citādāk video tiek izkropļots, jo man ir 16:10 LCD vo=xv,gl,gl2:glfinish,x11 #personīgā pieredze ar video izvadi; ja tiek izmantots x11, tad vajadzēs papildus software scaling, ja vien negribas, lai video ir tieši 1:1 lavdopts=ec=3:threads=4 #for great justice pp=6 #maksimāls post processing; nav pieejams visiem kodekiem un var nākt par ļaunu ļoti kvalitatīviem video, turklāt palielina noslodzi noslices=1 #visu kadru parāda uzreiz, nevis pa "šķēlēm", dokumentācija saka, ka var gan palīdzēt, gar kaitēt veiktspējai ao=alsa#:device=default #ALSA vienmēr uzvar spuaa=20 #šī un nākamā lieliski palīdz spugauss=2.0 #pret neglītiem SRT subiem #sws=9 #šo laikam labāk neizmantot fs=yes #lai video uzreiz būtu pa visu ekrānu ass-hinting=3 #esmu jau aizmiris, ko šī darīja, droši vien kaut kas ar fontu anti aliasing ass-use-margins=yes #šai rindiņai nav teju nekādas jēgas. utf8=yes #jā, tas var šķist dīvaini, taču šīs rindiņa atrisināja problēmas ar softsubiem latviešu valodā [/quote] NB! Vairākas lietas manā konfigurācijā ir specifiskas tieši maniem dzelžiem, tādēļ akli nepārkopējiet! Vislabāk ir izlasīt "man mplayer", kur viss ir daudz sīkāk un precīzāk aprakstīts.