ffmpeg, Vlc gibi programlarla stream yakalanırken Ctrl-C ile işlem kesildiğinde sonuç dosyasının bozulma ihtimali vardır.
Zira Ctrl-C ile süreç öldürülerek oluşan sonuç dosyasını daha sonra işlemek, formatını değiştirmek vs mümkün olmaya biliyor.
Bu sorunu aşmak için vlc’nin herhangi bir soketi dinleyip o soketten bilgi geldiginde kendini sonlandıracak olması özelliğini kullanabiliriz.
vlc $vlcstreamip --quiet --intf rc --rc-host localhost:8082 --rc-fake-tty --no-show-intf --verbose 0 --sout="#transcode{vcodec=h264,width=352,height=288,acodec=mpga,ab=192,scale=1,channel=2,deinterlace,audio-sync}:std{access=file,mux=ps,dst=\"$sonuc_dosyasi\"}" &
vlc’ye kapatma bilgisini göndermek için netcat kullanılabilir
echo quit | nc localhost 8082 &>/dev/null
cvlc kullanarak yakalamak için
[/bash]
cvlc “http://www.npr.org/streams/mp3/nprlive24.pls”
–sout file/mp3:NPR-test.mp3 –run-time=20 –stop-time=20 vlc://quit
Aynı mantığın ekran görüntüsünü sağlıklı bir şekilde yakalamak için de kullanılabileceği aşikardır.
Bir cevap yazın