Skrypt mkvmerge m2ts do mkv

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
szlejk
Beginner
Posty: 100
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Skrypt mkvmerge m2ts do mkv

Post autor: szlejk »

Witam,
proszę o pomoc w rozbudowaniu skryptu. Skrypt miał by za zadanie przeszukać dysk (dyski) pod względem plików m2ts i przeprogramować na plik mkv z wybraną ścieżką dzwiękową.

Kod: Zaznacz cały

#!/bin/bash
for file in *.mts; do mkvmerge $file -o $file.mkv;done
Pozdrawiam i dziękuję
Awatar użytkownika
dedito
Moderator
Posty: 3560
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: mkvmerge m2ts do mkv skrypt

Post autor: dedito »

Zamiast pętli skorzystałbym z find z opcją -execdir.
Awatar użytkownika
szlejk
Beginner
Posty: 100
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Re: mkvmerge m2ts do mkv skrypt

Post autor: szlejk »

dziękuje za odpowiedź, ale w między czasie natrafiłem na gotowy skrypt który pewnie będzie spełniał moje oczekiwania.
Proszę o potwierdzenie.

Kod: Zaznacz cały

#!/bin/bash
BDMV_FOLD=`find "$1" -name "BDMV" -print0`

if [[ $BDMV_FOLD == *BDMV* ]]; then
   # cd to the ./BDMV/STREAM sub folder
   cd "$BDMV_FOLD/STREAM/"
   # Find the biggest .M2TS file, usually the movie
   BIGST_M2TS=`find . -type f | xargs ls -1S | head -n 1 | rev | cut -c 6- | rev`
   # MkvMerge the file
   mkvmerge -o "$BIGST_M2TS".mkv --compression -1:none "$BIGST_M2TS".m2ts
   # Change MKV permission to -rw-r--r-- and move file out of STREAM folder
  chmod 644 "$BIGST_M2TS".mkv
  mv "$BIGST_M2TS".mkv "$1"
  echo "MKV created! ("$1")"
else
  echo "BDMV2Mkv: no processing"
fi
Awatar użytkownika
dedito
Moderator
Posty: 3560
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: mkvmerge m2ts do mkv skrypt

Post autor: dedito »

No nie bardzo, przede wszystkim dlatego, że operuje na jednym znalezionym pliku, ale jakaś baza to może być.
Awatar użytkownika
szlejk
Beginner
Posty: 100
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Re: mkvmerge m2ts do mkv skrypt

Post autor: szlejk »

Rozumiem, wiec wracamy do pierwszego założenia. Jak użyć find do znalezienia plików m2ts czy coś w tym rodzaju?

Kod: Zaznacz cały

#!/bin/bash
find /-type f -regex 
Awatar użytkownika
dedito
Moderator
Posty: 3560
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: mkvmerge m2ts do mkv skrypt

Post autor: dedito »

Do polecenia dodałbym ścieżki jakie ma przeszukiwać.
Rozumiem, że kategoria dyskusji ma być na poziomie żłobka?
Awatar użytkownika
szlejk
Beginner
Posty: 100
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Re: mkvmerge m2ts do mkv skrypt

Post autor: szlejk »

Oj obawiam się że bardziej na poziomie poczęcia :)
Awatar użytkownika
dedito
Moderator
Posty: 3560
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: mkvmerge m2ts do mkv skrypt

Post autor: dedito »

To pytanie brzmi, czego oczekujesz, edukacji czy gotowca?
Awatar użytkownika
szlejk
Beginner
Posty: 100
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Re: mkvmerge m2ts do mkv skrypt

Post autor: szlejk »

Jeśli tylko będzie możliwa taka opcja to edukacji :)
Awatar użytkownika
dedito
Moderator
Posty: 3560
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: mkvmerge m2ts do mkv skrypt

Post autor: dedito »

Jeśli jesteś na poziomie poczęcia, to edukacja będzie dosyć długa.
Mogę Ci wrzucać przykłady stosowania komend, mogę Ci wskazać jak samodzielnie szukać rozwiązań.
Więc pierwsze co to poszukałbym przykładów użycia polecenia find do znajdywania plików w określonych lokalizacjach.
Ale po pierwsze primo to określiłbym jakiś algorytm działania skryptu.
ODPOWIEDZ