Temat: Stream2AVI v0.1 - czyli jak zapisać transmisję strumieniową do AVI ;-)
Niedawno miałem potrzebę zapisania kilku transmisji strumieniowych do plików, po kilku minutach googlania znalazłem komendę generującą "zrzut" strumienia do pliku. Plik jednak był w formacie ASF i dość pokaźnych rozmiarów (kilkaset MB dla 35 minut). Poszukałem więc informacji na temat konwersji do AVI.
Cała operacja przebiegła prawidłowo i otrzymałem plik AVI o wielkości 100 MB o tej samej jakości co wejściowy.
Później doszedłem do wniosku, że warto by napisać skrypt automatyzujący czynność i zapobiegający zapomnieniu komend ;-).
Oto efekt pracy, skrypt Basha (wymaga obecności zainstalowanych programów mencoder i mplayer):
#!/bin/bash
# Stream2AVI v0.1
# (c) 2008 Emdek
# http://emdek.cba.pl
# Licence: GPL
if [ "$1" = "" -o "$2" = "" ]
then
echo "Podaj nazwe pliku docelowego (.avi) i adres strumienia!"
else
if [ -e "$1" ]
then
echo "Plik docelowy juz istnieje!"
else
mplayer -dumpstream $2 &> /dev/null
if [ $? = 0 ]
then
echo "Strumien pobrany pomyslnie."
mencoder stream.dump -ofps 23.976 -ovc lavc -oac copy -o $1 &> /dev/null
if [ $? = 0 ]
then
echo "Plik przekonwertowany pomyslnie."
rm stream.dump
else
echo "Konwersja do AVI nieudana!"
fi
else
echo "Pobieranie nieudane! Sprawdz poprawnosc adresu pliku."
fi
fi
fi
Wywołuje się go z parametrami będącymi nazwą pliku wyjściowego i adres strumienia, np.:
stream2avi.sh test.avi mms:/stream.com
Może komuś się przyda ;-).