Autor | Zpráva | ||
---|---|---|---|
Silver8000 Profil |
Ahoj lidi,
mam dotaz ohledne FFMPEG. Jedna se o prikaz syntaxe ktery prevede jakekoliv video do formatu mp4 ale s tim ze bude mit co nejmensi velikost souboru a zaroven dobrou kvalitu videa aby se na to vubec dalo koukat. pouziti pres exec(FFMPEG input_file [commands(H.264)] output_file); atp.
Predem diky |
||
Enko Profil |
#2 · Zasláno: 15. 10. 2013, 16:09:36
Co považuješ za dobrou kvalitu videa? Pro jaké zařízení to bude? K čemu budou výsledná videa sloužit? Zkus být více konkrétnější. Jinak předpokládám, že dokumentaci si asi četl. http://ffmpeg.org/ffmpeg.html#Video-and-Audio-file-format-conversion
|
||
Silver8000 Profil |
Enko:
Q; Co považuješ za dobrou kvalitu videa? A; Kvalita videa by mela odpovidat tomu aby se na video mohlo koukat. Docastna ukazka zde : http://share-space.no-ip.org/player.php Q; Pro jaké zařízení to bude? A; Na PC. Q; K čemu budou výsledná videa sloužit? A; Bude to pro webovy prehravac. Ale stale potrebuji urcit tu kvalitu videa + co nejmensi soubor PS: Ke shlednuti je potreba mit instalovany divx web player |
||
Krakatoa Profil |
http://trac.ffmpeg.org/wiki/x264EncodingGuide
A crf si nastav jaké ti bude vyhovovat. V těch tvých ukázkách máš crf 32, 22 a 18, takže nejspíš co je to crf víš, v tom případě netuším proč a na co se ptáš. Jen poznámka, velikost a kvalita výsledného videa je závislá na kvalitě zdrojového videa. |
||
Silver8000 Profil |
#5 · Zasláno: 16. 10. 2013, 05:38:43
Ted me jde o to jestly je mozne automaticky detekovat kvaltu videa a nasledne pro toto video nastavit kvalitu vysledneho videa.
S tim CRF to byl vystrel do tmy takze jsem nevedel o co jde ale pri pokusech s hanbrakem jsem to zjistil. |
||
margin Profil * |
#6 · Zasláno: 16. 10. 2013, 06:21:49
Silver8000:
„Kvalita videa by mela odpovidat tomu aby se na video mohlo koukat.“ To je velmi individuální, někdo může video označit za koukatelnou kvalitu a někdo jiný označí totéž video za šílenou kostkovanou mazanici. |
||
Krakatoa Profil |
#7 · Zasláno: 16. 10. 2013, 14:27:14
Silver8000:
„je mozne automaticky detekovat kvaltu videa“ Není to možné, na to bys potřeboval věštěckou kouli. Automaticky jde pouze zjistit kvalita výsledného videa oproti zdrojovému videu (psnr, ssim a podobně). |
||
Amunak Profil |
#8 · Zasláno: 16. 10. 2013, 16:03:10
Krakatoa:
To ale záleží taky na tom, co je myšlené kvalitou videa. Na pohled může být příšerné, ale základní informace, jako rozměry, počet snímků za sekundu, bitrate apod. se zjistit dá. A z nich jde odhadnout, jaký preset pak použít pro konverzi. |
||
Krakatoa Profil |
Amunak:
Pokud enkoduješ na konstantní kvalitu (u x264 parametr crf) tak tě rozměry, počet snímků za sekundu, bitrate a podobně u zdrojového videa nezajímají, tam jde jen o to zjistit jakou hodnutu crf nastavit tak, aby kvalita výsledného videa byla koukatelná (parametrem crf vpodstatě nastavuješ úbytek kvality), pokud má velký rozsah kvality u vstupního videa, tak bude mít i výstupní rozsah kvality videa velký a automaticky nemůže nijak odhadnout kvalitu vstupního videa, ty jsou na rozměrech, počtu snímků za sekundu, bitrate a podobně, nezávislé. Příklad, mám velmi kvalitní video, je to full hd (1920x1080), datový tok pár kB/s, občas ve videu jen pár snímků za sekundu... jedná se o nahrávání obrazovky. |
||
Časová prodleva: 26 dní
|
|||
Silver8000 Profil |
#10 · Zasláno: 11. 11. 2013, 14:18:34
Tak se zeptam jinak...
Jak lze zachovat kvalitu videa a zaroven zmesit vysledny soubor? Priklad : 2000MB -> 200MB Mam 2GB video soubor chci zachovat kvalitu ale zmensit na 200MB. Jak to udelam? |
||
_es Profil |
#11 · Zasláno: 11. 11. 2013, 14:38:32
Silver8000:
„Jak lze zachovat kvalitu videa a zaroven zmesit vysledny soubor?“ To v princípe samozrejme nejde, zmenšením dát sa zmenší aj „kvalita“ videa. |
||
Amunak Profil |
#12 · Zasláno: 11. 11. 2013, 15:22:07
No... Ono záleží taky na zvolené kompresi. Když se to udělá dobře, nemusí to na kvalitě být poznat.
|
||
Silver8000 Profil |
#13 · Zasláno: 11. 11. 2013, 16:42:09
Amunak:
A jake jsou moznosti komprese? Uvedte priklady prosim at uz se nekam pohnu. Hledam na netu a furt se k tomu nemohu dohrabat. |
||
Amunak Profil |
#14 · Zasláno: 11. 11. 2013, 22:36:07
Možnosti komprese jsou široké. Nevím o ničem konkrétním, protože s videem nedělám. A je to docela složitá oblast. Stejně jako archivy (soubory) jdou komprimovat různými metodami s různou efektivitou a vlastnostmi, existují různé algoritmy i pro kompresi videa. Nejsem si ale jistý, jestli ti na fóru o webdesignu dokáže někdo fundovaně odpovědět. A nejspíš jsi taky ve špatné kategorii.
|
||
Silver8000 Profil |
Ve spatne kategorii nejsem protoze ten prikaz dam do PHP viz priklad :
<?php $cmd ='ffmpeg -i input_video_file [option] output_video_file 2>output_log_file'; $resource = array( 0 => array("pipe", "r"), // stdin is a pipe that the child will read from (we do not use it). 1 => array("pipe", "w"), // stdout is a pipe that the child will write to and we will read from. 2 => array("pipe", "w") // stderr is a file to write to (we do not use it). ); proc_close(proc_open('start /B '.$cmd,$resource,$pipe)); ?> |
||
Jan Tvrdík Profil |
#16 · Zasláno: 12. 11. 2013, 02:20:22
Silver8000:
Co ti na stránce trac.ffmpeg.org/wiki/x264EncodingGuide není jasné? |
||
_es Profil |
#17 · Zasláno: 12. 11. 2013, 08:26:36
Amunak:
„Stejně jako archivy (soubory) jdou komprimovat různými metodami s různou efektivitou a vlastnostmi, existují různé algoritmy i pro kompresi videa.“ Pri videu ide však o stratovú kompresiu, teda o niečo iné ako pre nestratovej kompresii súborov. „Ono záleží taky na zvolené kompresi. Když se to udělá dobře, nemusí to na kvalitě být poznat.“ Uchovávaš Silvera8000 v omyle, že ide nejako výrazne zmenšiť dáta pri rovnakom video výstupe. Silver8000: Nastav si parametre kompresie tak, aby bol dobrý kompromis medzi kvalitou a dátovou veľkosťou. Čakáš snáď, že ti tu niekto poradí nejaké „čarovné“ parametre? |
||
Silver8000 Profil |
#18 · Zasláno: 12. 11. 2013, 11:12:51
_es:
„Čakáš snáď, že ti tu niekto poradí nejaké ‚čarovné‘ parametre?“ To zrovna neee ale urcite by mela existovat nejaka universalni syntaxe ktera to zvladne. ja jsem stvoril toto : $cmd ='ffmpeg -i '.$this_video_in.' -c:v libx264 -preset slow -crf 0 -fs '.$fs.' -quality best -y -threads 1 '.$this_video_out.'.mp4 2>'.$this_log_out; limitace velikosti souboru = $fs => 200MB * (1024*1024) video to zmesi kvalita je defakto stejna (od oka nerozponatelna) ale video se mi hlasi jako rozbite pres prohlizec a co se tyka win. tak je vse v poradku az a to ze video neobsahuje metadata pro vygenerovani nahledu. Co tam mam spatne? |
||
Amunak Profil |
#19 · Zasláno: 12. 11. 2013, 12:51:24
_es:
„Pri videu ide však o stratovú kompresiu, teda o niečo iné ako pre nestratovej kompresii súborov.“ Chtěl jsem tím vyjádřit, že těch možností je taky mnoho a každá má plno nastavení ;-) „Uchovávaš Silvera8000 v omyle, že ide nejako výrazne zmenšiť dáta pri rovnakom video výstupe.“ Pokud se to tak dá pochopit, tak se omlouvám. Jen se snažím říct, že když z 2GB uděláš 400MB soubor, nemusí to nutně znamenat, že bude výstupní kvalita pětkrát horší. Kvalita se určitě sníží, ale třeba to ani nebude poznat. Platí to dvojnásob, pokud ten dvougigový soubor je "originál" bez komprese. „Ve spatne kategorii nejsem protoze ten prikaz dam do PHP viz priklad“ Domnívám se, že jsi ve špatné kategorii proto, že i když příkaz voláš z PHP, pořád se tu řeší jen problematika (komprese) videa, nikoliv problémy s PHP skriptem. |
||
Časová prodleva: 11 let
|
0