A Shutter Encoder megjelent Linuxra is

Címkék

A régi Linux-motorosok hozzászokhattak a konzolos videókódolási megoldásokhoz (FFmpeg, MEncoder), és persze jó páran ragaszkodnak is a megszokott manuális, parancssoros paraméterezéshez. Annak viszont számos oka van, hogy a kényelmesebb grafikus előtét felületekre igény mutatkozik, elég ha csak az FFmpeg végeláthatatlan funkciókban gazdag manualjét nézzük. Sok kezdeményezés létezik, amik igyekeznek kényelmesen és kompakt módon összefoglalni a videó- és hang(át)kódolást. A grafikus előtét programokat előnyben részesítők találkozhattak eddig is egészen ügyes megoldásokkal, mint pl. a HandBrake, az Arista, a VLC, a FFQueue stb.

A nyílt forráskódú Shutter Encoder nemrég megjelent 13.8-as verziója már Linux OS-re is kiadásra került. A projekt érdekessége, hogy valóban kompakt megoldást szállít:

Az FFmpeg programot meghívó paraméterezése nem akkora újdonság; a legtöbb grafikus kódoló ezt használja. A Shutter Encoder ennél többet nyújt. Túl azon, hogy az FFmpeg paraméterezését nagyon alaposan ki tudja használni, saját eljárásokkal igyekszik a videókódolást valóban egy felületen kényelmessé tenni. A teljesség igénye nélkül:

  • Videóvágás időben vagy a képkockánként előnézettel.
  • A színek beállítása.
  • Egyszerű, gyors crop segédlettel.
  • Vízjel hozzáadása.
  • Információk videóba kódolása: időbélyeg, fájlnév stb.
  • Egyszerű felirat vágó funkció akár videóba égetéssel.
  • Automatikus vágás felismerő eljárás.
  • Beépített videóletöltés URL-lel.
  • Kódolási folyamatok sorrendbe állítása.
  • Kódolási beállítások elmenthetősége.
  • A kódolás befejeztével a fájlok automatikus elküldése (Mail, WeTransfer, FTP stb.)
  • Könyvtárstruktúrázott DVD, BluRay íráshoz teljes előkészítés.

Letölthető 64bit-es verziókban: Windows (portolhatóan is), macOS, Linux (deb, Appimage) rendszerekhez.

Nem biztos, hogy jobb, mint a meglévő eszközök, ám érdemes tesztelni, biztosan akadnak jó néhányan, akiknek munkaeszközévé válik.

Hozzászólások

Szerintem az ilyen fronted programoknak nincs sok értelme. Aki otthon van a konvertálásban, az megcsinálja kézzel ffmpeg-gel, stb.-vel. Aki meg nem ért hozzá, az el fog veszni a sok funkció és beállítás tengerében, ha meg számukra le van egyszerűsítve a kezelőfelület, és csak egyszerű, kompakt beállításprofilok közül választhatnak ilyen 1-klikkel megoldásként, akkor meg a konvertált végeredmény nem lesz jó minőségű. Így elég szűk rétegnél van az, hogy már ért hozzá, boldogul a részletes beállításokkal, de nem akar CLI-ben paramétereket gépelgetni, ezért feltesz inkább egy ilyen GUI programot előtétnek.

“I didn’t start using Linux so I could have friends.” (Luke Smith, 2019) 🐧

Ilyen részletes front-endeknek szerintem sincs sok haszna. Az olyanoknak van, amikben *funkciók* közül lehet választani, nem rövidítések közül. Olyan funkciók közül, amik a potenciális felhasználók 90%-ának kellenek. És az valszeg a mostani opciók töredékével lefedhető lenne. Szóval, ha hasznos lehetne, ha butább lenne.

Érdekes amit írsz, mert jó pár éve pont egy ilyen frontendet kerestem, akkor nem találtam. Valószínűleg az lehetett a motiváció, hogy viszonylag ritkán kódolok videókat, de nem mindig azonos beállításokkal, ezért nem lenne rossz, ha nem kellene minden alkalommal a manualból előkotorni a megfelelő paramétereket. Manapság egyébként VLC-t használok amivel ugyanez a problémám, a parancssors paramétereket nem tudom és nem is akarom megjegyezni, a GUI-ja meg elég kényelmetlen (pl. csak presetekkel tud dolgozni, szűrőkre nincs GUI).

