EBS 녹음 스크립트

sjang의 이미지

12 sleep 31;
13
14 #오늘의 날짜를 구한다(YYYYMMDD)
15 my $today;
16 my $day;
17 my $month;
18 my $year;
19 my $dir_name;
20
21 ($day, $month, $year) = (localtime)[3, 4, 5];
22 $year += 1900;
23 $month += 1;
24 if ( $month < 10 )
25 {
26 $month = "0".$month;
27 }
28 if ( $day < 10 )
29 {
30 $day = "0".$day;
31 }
32 $today = $year.$month.$day;
33 $power_dir_name = $mycwd."power/"."power_".$year."_".$month;
34
35 my $power_name = "power"."_".$year."_".$month."_".$day.".mp2";
36 my $power_name_mp3 = "power"."_".$year."_".$month."_".$day.".mp3";
37 my $power_name_128bps_mp3 = "power"."_".$year."_".$month."_".$day."_128bps".".mp3";
38 my $power_tag_name = "P"."_".$year."_".$month."_".$day;
39
40
41
42
43 #mkfifo mp3filter;
44
45
46
47 #Japanese
48 #system "toolame -b 64 -a - $power_name < power_mp3filter 1> /dev/null 2>&1 &";
49 system "toolame -b 128 - $power_name < power_mp3filter 1> /dev/null 2>&1 &";
50 system "$mycwd/mplayer -ao pcm:file=power_mp3filter mmst://219.240.37.11/L-FM_300k 1> /dev/null 2>&1 &";
51 # 19m 40s
52 system "sleep 1182";
53 $kpid = `pidof mplayer`;
54 system "kill -9 $kpid";
55
56 #After 20s, because of CPU Power for other recording.
57 sleep 3620;
58
59 $power_filename = $power_name_mp3;
60
61 #mp2 -> mp3
62 system "$mycwd/lame --silent --tt $power_tag_name --ta EBS --ty $year --tc \"무단복제 및 배포를 금지함.\" $power _name $power_name_128bps_mp3";
63 system "$mycwd/lame -b 64 --silent --tt $power_tag_name --ta EBS --ty $year --tc \"무단복제 및 배포를 금지함.\" $power_name $power_name_mp3";
64 #sleep 300;

Forums: 
cheeky의 이미지

저도 만든 것이 있긴 하거든요.

TIME="20m"
DATE=`/bin/date +%Y%m%d`
URL1="mmst://219.240.37.11/L-FM_300k"
WAV="/home/ftp/en/easy/$DATE.wav"
MP3="/home/ftp/en/easy/$DATE.mp3"
 
# records stream into wav file during specified period and kills a process
/usr/bin/mplayer $URL1 -ao pcm:file=$WAV &
sleep $TIME
kill %1
 
# encodes wav into mp3
/usr/bin/toolame -b 32 $WAV $MP3
 
# removes wav
/bin/rm -f $WAV

그런데 단점이 wav 파일을 만들고 나서 1시간 짜리 분량의 경우 정말 몇 백 메가 됩니다. 그리고나서 다시 압축을 하는데요. 그러면 파일이 확 줄어들기는 하는데 다운로드와 동시에 mp3 인코딩을 하는 방법을 정확히 어떻게 하는 지 모르겠더군요. mkfifo를 쓰면 된다고 글을 보기는 했어서 시도해봤는데 뜻대로 잘 되진 않더라구요. 제 쉘 스크립트에서 mplayer와 toolame을 가지고 mp3 실시간 인코딩을 하는 트릭이 없을런지요? 그럼 ^^

ps. 바뀐 디자인에 처음으로 글 쓰는데 역시 어색합니다;;

http://tinydesk.com

--------------------------------------------
http://blog.tinydesk.com

sjang의 이미지

제 소스는 mkfifo를 이용하여 파이프를 만들고 이것을 통해 스트림을 toolame으로 실시간 인코딩하고 있습니다.

The Future !!!

kilhan의 이미지

수고 많으십니다.
좋은 스크립트 입니다.
그런데 아래와 같이 내용이 짤려 있네요?

필요없어서 일부러 공개하지 않으신 건가요?
아님 해당 게시판의 버그 인가요?

EBS 녹음 스크립트
sjang 씀 (월, 2006/03/06 - 10:25am) 강좌
12 sleep

happibum의 이미지

mkfifo를 쓰는 부분이 12번째 라인 이전에 있나요? -_-;
그리고 보니까 원하는 프로그램이 방송되는 부분만 녹음하려고 처음에 sleep 31하고, duration도 1182로 하신것같은데요, EBS 방송 스트림 지연시간이 30초 정도 되는 것도 있고, 1분 30초 정도 되는 것도 있는데, 운없으면 한 1분정도 짤리겠는데요.. 이거 해결하고 정확하게 프로그램만 녹음할수 있으면 정말 좋을텐데요..

sjang의 이미지


같은 소스로 대여섯개의 방송을 녹음하고 있는데요.
시작부분에 잘 맞게 녹음되고 있습니다.

몇초정도 차이가 나는데, 처음은 모두 시작음악이기때문에
별로 상관없더군요.

The Future !!!

zzaratra의 이미지

위에분 소스를 가지고 한겁니다.

#!/bin/sh
 
TIME="20m"
DATE=`/bin/date +%Y%m%d`
URL1="mmst://219.240.37.11/L-FM_300k"
MP3="./$DATE.mp3"
mkfifo ebsfifo
# records stream into wav file during specified period and kills a process
lame -q2 -b 128 ebsfifo $MP3 &
mplayer $URL1 -ao pcm:file=ebsfifo &
sleep $TIME
kill %1

이상은 Valkyrie

mms://211.106.66.141/live4/kbs/psong182_m.asf
HAPPy !!

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.