Windows OS 에서 ffmpeg 를 이용해 라이브 스트리밍을 저장하던 것을 raspbian 에서 실행하기 위해 ffmpeg 패키지를 검색해봤지만, 적당한 패키지가 검색되지 않는다.
( 관련 게시글 : http://blog.daum.net/to302/47 )
구글에 검색을 해봐도 ffmpeg 는 아직 raspbian 에서 패키지로 제공되지 않으니, libav-tools 패키지를 사용해보라는 답변만..
libav-tools 패키지를 설치하고 avconv 명령을 사용하면 ffmpeg 랑 동일한 기능을 제공한단다.
( 참고 : https://www.reddit.com/r/raspberry_pi/comments/48eo83/ffmpeg_for_raspbian_jessie/ )
libav 자체가 ffmpeg 에서 파생된 프로젝트니.. 뭐 비슷하겠지..
해서.. libav-tools 패키지를 설치해보기로 한다.
$ sudo aptitude install libav-tools
여기서 'Y' 를 살포시 타이핑 하면 관련 의존성 패키지들을 같이 좍좍 설치해간다.
의존성 패키지를 설치전에 미리 보려면,
$ aptitude show libav-tools
libav 관련 패키지들을 검색하려면,
$ aptitude search libav
설치를 마치고, avconv 명령어 확인해 보니, 옵션들이 ffmpeg 에서 본 것과 비슷하긴 하다.
$ avconv -h
그럼 이걸로 스트리밍 저장을 해볼까~?!!
테스트로 60초만 저장..
$ avconv -t 60 -i http://somedomain.kr/somepath/playlist.m3u8 myfile.mp3
흐흐.. 잘된다..
실행 중에 에러인듯한 메세지가 나오는데..
Continuity check failed for pid 0 expected 1 이렇게 시작하는 메세지..
찾아보니 그냥 무시해도 되는듯 하다.
(*참고 : https://squarepenguin.co.uk/forums/thread-503.html )
좀 더 편리하기 사용하기 위해서 쉘 스크립트를 만들어 놓자.
$ touch record_stream.sh
$ chmod a+x record_stream.sh
$ vi record_stream.sh
#!/bin/sh
dt=`date +%Y%m%d_%H%M`
/usr/bin/avconv -t 60 -i http://somedomain.kr/somepath/playlist.m3u8 /home/pi/Music/my_$dt.mp3
매시 0분에 cron 작업을 운영하기 위해 shell script 개선
(불필요한 시간엔 동작하지 않고, 저장은 1시간+1분 단위로)
2:00, 3:00, 4:00 엔 avconv 실행하지 않음
#!/bin/sh
h=`date +%H`
hour=`expr $h + 0`
if [ $hour -ge 2 -a $hour -le 4 ]
then
echo "calm $hour" # calm
else
#echo 'loud'
dt=`date +%Y%m%d_%H%M`
/usr/bin/avconv -t 3660 -i http://somedomain.kr/somepath/playlist.m3u8 /home/pi/Music/my_$dt.mp3
fi
'Bite Bits > Raspberry Pi' 카테고리의 다른 글
Raspbian JESSIE 에서 Samba 설치 (윈도우 네트워크 공유) (0) | 2017.08.10 |
---|---|
Raspbian JESSIE 에서 ftp client (filezilla) 설치 (0) | 2017.08.09 |
ibus 한글 입력 전환 오류 해결 (real vnc 접속) (0) | 2017.07.07 |
Raspbian 패키지 관리 툴 aptitude (0) | 2017.07.07 |
Raspbian Jessie + Python (2 or 3) + OpenCV 3 설치하기 (0) | 2017.07.07 |