Nem értek egyet veled.

Én nem értek semmit a videókódoláshoz, de amikor a raw videókamera-kimenetből kellett 2 dvd-nyi anyagot produkálni a családnak, megoldottam ffmpeg-gel. Viszont anélkül is el tudtam volna képzelni az életem, hogy 2 órán keresztül a manpage-t olvassam, hogy hol lehet beállítani hogy x264, temporal antialiasing, gpu gyorsítás kombót használja. Erre a use case-re tökéletesen megfelel az ilyen szintű gui.

Mert valószínűleg csak 10 féle ember létezik, aki ismeri a kettes számrendszert, meg aki nem. 

Fel sem merül az, hogy nagyjából értem, hogy hogyan működik az ffmpeg, és ki tudok egy ilyen előtét programból kattintani jó minőségű outputot is, viszont előnyként veszem, hogy nem kell 25 videó átkódolásához ínhüvelygyulladást kapnom. Éééértem.

Blog | @hron84

valahol egy üzemeltetőmaci most mérgesen toppant a lábával 

via @snq-

Köszi, hogy megosztottad. Kár, hogy yuv-ot nem tud enkódolni, csak dekódolni, ahogy látom. Úgyhogy marad a parancssori ffmpeg és a --help vagy a stackoverflow. :-)

Nem túrtam át a program minden funkcióját, de ott, a három vízszintes vonalkára kattintva megjelenik a renderelési sor, és ott a parancsot magad is tovább paraméterezheted. Ha könnyebbséget jelent minden más paramétert beállítani, akkor a végén csak a yuv-ra kell módosítani a parancsot... Vagyis ..... Az uncompressed YUV-ra (mov) gondoltál? Tudja enkódolni. Idemásolom a parancs kimenetet, amit generált.

ffmpeg -i "/home/abc/A/JB_H.264_1_1.mp4" -map v -c:a pcm_s16le -ar 48000 -map a? -vcodec rawvideo -pix_fmt uyvy422 -vtag 2vuy -field_order tt -y "/home/abc/A/JB_H.264_1_1_Uncompressed_8_Bits_422.mov"

Köszi, de továbbra sem sikerül. Az input lenne yuv420p, de ha kiválasztom a fájlt, és rákattintok a három vonalra, a renderelési sor üres. Nem látok semmilyen parancsot, amit módosítani tudnék. Valami ilyesminek kellene kijönnie:

ffmpeg -f rawvideo -vcodec rawvideo -s 1280x720 -r 30 -pix_fmt yuv420p -i inputfile.yuv -c:v libx264 -preset slow -qp 0 outputfile.mp4

Vagyis az input video csak a nyers pixeladatot tartalmazza, aminek a felbontását és a framerate-jét meg kellene adni az enkódoláshoz.

Pontatlanul fogalmaztam. Arra gondoltam, hogy valami mást dekódolni yuv-ba valszeg lehet vele, de yuv-ot enkódolni nekem legalábbis nem sikerült.

A kódolási sorig eljutottam, az Add to queue-ra nálam nem történik semmi. Próbáltam funkcióként kiválasztani az "Uncompressed YUV"-ot az "Editing codec"-ek közül, illetve a H.264 output codec-et is.

Valamit kihagyhatsz, mert ha nem is azonnal, de 1 mp delay legfeljebb megjelenik a kódolási sorban. RAW yuv-ot nem találtam szabadon letölthetőt, amiből kódolhattam volna, de uncompressed yuv-ba ment a tömörítés. Itt kicsit bizonytalan vagyok, mert automatikusan mov kiterjesztése lett a fájlnak. Ezzel sosem foglalkoztam, de ez itt nekem gyanús. Szerk.: megnéztem a média információt, attól még, hogy mov, egy yuf file a kimenet.

Az y4m-et, amit találtál, egyszerűen átcsinálhatod yuv-vá:

ffmpeg -i akiyo_cif.y4m akiyo_cif.yuv

Vagy csak kitörlöd valamivel az első két szöveges sort a bináris adat elől. Amúgy így néz ki:

$ head -2 akiyo_cif.y4m
YUV4MPEG2 W352 H288 F30000:1001 Ip A128:117
FRAME

Megtaláltam ugyanazt a videót, ugyanúgy nem tudom hozzáadni a sorhoz, bárhogy próbálom.

