Skrypt mkvmerge m2ts do mkv

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

Skrypt mkvmerge m2ts do mkv

Post autor: szlejk » 13 września 2018, 17:56

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: 2624
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: mkvmerge m2ts do mkv skrypt

Post autor: dedito » 13 września 2018, 18:25

Zamiast pętli skorzystałbym z find z opcją -execdir.

Awatar użytkownika
szlejk
Posty: 96
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Re: mkvmerge m2ts do mkv skrypt

Post autor: szlejk » 13 września 2018, 18:45

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: 2624
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: mkvmerge m2ts do mkv skrypt

Post autor: dedito » 13 września 2018, 18:51

No nie bardzo, przede wszystkim dlatego, że operuje na jednym znalezionym pliku, ale jakaś baza to może być.

Awatar użytkownika
szlejk
Posty: 96
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Re: mkvmerge m2ts do mkv skrypt

Post autor: szlejk » 13 września 2018, 19:13

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: 2624
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: mkvmerge m2ts do mkv skrypt

Post autor: dedito » 13 września 2018, 19:28

Do polecenia dodałbym ścieżki jakie ma przeszukiwać.
Rozumiem, że kategoria dyskusji ma być na poziomie żłobka?

Awatar użytkownika
szlejk
Posty: 96
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Re: mkvmerge m2ts do mkv skrypt

Post autor: szlejk » 13 września 2018, 19:30

Oj obawiam się że bardziej na poziomie poczęcia :)

Awatar użytkownika
dedito
Moderator
Posty: 2624
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: mkvmerge m2ts do mkv skrypt

Post autor: dedito » 13 września 2018, 19:31

To pytanie brzmi, czego oczekujesz, edukacji czy gotowca?

Awatar użytkownika
szlejk
Posty: 96
Rejestracja: 23 marca 2011, 22:48
Lokalizacja: Warszawa

Re: mkvmerge m2ts do mkv skrypt

Post autor: szlejk » 13 września 2018, 19:33

Jeśli tylko będzie możliwa taka opcja to edukacji :)

Awatar użytkownika
dedito
Moderator
Posty: 2624
Rejestracja: 18 listopada 2013, 21:07
Lokalizacja: Gliwice

Re: mkvmerge m2ts do mkv skrypt

Post autor: dedito » 13 września 2018, 19:37

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