Kaamera GoPro Max

Allikas: Tipikate Rattamatkaklubi teabebaas
Redaktsioon seisuga 30. oktoober 2022, kell 02:41 kasutajalt Jaanus (arutelu | kaastöö) (Videode järeltöötlus)
Mine navigeerimisribale Mine otsikasti

Sissejuhatus

Tegemist on 360-kraadise seikluskaameraga, mis sai mais 2022 Tipikate Rattamatkaklubile hangitud. Kasutusjuhend asub siin.

Märkmed

  • Laadimiskaabel on USB C. Lisaks sai hangitud varuaku ning laadimisdokk kahe aku laadimiseks.
  • Laadida saab ka otse kaamerast, aga siis peab aku luuk lahti olema. Kasutusjuhend ütleb, et kasutamise ajal akut ei laeta, ainult toidetakse kaamerat. Aga nii või teisiti kui kaabel on küljes, on kasutamine üsna kohmakas ning akut vist ei hoia miski paigal. Ehk siis saab selliselt kasutada pigem mõnes statsionaarses rakenduses, kus veeohtu ei ole. Ühe aku laadimisvool nii otse kaameras kui laadimisdokis on umbes üks amper.
  • Kasutusjuhendi järgi toetab kuni 256 GB mälukaarte.

Videode järeltöötlus

Sissejuhatus

Kaamera salvestab .360 faile, mis on GoPro enda formaat. Tegemist on seni veel üsna vähe kasutatava formaadiga, mida GoPro siiski loodab, et saab tulevikus rohkem levinuks. .360 failis on kaks eraldi EAC kodeeringus (projektsioonis) H.265 / HEVC videorada, mida seni ei oska otse maha mängida ükski muu tööriist kui GoPro Player. See on aga üks väga kapriisne ja bugine tarkvara, mis on saadaval ainult Windows Store's (ehk mõeldud toimima ainult Windows 10/11 peal), sõltub väga ka konkreetsest riistvarast (nõuete järgi vajalik videokaart, mis oskaks ka HEVCi dekodeerida) ning kokkuvõttes kuav pilti ikkagi läbi teatava "kalasilma".

Selleks, et videosid oleks võimalik enamlevinud tarkvaradega ja platvormidel vaadata, tuleb need ringi kodeerida ja -töödelda. Vajalikud sammud on laias laastus järgmised:

  1. Ühendada kaks videostreami kokku.
  2. Kuna 5,6K videot enamikel platvormidel maha mängida ei õnnestu, siis tuleks video kodeerida 4K peale. Kui on soov ka vanematel arvutitel mängida, siis H.265 / HEVC asemel H.264 peale.
  3. Stabiliseerida (sh horisont paika, soovi korral ka otsevaade).
  4. 360-kraadise metainfo lisamine (et nt VLC Player oskaks näidata tavalist lamedat pilti ja lisada "vaate pööramise juhtkangid").
  5. Pikemad kui 8-minutised videod kokku ühendada.

GoPro Player oskab siit ülalt ära teha sammud 1-4, samas GoPro Max kaamera poolt tükeldatud videosid uuesti kokku panna ta ei oska. Seda saab teha nt ffmpeg'iga (aga pärast tuleb ka samm 4 uuesti teha).

Alternatiiv oleks kasutada juba algseks video konverteerimiseks ffmpeg'i, aga see on päris keeruline teema, vajab video väga mitmekordset läbi protsessimist ning stabiliseerimise osa on hetkel veel läbi tegemata.

GoPro Player

Tegemist on äärmiselt bugise ja kaprisse tööriistaga. Oktoobris 2022 selgus näiteks, et Windows 10 peal varem töötanud lahendus enam ei töötanud - ei saanud ei .360 faile avada ega konverteerida. Mingeid asjalikke veateateid ei olnud - lihtsalt video vaatamiseks avamisel ei juhtunud midagi ja konverteerimisel öeldi "Failed". Tegemist oli tarkvara versiooniga 2.1.16 / 2.1.17.

Pärast suuremat proovimist ka pilvepõhistes keskkondades selgus, et teatavate mööndustega võiks töötada versioonid 2.0.8 - 2.0.16. Täpsed andmed, et millise tarkvaraga siis kui hästi töötas ei ole usaldusväärsed seetõttu, et alles lõpiks selgus üks uus huvitav tõsiasi - Batch Converteri puhul tuleb pärast failide importimist need ka kõik ära selectida. Muidu kipuvad väljundi seaded (kodeering, resolutsioon, bitrate) minema vaid ühele videole (ilma et kasutaja sellest kuidagi aru saaks). Enamike seadistuste puhul samas konverteerimine ei õnnestu, veateateks on lakoonoline "failed", tarkvara crash või mõni muu veider olukord ja kasutaja ei saagi teada, et asi feilis seetõttu, et konkreetset videot üritati konverteerida mingite kasutajale mitte kuvatud seadete alusel.


Mitte täiesti ühildamatu, aga mitte ka liiga lihtne, et muude vahenditega töödelda. Kaamera ei "õmble" videot ise kokku, vaid sinna .360 faili pannaksegi kaks eraldi videostriimi, mis peaksid olema  kodeeringus. On selgunud, et:
  • Pea ainus asi, mis neid .360 faile mõistlikult "sööb", on GoPro enda GoPro Player. Töötab ainult Windows 10 peal. Selgus ka tõsiasi, et kuigi maksimaalne väljundformaat oleks 5,6K CineForm, siis reaalselt selles eksportida ei õnnestunud (anti viga). Lisaks selgus, et kuigi mängida suudab GoPro Player videot ka võrgukettalt, siis ringi kodeerimiseks peab nii sisend kui väljund (või ainult väljund?) olema lokaalsel kettal. Muidu tuli lihtsalt "failed". Ei saa välistada, et äkki on vaja mingit võimekamat videokaarti, millel parem riistvaraline H.265 tugi, et 5,6K eksport õnnestuks.
  • Sai proovitud ka mingit ffmpeg spetsiaalset haru, mis peaks oskama GoPro .360 videot õmmelda. Anti lihtsalt mingi viga. Ilmselt ka kuidagi videokaardis kinni (või selles, et läbi virtuaalmasina ei saa õigele riistvarale ligi).
  • Kaamera tükeldab klipid alla 4 GB failideks, mis 360 video korral tähendab umbes 8 minutit.

Peale teist eelretke said videod töödeldud nii:

  • GoPro Player Batch Exporter abiga 4K H.264 kodeeringusse. Oleks võimalik ka H.265 kodeeringus eksportida, mille eeliseks on väiksemad failid, aga see ei mängi igal pool normaalselt.
  • Nimetada failid selliselt, et oleks aru saada, mis on mis.
  • Tükeldatud failid saab kokku tagasi panna nii:
ffmpeg -f concat -i input.txt -c copy output.mp4

Seejuures faili input.txt sisu peab olema järgnev:

file input1.mp4
file input2.mp4
file input3.mp4

Selle käigus läheb kaduma aga 360-kraadi metadata, mistõttu videot näidatakse nüüd selliselt, et kogu 360-kraadine vaade on korraga näha. Metadata saab tagasi:

exiftool -tagsFromFile input1.mp4 -all:all output.mp4

TODO: Teha skript, mis automaatselt tuvastaks, millised videod üksteisele järgnevad ning need kokku monteeriks.

TODO2: Tegelikult võiks uurida, äkki saab ka originaal 360 videosid kokku monteerida, pääseks äkki metainfo taastamise sammust?