Az y4m-et viszont valóban hozzá lehet adni a sorhoz.

Röviden: y4m-et lehet, yuv-ot nem.

A tesztfájl esetén, amit találtál: az akiyo_cif.y4m-et hozzá lehet adni a sorhoz.

Alakítsd át yuv-vá: ffmpeg -i akiyo_cif.y4m akiyo_cif.yuv

Az akiyo_cif.yuv-ot már nem lehet hozzáadni a sorhoz. Nincs semmi hibaüzenet, se grafikusan, se konzolon, csak szimplán nem történik semmi, ha kattintgatsz az "Add to queue"-ra.

Van saját console-ja, és ott meg lehet nézni, hol akad el a folyamat. Ez az FFProbe hibája(?) lesz. A program kódolás előtt végez egy ellenőrzést: 

ffprobe /home/abc/Asztal/akiyo_cif.yuv
ffprobe version 4.2.2-1ubuntu1 Copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-3ubuntu1)
  configuration: --prefix=/usr --extra-version=1ubuntu1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
[IMGUTILS @ 0x7fff4a27d240] Picture size 0x0 is invalid
/home/l/Asztal/akiyo_cif.yuv: Invalid argument   

Köszi, jó tudni, hogy meg lehet nézni a logot. Nem az ffprobe hibája, a fájlban valóban nincs semmi infó, amiből rájöhetne a felbontásra. Pont azt távolítottuk el a y4m-ből a konverzióval. Nem tudom, mi lenne a legjobb megoldás a Shutter Encoder részéről. Valszeg nincs tömeges igény ennek a megoldására.

Nem sok értelmét látom az ilyen előtétprogramoknak. Amikor a TV-nél dolgoztam, én scripteket írtam, kikísérleteztem mit szeret a vágóprogram, mit a DVD olvasó, a honlap, mi a legjobb archiválásra, stb... aztán minden feladatra lett egy-egy script. Végül már csak a "kívülről hozott anyag"-hoz kellett néha tákolgatni.

Persze, kezdőknek akár hasznos is lehet, ha a kattogtatás eredményéül kiírja a parancssort.

-fs-
Az olyan tárgyakat, amik képesek az mc futtatására, munkaeszköznek nevezzük.

Magam is parancssor-párti vagyok és megvannak a saját scriptjeim ffmpeg-hez, amik az évek során összegyűltek. Szükség esetén ezek közül kapok elő egyet.

Viszont megfigyeltem, hogy más kollégák, akiket nem érdekel kimondottan a videózás, csak egy művelet elvégzését bemutató videót akar mondjuk emailben elküldhető méretűre tömöríteni, na, ők nem fognak ezzel tökölni. Nekik kell a 1click megoldás. Érteni kell, hogy egy front-end mindig a funkciók erős korlátozásához fog vezetni, de nem mindenkinek cél a videó, sokaknak csak eszköz.

Amikor adott méret elérése a cél, én is rühellem számolgatni a bitrátát, erre jó, ha van segítség. Ezáltal nekem azok a front-end-ek tetszenek általában, amik a parancssor egy bizonyos részét előállítják, de lehetőség van appendelni a saját kapcsolóimat is. Vagy legalább amiből ki lehet fosatni a command string-et aztán azt már tudom tovább fusizni.

Szerkesztve: 2020. 06. 16., k - 13:29

Én ritkán editálok video-kat vagy encode-olok. Nekem ez kifejezetten tetszik. Látom, hogy kb. miket lehet beállítani, de nem kell hozzá órákon át manual-t olvasnom, maximum tesztelek párszor. Főleg úgy, hogy mindig más a cél. Szóval hajrá, csak így továbbb (igen, csak nekem, aki ért hozzá, az elzárkózik...)

Jópár éve rátaláltam a Media Coder nevű szoftverre, azt használtam sokáig és jellemzően csak azért volt win a gépen. Hasonlít is a GUI, nekem tetszik. Örülök, hogy van ilyen is Linuxra :) Egyébként használtam többször is ffmpeg-et, de mire kitalálom a pontos paraméterezést a leírások alapján, addig ezt jóval egyszerűbb áttekinteni.

- Indítsd újra a gépet! - Az egészet? - Nem, a felét...

Ez kimondottan tetszik benne: [i]Cut without re-encoding[/i]

VideoReDo tudta ezt windows-on.