Hromadná konverze souborů amr do mp3

beer

  • *****
  • 729
    • Zobrazit profil
Hromadná konverze souborů amr do mp3
« kdy: 31. 07. 2012, 15:26:28 »
Kamarád potřebuje poradit, jak provádět hromadnou konverzi pomocí avconv či ffmpeg.

Pokoušel jsem se použít:

Kód: [Vybrat]
$ ffmpeg -i *.amr *.mp3
nebo

Kód: [Vybrat]
$ avconv -i *.amr *.mp3
V obou případech to vytvořilo jeden soubor s názvem *.mp3.

Co byste poradili, jak to udělat, aby to fungovalo?


Šlo by to takto?
Kód: [Vybrat]
#!/bin/bash
ls -1 *.amr|while read line; do avconv -i "$line" "$line".mp3; done

Možná na to du špatně (vycházel jsem z jiného skriptu, který jsem upravil a bashi nerozumím), nemám možnost to nyní ověřit (jsem aktuálně daleko od linuxového stroje).

Může na to někdo kouknout, případně to zkusit, jestli to bude fungovat? Nebo nějaký jiný návrh?
« Poslední změna: 31. 07. 2012, 15:39:39 od Petr Krčmář »


JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Hromadná konverze souborů amr do mp3
« Odpověď #1 kdy: 01. 08. 2012, 00:07:37 »
Jestli to muze byt pomoci mplayeru, tak zkuste tohle: http://pastebin.com/zYJegYHH . Akorat tedy nevim, jestli mplayer umi amr. A musite si v tom skriptu pripsat amr do seznamu znamych pripon, ktere se maji konvertovat.

beer

  • *****
  • 729
    • Zobrazit profil
Re:Hromadná konverze souborů amr do mp3
« Odpověď #2 kdy: 01. 08. 2012, 01:50:55 »
Díky, vypadá to dobře, ale je to skoro kanón na vrabce :-). Super, že se tam jednoduše nastavuje kvalita a člověk nemusí tápat.


Toto zdá se také funguje dobře:


Kód: [Vybrat]
#!/bin/bash
find *.amr|while read line;
do avconv -i "$line" "$line".mp3;
done

Trubicoid2

Re:Hromadná konverze souborů amr do mp3
« Odpověď #3 kdy: 01. 08. 2012, 09:57:07 »
Jestli je toho hodně na převedení a mas vicejadrovou masinu, tak lze pouzit parallel.

beer

  • *****
  • 729
    • Zobrazit profil
Re:Hromadná konverze souborů amr do mp3
« Odpověď #4 kdy: 01. 08. 2012, 10:58:01 »
Jestli je toho hodně na převedení a mas vicejadrovou masinu, tak lze pouzit parallel.

Tolik toho není, ale jak by to vypadalo? Nějak takto? Ten parallel je potřeba zřejmě přidat takto:
Kód: [Vybrat]
sudo add-apt-repository ppa:ieltonf
sudo apt-get update
sudo apt-get install parallel

Kód: [Vybrat]
#!/bin/bash
find *.amr| parallel -j 4|while read line;
do avconv -i "$line" "$line".mp3;
done


beer

  • *****
  • 729
    • Zobrazit profil
Re:Hromadná konverze souborů amr do mp3
« Odpověď #5 kdy: 01. 08. 2012, 11:10:09 »
Tak koukám, že repozitář parallel je jen pro oineric.

Fungovalo by to paralelně přidáním & takto:
Kód: [Vybrat]
#!/bin/bash
find *.amr|while read line;
do avconv -i "$line" "$line".mp3 &;
done
?

JardaP .

  • *****
  • 11 064
    • Zobrazit profil
    • E-mail
Re:Hromadná konverze souborů amr do mp3
« Odpověď #6 kdy: 01. 08. 2012, 12:43:14 »
Díky, vypadá to dobře, ale je to skoro kanón na vrabce :-).

To je snad jedno. S ohledem na to, ze se misto na disku prideluje po blocich, mista vam to vic nezabere. Vyhodou je, ze to projede celou adresarovou strukturu a ve vystupnim adresari ji to zachova, krome toho se to pokousi prevest i tagy.

beer

  • *****
  • 729
    • Zobrazit profil
Re:Hromadná konverze souborů amr do mp3
« Odpověď #7 kdy: 01. 08. 2012, 13:43:21 »
Tagy tam snad ani nejsou :-), je to z diktafonu, celá adresářová struktura také není třeba, soubory jsou v jedné složce, šlo mi o co nejjednodušší řešení, takové, kterému bych rozumněl a které by pochopil i uživatel, který příkaz bude provádět, pc, na kterém to má, nemám ve své správě.