Gå til innhold

[Løst] jpg -> mpg


Anbefalte innlegg

Får vi se videoen også? :new_woot:

 

Så klart!

Det ble en del dødtid (ikke redigert så mye), men dette er bare en test.

Den ferdige videoen skal være sammensatt av et års bilder (tatt hvert 3. minutt), og vil til slutt vise et ferdigbygget hus. Uansett, videoen viser hvordan en gravemaskin knuser bygningen etter hvert.. Ganske stilig :D

 

Maskinen er for øvrig bygget utendørs inne i en kasse høyt oppe på et tak, med et webcam.

Som du ser så hadde vi et lite midlertidig fuktproblem en dag det var veldig vått ute, noe vi rettet på dagen etter :)

Lagrer på en SSD (hele systemet er fri for bevegelige deler, altså ingen vifter eller noe slikt) og bruker rsync og syncer over NMT450-nettet (Ice) til webserveren min hjemme.

 

Her er videoen (de første 24 dagene av prosjektet. Litt kamerajustering i starten :))

Endret av reminett
  • Liker 2
Lenke til kommentar
Videoannonse
Annonse
  • 1 år senere...

Bøyg!

 

Når jeg kjører scriptet i en mappe med ca 260 000 filer, får jeg denne beskjeden:

 

script.sh: line 8: /bin/ls: Argument list too long

 

Her er scriptet:

 

#!/bin/bash
find . -maxdepth 1 -empty -exec rm {} \;
num=1
for fil in `ls -tr *.jpg`; do
  filnummer=`printf "%0.6d" ${num}`
  mv ${fil} bilde-${filnummer}.jpg
  (( num += 1 ))
done

 

Edit: Det viser seg at det er ls kommandoen som feiler. Kan jeg bruke find i stedet? Hvordan?

 

Edit 2: Ble litt usikker på om det er ls som feiler... Håper noen har en god idé her :)

 

Edit 3: Til info: #ls *.jpg feiler med samme feilmelding. #ls virker.

Endret av reminett
Lenke til kommentar

Jeg løste problemet med å droppe wildcard på ls, og sørget for at mappen kun inneholdt jpg-filene.

Ja, for problemet ditt var at bash som standard ekspanderer wildcard i parametre/argumenter før ls (i dette tilfellet) kalles. Så egentlig ble kommandoen f.eks. ls -tr 0001.jpg 0002.jpg 0003.jpg .... slik at antall filer rett og slett gjorde at ls (slik jeg tolker feilmeldingen) ikke håndterte mengden.

 

Et alternativ hadde vært å gjøre om scriptet til å "bygge" filnavnet ved å bruke en teller (og så evt. sjekke om fila fantes hvis de ikke er sekvensielt nummerert).

Det er også mulig å få shellet til å ikke ekspandere wildcard (set -f) men da hadde du vært avhengig av at ls selv ekspanderer wildcard (noe jeg ikke aner om den gjør).

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...