cygwin에서 mplayer를 이용하여 EBS녹음하고 lame으로 mp3로 변환하며 cron으로 자동 녹음하기.

홍대흠의 이미지

여기 있는 여러 글들을 보고 아래와 같이 파일을 만들었습니다.

# SUCCEED VERSION 1
##{{{====================================
TIME="10"
#TIME="60m"
TITLE="MS"
DATE=`/bin/date +%Y-%m-%d-$TITLE`
URL1="mmst://219.240.37.11/L-FM_300k"

pwd#test for the situation when Absolute path don't exist
ABSOLUTE="/cygdrive/d/My-Document/RADIO-RECORD/EBS"
# 절대 경로를 정해 주시 않으면 cron이 실행되는 위치를 중심으로
# 녹음된 파일이 생성되는 위치가 달라진다.
# without absolute path, the location where recorded file is made
# changes.
MP3="./$DATE.mp3"
WAV="./$DATE.wav"

cd $ABSOLUTE
mplayer.exe $URL1 -ao pcm:file=$WAV &

sleep $TIME
kill %1
lame $WAV $MP3
rm -f $WAV

#개선점 : 요일 프로그램명 자동켜기 FIFO
#}}}====================================

주석에 있는 것처럼 절대 경로 변수를 사용하지 않으면 스크립트가 실행되는 위치를 기준으로
녹음된 파일이 저장되는 곳이 달라져서 녹음될 위치를 위와 같이 정해 주었습니다.

MP3나 WAV변수에 직접 절대 경로로 적어 주면 될 것 같지만, 그렇게 하면 mplayer에서 계속

녹음 파일을 open하지 못하더군요. ./ 처럼 상대 경로를 사용했을 때는
잘 작동하는데 이유는 잘 모르겠습니다.

그래서 계속 고민하다가 cd를 이용하여 이 문제를 피해갔습니다.

그리고

mkfifo.exe EBS-FIFO
lame.exe -q2 -b 128 EBS-FIFO $MP3 &
mplayer.exe $URL1 -ao pcm:file=EBS-FIFO &
와 같이

mkfifo를 이용해서 실시간으로 자료전환을 하여 메모리 사용공간을 줄이려고 했지만
EBS-FIFO 에 입력은 되는데 거기서 MP3파일로 전환이 안되더라구요.

그래서 하드 용량도 충분해서 일단 이문제도 포기하고
cron을 사용하여 예약 녹음을 해보려고 했습니다.

우선 cygwin의 setup.exe에서

cron을 설치했습니다.

그리고 cron-config라는 명령어를 rxvt창에서 실행켜서

Cron을 설치했습니다.

그래서 install을 할 때

yourself 또는 privileged account 어느 서비스를 할 거냐고 묻기에

"yourself"를 선택했습니다.

그리고 daemon을 ntsec와 실행시킬 것이냐는 질문에도 "yes"른 선택했습니다.

그리고 user 계정의 비번도 입력했습니다.

그리고 crontab.exe -e 명령어를 사용하여 다음과 같이

10 * * * * echo "This command is run at 10 min past every hour"
00 08 * * 1,2,3,4,5,6 /cygdrive/d/My-Document/RADIO-RECORD/recording-v1.sh
* * * * * echo "This command is run at 1 min past every hour

예약을 했습니다.

그러나 매분 마다 echo가 동작하지 않았습니다.

그래서 cron_diagnose.sh를 실행하니

chmod 1777 /var/cron을 해서

/var/cron 디렉토리의 권한을 바꾸라고 해서

바꾸려고 해 보았으나

아무리 해도 777로 변경이 안됩니다.

무엇이 문제일까요?

고수님들의 많은 의견 부탁드립니다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.