Ffmpeg - pomalý zápis na rychlou flash

Od: Datum: 14.10.16 12:29 odpovědí: 14 změna: 23.10.16 20:23

Pomoc, mám problém v ffmpeg (pouze převod kontejneru -c copy), když je výstupní soubor na flashce (sekvenční zápis 120 MB/s), tak je zápis tragicky pomalý (200 fps což odpovídá asi 5 MB/s). Zdrojové soubory jsou na ramdisku. Když výstup zvolím ten ramdisk, tak je rychlost 50000fps(tedy 1 GB/s), když je výstup SSD notebooku, tak je rychlost jen 30000fps (450 MB/s).

Přitom jsem testoval flashku v Atto, tam má rychlost zápisu bez fronty pro bloky 4,8,16,32,64,128 rychlost 23,28,63,60,60,125 MB/s, což je i tak víc než těch bídných 5 MB/s. Bloky menší (2-0.512 jsem netestova)

Proč je zápis přes ffmpeg tak pomalý?


Seznam odpovědí:
 
moment čekejte prosím, probíhá přenos dat...
Zobrazení struktury odpovědí v otázce
Skrytí struktury odpovědí v otázce
Zobrazení struktury odpovědí v otázce

 

Odpovědi na otázku:
Datum: 15.10.16 01:46
avatar
Fleška je pro tento účel naprosto nevhodná, je pomalá.
Ohodnoceno: 0x
 
Od: jarina
Datum: 17.10.16 00:11

četl jsto? Soubory se na ní kopírují 120 MB/s, ale výstup ffmpeg jen 5 MB/s. Ta flash není nějaký krám kingston výběhový model, co prodává místní "it odborník" ve sklepě v každém městě za trojnásobné ceny.

Od: jarina
Datum: 20.10.16 14:50

poradíte Někdo dál?

Od: ctenar
Datum: 20.10.16 15:28

Je rozdíl při zapnuté a vypnuté write cache pro to USB?

Ohodnoceno: 0x
 
Od: jarina
Datum: 20.10.16 20:17

Zkusil jsem poladit nastavení write cache, ale nejde to. V dialogu Správce zařízení - Disky - flashka - Zásady Mám pouze volby:

1.Rychlé odebrání
2.Lepší výkon a nic
3. Lepší výkon a Povolit ukládání do mezipaměti
4.
Lepší výkon a Povolit ukládání do mezipaměti a Zákaz vyprázdňování

Volby 3 a 4 nejdou nastavit, po stlačení OK to hodí hlášku, že se to nepodařilo nastavit (neumí to zařízení nebo nnepodporuje změnu).

Dal jsem tedy jen 2 a znovu zapojil a rychlost je stále bídná, nic se nezměnilo

A zajímá mě, kde by mohl být problém technicky v tom ffmpeg konkrétně, že ten zápis přes probíhá šnečím tempem.

PS: formát je exFAT, nevím zda to hraje roli.

Od: ctenar
Datum: 20.10.16 20:48

Měl jsem na mysli zrušení toho "Rychlého odebrání". Říkáš žádný rozdíl :(

Vždycky můžeš zkusit pokusně naformátovat tu flash na FAT32 nebo NTFS a provézt měření rychlosti, ale zlepšení neočekávám.

Jak je velká ta flash?

Ohodnoceno: 0x
 
Od: jarina
Datum: 20.10.16 23:49

128gb

Od: ctenar
Datum: 21.10.16 00:28

Asi bych zkusil nějakou starší flash (16/32GB) s tím NTFS/FAT32, abych se přesvědčil, že problém není někde v kartě nebo soub.systému. *nevi*

Napiš, jak to dopadlo.

V nejhorším to budeš ukládat na RAMdisk a na konci dáš "překopírovat na USB" (nějaký dávkový soubor).:(

PS. ve své instalaci ffmpeg jsem -c copy nenašel (nedělám s tím).

Ohodnoceno: 0x
 
Od: jarina
Datum: 21.10.16 13:22

Zkusil jsem u u NTFS flash Lepší výkon a je to lepší, ale pořád se mi to nějak nezdá.

Nechápu tu poznámku. ffmpeg máš.Parametr -c je volba výstpuního kodeku (pořadí těch voleb hraje roli, zrovna -c musí být za vstupy), copy (může být aac,mp3 hevc,libx264,xvid...)znamená ponechat původní kodek, tedy netranskodovat, nicméně ale se to stává i při kompresi (pokud je rychlý CPU a parametry kodeku nastavené na rychlou kompresi (-preset fast, nízké rozlišení...).

Od: ctenar
Datum: 21.10.16 14:13

NTFS jsi dělal na té 128GB flash? Kolik to zapisovalo?

Kdyžtak zkus i nějakou starou flash 16GB ze šuplíku.

Podle mě není chyba ani v ffmpeg, ani v zápisech přes USB, ale někde ve flash nebo ve způsobu, jak k ní přistupuje ten soub.systém *nevi*


doplněno 21.10.16 14:35:

Zkusil bych také zkusil v tom tvém Atto (?) rychlost zápisu pro malé bloky (0,5-2KB).

Ohodnoceno: 0x
 
Od: jarina
Datum: 22.10.16 08:32

ne, NTFS jsem zformátoval na microSDXC 64GB kartě s rychlostí zápisu 75 MB/s.

Zkusil jsem ATTO disk benchmark při 256kB (queue depth 1). Vychází mi z toho, že flash není o moc pomalejší než SSD v těchto rychlostech(při queue 4 je rychlost max 50% lepší,ale to podle mě se nevyužívá) a že chyba není ve FS ani v rychlosti flash, ale v cache modu toho média a že ffmpeg výstup nebufferuje a používá moc malé bloky.
Na C:(SSD) má pro 0.5-4kB rychlosti: MB/S: 6/6; 10/12; 21/23; 40,43
Na té 128 GB flash: 3/3; 6/6; 10;10; 19/22

Od: ctenar
Datum: 22.10.16 16:07

To jsem si právě myslel, že ffmpeg to asi bude zapisovat po malých blocích. U SSD to vadit nebude, protože je to dobře bufrované v RAM. U toho USB jsem vsázel na to "Rychlé odebrání" (tedy bez bufrování), ale psal jsi, že to na rychlost nemá vliv.

Chtěl jsem zkusit jiný souborový systém, protože ty mají zápisy jinak velkých bloků a tedy mají svůj vnitřní malý buffer.

Jestli máš RAM (i ten SSD disk je fajn) dost velkou na celý film, tak bych to asi neřešil. Prostě bych to po převodu celé vrhnul na USB sekvenčním zápisem plnou rychlostí.

Ty jsi asi moc nepracoval s disketami, že ne? ;)

Ohodnoceno: 2x
 
Od: jarina
Datum: 23.10.16 12:53

s disketami ve věku, kdy jsem se o počítače zajímal "uživatelsky"(herně) ještě

Od: ctenar
Datum: 23.10.16 20:23

Bohužel neumím poradit víc, než už jsem napsal. Škoda, že se to nepodařilo vyřešit. :(

Asi se budeš muset zkusit zeptat na nějakém fóru speciálně pro XP nebo ffmpeg, kde se schází více lidí, kteří do problému vidí.

Ohodnoceno: 0x
 

 

 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz

 
Copyright © 2004-2016 Poradna Poradte.cz. Všechna práva na poradně Poradte.cz vyhrazena.