[진행중] EBS 방송 녹음을 어떻게 할까요?

434
points
points
리눅스에서 매일 방송을 녹음 청취하고 있었는데,
오늘자 방송들이 녹음이 안 되어있습니다.
그래서 확인해보니 예전의 그 주소에서 stream을 찾을 수 없다는 오류가 생기는 거였습니다.
EBS 홈페이지를 들어가보았더니 개편이 되었는지 모양도 달라진데다가,
실시간 방송하는 곳을 들어가보니,
http://www.ebsi.co.kr/ebs/jsp/apz/etc/etcOnAirPlayer.jsp?onair_ch=RADIO
이런식으로 방식이 바뀌었습니다.
그리고, iexplorer로 접속해보니 activex를 설치해야 볼 수 있다고 나오는군요.
어떻게하면 주소를 알아내어 mplayer로 녹음할 수가 있을까요?
P.S. 상황이 달라질 때마다 답글에 업데이트 중입니다.

points
정말 방법은
정말 방법은 없는걸까요???
ㅠㅠ
듣고 싶어요..
points
mmst://219.240.37.11/L-FM_300
mmst://219.240.37.11/L-FM_300k
현재 제 컴퓨터(CentOS)에서는 녹음이 잘 되고 있습니다.
도움이 되었으면 좋겠네요.
Astronomy+Linux
points
예전에 그 주소를 썼습니다만,
예전에 쭉 그 주소를 사용해왔습니다만,
지금은
> mplayer mmst://219.240.37.11/L-FM_300k
라고 수행시키면 한참 다른 말들이 나오다가,
Playing mmst://219.240.37.11/L-FM_300k.
STREAM_ASF, URL: mmst://219.240.37.11/L-FM_300k
Resolving 219.240.37.11 for AF_INET6...
Couldn't resolve name for AF_INET6: 219.240.37.11
Connecting to server 219.240.37.11[219.240.37.11]: 1755...
Connected
read error:: Operation now in progress
pre-header read failed
Failed, exiting.
Resolving 219.240.37.11 for AF_INET6...
Couldn't resolve name for AF_INET6: 219.240.37.11
Connecting to server 219.240.37.11[219.240.37.11]: 80...
Server returned 404: Object Not Found
No stream found to handle url mmst://219.240.37.11/L-FM_300k
Exiting... (End of file)
이런 식의 오류를 내며 종료되어 버립니다.
저는 Fedora 쓰고 있습니다.
지난 주 목요일부터 그렇습니다.
리눅스뿐만 아니라, 윈도우즈에서도 다양한 프로그램들로 mms://~~~ 주소를 입력해보아도 모두 파일이 없다고 나오는 상황입니다.
답글 달아주신 분은 플레이어 실행시 어떤 로그들이 나오는지 혹시 알려주실 수 있으신가요?
points
저도 그 mms로
저도 그 mms로 녹음해서 듣고 있었는데요;; 지난주 부터 안되네요
쩝 ebs 가 개편을 하더니 mms 라디오 방송서비스가 변경하려나봐요
그래서 방법을 바꿨습니다. 라디오를 하나 준비해서 오디오 라인인으로 놓고
/usr/bin/arecord -d ${time} -f cd -t raw | /usr/local/bin/lame -x -v -B 48 - ${program}_${today}.mp3
라디오 선정이 문제인데, 가격을 보니까 그냥 mp3를 사는게 좋겠네요.
http://search.naver.com/search.naver?sm=tab_hty&where=nexearch&query=cam...
내장 건전지, 충전 중 라디오 재생이 되어서, 하나 달아놓고 crontab 약간 수정해서 다시 돌리고 있습니다.
울랄라~ 호기심 천국~!!
http://www.ezdoum.com
points
헉...죄송합니다. 요
헉...죄송합니다.
요며칠 녹음을 안 들었는데, mp3 파일크기를 보고, 제대로 녹음이 되는줄 알았네요. T.T;;;
님의 말씀처럼, 그 주소로 더 이상 안되네요. T.T;;;
저 때문에 혼란스러우셨다면, 용서를...
다시 한 번 죄송하다는 말씀드립니다. 꾸벅~
Astronomy+Linux
points
방송 데이타 스트림
방송 데이타 스트림 자체는 LAME 3.97 (beta) 로 인코딩된 mp3 인 것 같으니...
최초에 접속과정만 통과하면 디코딩 문제는 어떻게든 될 것 같습니다.
한 20분간 패킷을 요모조모 따져봤는데, 접속과정은 의외로 단조롭군요.
쓸데없는 삽질을 하는 것 처럼 보이는 것도 있고...
... 본 김에 한번 해봤습니다. 쓸데없는 삽질을 하는 것 처럼 보이는 부분을 제외해도 잘 되네요.
단조로운데도 불구하고... 한 단계씩 살을 붙이며 나가다 보니 코드가 개판이 됐습니다.
누구한테 보이기 민망한 코드지만,
첨부로 붙이니 필요하신 분은 제대로 만들어서 활용해보세요.
OTL
points
중간중간 0x0f 0x0f 0x0f
중간중간 0x0f 0x0f 0x0f 0x0f 로 시작하는 32byte 의 무언가를 제거해야만
깨끗한 음질로 들을 수 있는 mp3 파일이 되는군요.
[bushi@rose ebs]$ ./ebs 2>/dev/null > a.bin^C
[bushi@rose ebs]$ file a.bin
a.bin: MPEG ADTS, layer III, v2, 64 kBits, 24 kHz, JntStereo
[bushi@rose ebs]$
[bushi@rose ebs]$ hexdump -e '"%04.4_ax| " 192/1 "%02x " "\n"' a.bin | cut -c -80 | head -10
0000| ff f3 84 64 ff 12 66 0b 50 2a 3c 66 cc 80 00 03 48 00 00 00 00 20 60 9b e1
00c0| ff f3 84 64 ff 10 e9 e5 50 2f 3d 23 4e 80 00 03 48 00 00 00 00 33 3c be 15
0180| ff f3 84 64 ff 10 81 bf 4c 0b 3d 23 56 80 00 03 48 00 00 00 00 65 90 63 08
0240| ff f3 84 64 ff 15 e9 d1 3a 00 ac ac 00 80 00 03 48 01 40 00 00 c7 dd 7d 3b
0300| ff f3 84 64 fa 1a 22 17 46 0a cc 3c 00 00 00 03 48 01 80 00 00 d7 39 84 d4
03c0| ff f3 84 64 d4 19 29 df 7f 2f c4 3c 01 00 00 03 48 01 80 00 00 a1 38 e0 08
0480| ff f3 84 64 b5 12 84 e5 5a 01 ed 3c 00 00 00 03 48 01 c0 00 00 05 75 3b 97
0540| ff f3 84 64 cb 17 16 09 50 01 65 88 d2 80 00 03 48 00 00 00 00 c9 62 c3 88
0600| ff f3 84 64 bd 13 de 05 54 01 69 e7 6c 80 00 03 48 00 00 00 00 cd ef 7d e6
06c0| ff f3 84 64 c9 10 89 f3 5a 03 61 e5 5e 80 00 03 48 00 00 00 00 2b 7e 3f 7f
[bushi@rose ebs]$
[bushi@rose ebs]$ hexdump -e '"%04.4_ax| " 192/1 "%02x " "\n"' a.bin | cut -c -80 | tail -10
6900| ff f3 84 64 ff 14 7a 03 4e 27 64 c3 9c 80 00 03 48 00 00 00 00 3c 1e 06 76
69c0| ff f3 84 64 ff 15 72 09 44 01 61 86 3e 00 00 03 48 00 00 00 00 8d 91 1f f9
6a80| ff f3 84 64 fe 13 c6 0b 52 0a 3d 86 04 80 00 03 48 00 00 00 00 c4 51 45 05
6b40| ff f3 84 64 ff 15 3c f9 54 01 61 e9 68 80 00 03 48 00 00 00 00 22 0a dc e5
6c00| ff f3 84 64 ff 15 5c f9 54 02 61 ec a4 00 00 03 48 00 00 00 00 e1 b3 d2 34
6cc0| ff f3 84 64 ff 16 19 69 52 52 65 85 c4 00 00 03 48 00 00 00 00 01 91 24 d0
6d80| ff f3 84 64 f9 14 91 65 52 02 61 85 a8 00 00 03 48 00 00 00 00 a5 04 94 a6
6e40| ff f3 84 64 ff 14 19 6b 50 01 61 22 a8 00 00 03 48 00 00 00 00 bf bb 19 44
6f00| ff f3 84 64 ff 16 7d e3 4c 01 61 86 78 80 00 03 48 00 00 00 00 a3 cf 4d d8
6fc0| ff f3 84 64 f6 14 95 b3 48 01 65 85 8e 80 00 03 48 00 00 00 00 be 8f 41 1e
[bushi@rose ebs]$
stdout 으로 출력해서 mplayer 나 mpg321 의 stdin 으로 집어넣어보려고 했는데 잘 안됩니다.
파일로 기록해서 연주시켜보는 것으로 만족.
OTL
points
너무 훌륭합니다.
정말로 대단하십니다.
코드는 이해 할 수 없지만 사용하는데,
무리는 없겠네요.
자동으로 저장까지 할 수 있겠군요.
하하하
그런데, 제 컴에서 녹음을 하면 규칙적으로 음이 변형이 되는데,
저만 그러는 건지 알고 싶군요.
points
EBS 에서
EBS 에서 데이타포트로 보내는 방송패킷에 포함된 자체 헤더 때문인데...
덩어리로 구분되는 기준을 알 수 없어서 EBS 자체헤더까지 통째로 저장한 덕분에 음이 튀었습니다.
조낸 들여다 본 끝에,
간신이 덩어리의 크기를 나타내는 부분을 찾아서 EBS 자체헤더를 빼고 mp3 프레임들만 저장하니
음이 튀지 않더군요.
OTL
points
최고
최고 이시네요.
와...멋져요
전 그냥 패킷만 잠깐 보고 포기했었는데..
대단하십니다...
감사드려요..
points
Linux Desktop 사용자를 위한 예약용도로 다시 정리했습니다.
Linux Desktop 사용자를 위한 예약용도로 다시 정리했습니다.
첨부된 파일을 다운로드 한후에 아래와 같이 셋팅하시면 됩니다.
(소스 컴파일하는 것도 사용자에게는 별 의미가 없을것 같아 모든 리눅스 배포판에서
문제없이 실행되도록 Static으로 실행가능한 ebs 파일 같이 첨부합니다. )
winxp 사용자는 alsong(알송) 프로그램을 이용하시면되고,
저같이 Linux 사용자는 mplayer을 이용하여 mp3파일을 플레이 하시면 됩니다.
P.S: 미지리눅스회사의 부시분에게 감사의 장미를 던집니다. ^^
Fedora6#> vi /etc/crontab
39 07 * * 1-6 root /opt/EBS/ebs.sh
Fedora6#> ls /opt/EBS
ebs.sh ( script file for crontab )
ebs (static executable elf format file)
ebs.c ( This file is consist of c-source and c-header )
Fedora6#> chmod 755 /opt/EBS/ebs.sh
Fedora6#> chmod 755 /opt/EBS/ebs
Fedora6#> ls /opt/EBS/
Play ***.mp3 and then listen to toeic lecture.
( ***.mp3 is located in /opt/EBS/ directory )
end of line.
points
잘듣겠습니다.
PowerEnglish를 들으시나 보군요..ㅎㅎ
points
다들
다들 대단하시네요..lol
VLC로 녹음중이였는데, 올려주신 것을 이용하면 변환 자체가 필요가 없는듯 하네요...
주소 자체는 rtsp://211.218.209.124:8080/L-FM_300k 로 들으시면 됩니다만...
rtsp 가 이상한건지? mplayer에서는 재생이 되지 않습니다..
wms를 이용하는 것 같은데, 헤더가 약간 다른듯?, VLC로 들으시면 됩니다...
points
"Live Media" 라이브러리를 mplayer에 포함시키시면 됩니다.
VLC에서는 rtsp://211.218.209.124:8080/L-FM_300k Play가 정상적으로 잘되는데,
Mplayer에서 제대로 안되는 이유는 M$의 rtsp 프로토콜을 플레이하기 위해서 필요한
"Live Media" 라이브러리(RTP ASF demuxing 기능 지원)가 존재하지 않아서 입니다.
이 "Live Media" 라이브러리가 mplayer에 포함되어 있지 않은 경우 mpalyer 플레이시에
RTP payload format unknown or not supported 에러 메세지를 볼수 있게 됩니다.
따라서, VLC에서처럼 Mplayer을 이용하여 rtsp://211.218.209.124:8080/L-FM_300k 을 정상적으로
플레이하려면, http://www.live555.com/mplayer/ 주소에서 "Live Media(live555)" 라이브러리를
이용하여 mplayer소스를 재설치하여 이용하시면 됩니다.
제 경우에는 vlc가 아닌 mplayer으로 rtsp의 플레이를 할경우에는
이 방법으로 Fedora (필자는 Fedoar Core 6 and Fedora 9만 주로 사용함.) 리눅스 배포판에서 사용합니다.
Fedora6#> mplayer -v -rtsp-stream-over-tcp rtsp://211.218.209.124:8080/L-FM_300k
Fedora6#> mplayer rtsp://211.218.209.124:8080/L-FM_300k
p.s: 유럽쪽 리눅스 매니아들은 Streamming 쪽은 VLC을 상당히 애용하더군요.
points
감사.. ^^ 라디오 들을때는
오.......... 감사 합니다.
일할때 ebs 라디오 자주 듣는데..
혹시 위 프로그램로 저 처럼 그냥 듣기만을 위한 분들을 위해서.
이상은 Valkyrie
http://aladdin.co.kr/shop/wproduct.aspx?ISBN=8995710160&kw=00001A
mms://211.106.66.141/live4/kbs/psong182_m.asf
HAPPy !!
points
밥먹고 와서
밥먹고 와서 필요한거 몇줄 추가해봤습니다. 테스트해보니 그냥저냥 잘 돌아가는것 같습니다..
stdout만 파일 스트림으로 변경했고, 시간은 그냥 time함수 써서 비교하는 식으로 했습니다만.
별 문제 없겠죠?-_-
소스봐도 잘 모르겠네요..프로그래밍이야 대학때 잠시 해본게 전부라..
소스는 leemgs 님이 헤더랑 합쳐주신걸 썻습니다..
~$ebs 파일 시간
다시한번 bushi님께 감사드리면서....귀트영 짱..
points
답변 달아주신 분들 모두 감사합니다.
정리해주신 스크립트 수정해서 적용하였더니 성공적으로 작동하고 있습니다.
3일 넘게 답이 하나도 없길래 안되는 건가 하고,
EBS에 건의사항 보내고 ('관련부서에 전달했으나, 언제 시행될지 모른다'는 답변이 오더군요) 있었더니,
이래저래 해결책을 찾아보고 계셨군요!
감사합니다. ^^;
points
잘 되네요.
덕분에 잘 사용하고 있습니다.
감사합니다.
points
감사합니다.
정말 잘 되네요..
감사합니다.
잘 사용할께요.
points
덕분에 잘
덕분에 잘 사용하겠습니다.
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
points
이상하게 ebs.c가 오늘부터 작동이 되지 않는듯 합니다.
이렇게 메시지를 내고는 멈춰버리네요
Let's be a realist, howe-ver, keep impossible dr-eam in our mind.
-Che Guevara-
And only the mistakes have been mine
-Malcolm X-
내게로 떠나는 여행~
points
나름 revision 이
나름 revision 이 올라갔나봅니다.
전에 하던 뻘짓도 없어졌고, 착실하게 할 일만 하는군요.
소스(원본에선 ebs.h)의 PACKET_R 정의 부분에서 한 바이트만 바꾸면됩니다.
원래는 0x48 이었는데, 0x49 로 바뀌었군요.
첨부 그림에서 빨간 동그라미 쳐진 부분입니다.
OTL
points
감사합니다
내일 아침부터는 잘 되겠네요.
감사합니다.
points
바로바로 고쳐주시니
바로바로 고쳐주시니 넘 좋습니다.^_^
points
감사합니다.
덕분에 잘 사용하고 있습니다.
어제부터 잘 안되서 패킷로그 잡아서 변경사항을 확인해볼려고 했는데,
회사일이 바빠서 미루다가 이 페이지에 다시 와보니, patch가 이미 있군요 ^^
테스트 해보니 잘 되네요. 감사히 잘 사용하겠습니다.
points
변명같지만... 회사일
변명같지만...
회사일이 안 바빠서 패킷을 들여다 본것은 아니고...
뭐가 바뀌었나 궁금해서 참을 수가 없어 들여다봤고,
전에 찜찜했던 부분을 먼저 들여다본다는 계획이 잘 들어맞았던 덕분에 금방 찾을 수 있었습니다.
처음엔 mp3 헤더(0xff 로 시작하는)을 못 찾는 것인 줄 알았습니다.
제대로 파싱하지 않고 하드코딩했기 때문에 찜찜했었거든요.
시험해보니 데이타를 아예 받지 못하더군요.
접속절차 자체는 정상이었습니다.
5056 포트로 왔다갔다 하는 것 자체는 별 이상이 없는데
5057 포트로 data request(라고 짐작되는) 패킷을 날린 이후에
5057 포트 소켓을 서버에서 닫아버리고 있더군요.
request 패킷이 뭔가 틀려졌나 싶어서 그것만 들여다봤습니다.
이전엔 request 패킷을 만들어낼 때 조작하는 바이트가 연속된 3개였습니다.
그 주위를 봤더니 바로 뒤의 바이트하나가 바뀌어있더군요.
예전엔 변하지 않던 바이트였습니다.
세션과는 상관없이 항상 0x48로 고정되어 있던 바이트였고,
바뀐 지금에도 계속 0x49 로 고정되어 있습니다.
오히려 전엔 계속 바뀌던 세번째 바이트가 지금은 0x02 고정으로 바뀐 것 같고요.
아무튼 한번의 삽질로 수정할 부분을 찾을 수 있었고,
서너번의 시험으로 크게 이상이 없다는 것을 확인할 수 있었습니다.
덕분에 금방 댓글 달 수 있었고요.
삽질환경은...
리눅스의 eth0 에 bridge 된 tap0 를 만들고, virtualbox 로 돌아가는 windows xp 에서
IE 로 교육방송 라디오에 접근할 때의 패킷들을 커널의 ip_queue.ko 모듈로 캡쳐해서
netfilter/libipq 를 사용한 간단한 프로그램으로 텍스트 형태의 파일로 저장한 다음
kompare 를 사용해서 diff 를 시각적으로 좀 편하게 보는 정도가 고작입니다.
iptables 에서 교육방송 서버, 라디오 방송 포트만 지정해서 QUEUE 로 jump 를 시켰기에
평소에도 그냥 저대로 놓고 리눅스를 사용하므로,
테스트 환경을 다시 만들거나 검증하는 데 걸리는 시간이 크게 들지 않습니다.
virtualbox 로 windows 부팅하고 IE 실행시켜서 EBS 홈페이지에 접속하는 시간이 고작이죠.
아무튼!
일 할 시간에 엄한 짓을 했다건가,
할 일이 없어서 노느라 엄한 짓을 한 것은 아닙니다 !
EBS가... 그래도 나름대로 생각해서 방송을 개방했는데도
리눅스에서... 어쩌구... 하는게 눈에 거슬렸기에 시작했던것이고,
시험삼아 만든 코드가 터무니없게 절차지향적이라
따져보는데 그렇게 시간이 많이 걸리거나 하는 것이 아니었을 뿐입니다.
다니던 회사가 망해서 다른 회사로 합병됐는데... 죄책감 들게 하지 마세요 OTL
OTL
points
에구 감사의 댓글이었는데, 맘 상하셨다면, 죄송합니다. ^^
만드신 코드와 ethereal로 잡은 패킷을 비교해보니, 대략 어떻게 진행되는진는 파악했는데,
뭔가가 변경된건지, 저도 궁금해서 ethereal로 잡아 놓은 패킷을 beyond compare로 비교해보다가
현재 진행중인 프로젝트의 급한 이슈때문에 길게 시간을 내지 못했었습니다.
bushi님이 일할시간에 엄한짓 하신거라곤 생각하진 않네요. 이런 삽질(?)을 하면서 나름 배우고
아이디어를 얻는 경우도 많구요.
다행이 빨리 찾아 주셔서 저같은 사람이 ebs 라디오를 녹음해서 듣는 행복을 다시 찾게 되었네요.
다시 한번 감사의 말을 드리고 싶네요 ^^
points
저도 감사드립니다. ^^
다시 수정된 코드로 잘 듣고 있습니다.
Let's be a realist, howe-ver, keep impossible dr-eam in our mind.
-Che Guevara-
And only the mistakes have been mine
-Malcolm X-
내게로 떠나는 여행~
points
감사합니다.
감사 말씀 드릴려구 일부로 로그인했네요.
몇번 도움을 받았는데 이제야 인사드리네요..
감사합니다.
points
삽질환경은...리눅스
삽질환경은...리눅스의 eth0 에 bridge 된 tap0 를 만들고, virtualbox 로 돌아가는 windows xp 에서
IE 로 교육방송 라디오에 접근할 때의 패킷들을 커널의 ip_queue.ko 모듈로 캡쳐해서
netfilter/libipq 를 사용한 간단한 프로그램으로 텍스트 형태의 파일로 저장한 다음
kompare 를 사용해서 diff 를 시각적으로 좀 편하게 보는 정도가 고작입니다.
iptables 에서 교육방송 서버, 라디오 방송 포트만 지정해서 QUEUE 로 jump 를 시켰기에
평소에도 그냥 저대로 놓고 리눅스를 사용하므로,
테스트 환경을 다시 만들거나 검증하는 데 걸리는 시간이 크게 들지 않습니다.
virtualbox 로 windows 부팅하고 IE 실행시켜서 EBS 홈페이지에 접속하는 시간이 고작이죠.
혹시 시간이 되시면 쬐끔만 더 자세하게 써 주실수 있으세요?
궁금하고, 신기해서 그렀습니다.....리눅스 멋지게 쓰시는 분들의 사용기처럼 볼수있나
해서요
points
구버전(아마도 2.0대?)
구버전(아마도 2.0대?) virtualbox 를 사용하던 시절에 쓰던 방법입니다.
tap0 을 사용한 것은... windows guest 로 부팅해서 사내 내트웍에 편하게 붙으려 한 목적이었고,
방법자체는 '강좌' 포럼 어디엔가 적어뒀지만 최근 virtualbox 에는 해당되지 않습니다.
최근 virtualbox 에서는 설정메뉴 선택만으로 host bridge 를 편하게 사용할 수 있습니다.
libipq 는 iptables-devel(혹은 iptables-dev)를 설치하면 개발에 필요한 것은 완비되고,
대강 두드려 만들어 사용한 소스는 http://kldp.org/node/95974 댓글의 첨부파일과 대동소이합니다.
누군가 화두를 던질때마다 나름 이것저것 두드려보는 버릇이 있는데,
마침 이 조각들을 조합하면 이것도 풀어볼 수 있겠다 싶어서 시작하게 됐네요.
특히 EBS 교육방송이라 더욱 땡기기도 했고, 부담도 없었습니다.
OTL
points
그래서 결국 vlc를 이용하려고 했는데....
다른 방법으로 해 보려고 위의 leemgs님께서 언급하신 mplayer에 Live555패치를 작 적용하지 못해서인지 빌드후 재생해도 코덱을 찾지못하기에 그래서 vlc로 방향을 선회했습니다.
아래처럼 옵션을 적당히 주고 저장을 했습니다만.
vlc -I dummy rtsp://211.218.209.124:8080/L-FM_300k --sout "#transcode{acodec=mp3,ab=64,samplerate=24000}:standard{mux=raw,dst=test.mp3,access=file}:sout-transcode-soverlay=0"이상하게 제가 사용하는 KT네트웍의 Mac OS X VLC 0.8.6d 에서는 문제가 없는데 centos5를 사용하는 다른 네트웍의 vlc 0.8.6h -1.el5.rf 에서는
overflow in spectral RLE, ignoring이라는 에러를 보이면서 녹음이 되는데 문제는 결과파일이 들을 수 없을 정도로 주기적 끊어짐이 심하다는 것입니다.윈도우에서 실행하면
Compiler did not align stack variables. Libavcodec has been miscompiled
and may be very slow or crash. This is not a bug in libavcodec,
but in the compiler. Do not report crashes to FFmpeg developers.
이런 말이 나오고 구글링에서도 FFMpeg문제로 나오는듯 한데 해결책이 나와야 할 듯 합니다.
다른 분들은 문제 없으신가요? ㅠ_ㅠ
Let's be a realist, howe-ver, keep impossible dr-eam in our mind.
-Che Guevara-
And only the mistakes have been mine
-Malcolm X-
내게로 떠나는 여행~
points
먼지는 몰라도
멋있네요 -_-b
points
고맙습니다.
잘 쓰겠습니다.
혹시 c 파일 컴파일할 때 특별한 옵션이 있나요?
points
powerpc 에서
powerpc 에서 컴파일하여 사용해보니 2,3초에 한번씩 “삑삑” 잡음이 들리는지라 정상적으로 사용하기가 곤란합니다.
화면에 뿌려지는 mplayer 메시지는 이렇습니다. 원인이 무엇일까요? 저는 i386 기계도 가지고 있는데 여기서는 문제 없습니다.
points
FIXME 들 중의 하나인
FIXME 들 중의 하나인 endian 문제입니다.
1.ebs_header_s 라는 구조체를 날로 사용하는 것,
2. 멤버 변수중의 하나인 this_len 을 날로 사용하는 것.
조잡하게 수정한 것을 첨부로 붙이겠습니다.
ebs.h는 옛날 것 그대로 쓰시면 됩니다.
OTL
points
빠른 답변,
빠른 답변, 감사합니다. 문제없이 잘 됩니다.
다만 맥 오에스 텐 타이거에서는 컴파일이 안 되는지라 다음처럼 수정하여 사용하고 있습니다. 제대로 고친 것인지는 제가 프로그래밍에 문외한인지라 알지 못합니다.
--- ebs_endianfree.c.txt 2008-09-30 23:08:54.000000000 +0900 +++ ebs_endianfree.c 2008-09-30 23:35:38.000000000 +0900 @@ -19,8 +19,13 @@ #include <netinet/ip.h> #include <arpa/inet.h> +#ifdef __MACH__ +#include <machine/endian.h> +#include <libkern/OSByteOrder.h> +#else #include <endian.h> #include <asm/byteorder.h> +#endif /* __MACH__ */ #include "ebs.h" @@ -157,7 +162,11 @@ static int recv_mp3_data(struct ebs_sock *sock, struct ebs_header_s *ebshdr) { +#ifdef __MACH__ + int left = OSSwapLittleToHostInt16(ebshdr->this_len); +#else int left = __le16_to_cpu(ebshdr->this_len); +#endif /* __MACH__ */ int ret; unsigned char *mp3buf = sock->cxt->buf; while (left) { @@ -184,7 +193,11 @@ static const unsigned char mp3_magic[4] = { 0xff, 0xf3, 0x84, 0x64}; int scan_and_recv_mp3_data(struct ebs_sock *sock, struct ebs_header_s *ebshdr) { +#ifdef __MACH__ + int left = OSSwapLittleToHostInt16(ebshdr->this_len); +#else int left = __le16_to_cpu(ebshdr->this_len); +#endif /* __MACH__ */ int pt = 0, i; int ret, found; unsigned char *mp3buf = sock->cxt->buf;points
갑자기 생각나는군요
power pc에서는 byteorder가 틀리다는 사실을..
이 코드를 가지고 cocoa쪽으로 옮겨볼까 생각중이기는 합니다만..
그렇게 해도 저만 쓸것 같긴 하군요 ^.^
---------------------------------------------
svn + trac + my project --> success ???
---------------------------------------------
points
저는 맥을 모르니
저는 맥을 모르니 적절한 초식인지 아닌지 잘 모르겠습니다.
미관상,
#ifdef __MACH__#include <machine/endian.h>
#include <libkern/OSByteOrder.h>
#define le16_to_cpu(x) OSSwapLittleToHostInt16(x)
#else
#include <endian.h>
#include <asm/byteorder.h>
#define le16_to_cpu(x) __le16_to_cpu(x)
#endif /* __MACH__ */
가 좋겠는데, 제대로 만들기나 하고 미관을 따지던가 해야지 지금의 민망한 코드로는 한숨만...
OTL
points
DS-101j에서...
컴파일 하여 Synology DS-101j 에서 돌려 봤는데...
그전 것 보다는 잡음(찍찍)이 덜하는데... 아직도 남아 있네요...
깨끗한 녹음을 할 수 있을까요???...
points
글쎄요, CPU 는 특별할
글쎄요, CPU 는 특별할 게 없는데...
어떤 컴파일러를 사용하시는지요 ?
OTL
points
centos 5.0에...
http://www.nas-forum.com/forum/index.php?autocom=ineo&showarticle=26 에 링크되어 있는 http://kegel.com/crosstool/crosstool-0.43.tar.gz
크로스툴을 설치하여 gcc 사용했습니다...
points
iwmmxt 로 한 것도
iwmmxt 로 한 것도 아니고...
그냥 평범한 32bit arm v5 big-endian 툴체인인데...
arm 의 4byte align 에 걸려들지 않도록 충분히 무식하게 만든 것 같은데,
미처 생각지 못한 뭔가가 또 있을지도 모르겠습니다.
찜찜했던 놈을 아예 날려버린, 날림수정한 소스 첨부합니다.
ebs.h 는 예전과 동일하고요.
OTL
points
감사합니다...
잘 작동하는군요...
깨끗하게 녹음이 되네요...
다시 한번 감사드립니다... ^^
points
^^
어떻게 지우죠.. ㅎㅎ
points
건방지게 좀 합쳐 봤습니다.
안녕하세요? 만들어 주신것 감사 드립니다.
잘 사용하고 있습니다.
기존에 mms녹음하는것보다 음질도 좋고, 용량도 좋아서 진짜 만족합니다.
bushi 님의 최종소스 (ebs_endianless.c.txt, 2008/10/15 - 3:51pm)에
kickme 님의 소스 (ebs.c.txt, 2008/07/21 - 1:41pm)를 두개 합쳐 봤습니다.
나름 이걸 최신이라 생각하셔도 될듯 합니다.
자바하는 녀석이 C 할라니깐, 힘드네요.
더 원하시는 분이 있을까 해서 넣었습니다.
points
감사합니다. ^^
잘 쓰겠습니다.
points
와우 .. 대단한데요..
와우 .. 대단한데요.. 깨끗하군요.
이정도 일줄이야 bushi, jerryju 감사히 잘쓰겠습니다.
-----------------------
과거를 알고 싶거든 오늘의 네 모습을 보아라. 그것이 과거의 너니라.
그리고 내일을 알고 싶으냐?
그러면 오늘의 너를 보아라. 그것이 바로 미래의 너니라.
points
2009년 2월 19일부터 기존 코드로 녹화가 Reject되고 있습니다.
before) 211.218.209.124:8080 (rtsp)
219.240.12.254:5056(Control)
219.240.12.254:5057(Data)
after)
219.240.12.253:5050
219.240.12.253:5150
219.240.12.254:5050
219.240.12.254:515
points
3월 들어 녹음이 되다말다 합니다.
프로마다 차이가 있더니 오늘은 거의 안 되는 것 같네요.
프로그램 소스를 어떻게 수정하면 해결이 될 지 좀 더 구체적으로 알려주실 수 있으신지요?
points
저도 저 댓글을 보고
저도 저 댓글을 보고 생각 날 때마다 (그러니까 그리 자주는 아니고 띄엄띄엄, 평균 하루에 두번정도, 오후와 야밤) 돌려보는데요,
안되는 적이 한번도 없어서 아직 문제가 뭔지도 모르고 있습니다.
적어주신 다른 주소로는 접속조차 한번도 성공해보지 못했구요.
+
서버 폭주가 아닐까 싶은데... 증거는 없습니다.
인기 있는 프로그램은 접속이 힘들고, 다른 프로그램 방송시간대엔 접속이 잘되고... 뭐 이런게 아닐까요 ?
OTL
points
오늘은 또 녹음이 되었네요.
정말 3월이라 인기프로에 대한 폭주일지도 모르겠네요.
그렇다면 조금만(한 달?) 참으면 정상화가 되겠군요. ^^;
하루씩 빠지면 한달치 퀴즈 응모에 지장 있어서 안타까워요.
points
2009년 4월 29일 기준 EBS Radio 녹음용 파일
2009년 2월 25일 기준 EBS Radio 녹음용 파일입니다.
압축을 해제하신후에 ebs.bin and ebs.sh 파일을 특정 디렉토리에 옮기시고 나서
ebs.sh 코드를 참고하여 자신에게 맞게 수정하여 사용하시면 됩니다.
P.S: 4월 29일 기준으로 정상적으로 잘동작되었습니다.
points
다시 문제가 발생했습니다.
그동안의 실행파일을 이용할 경우 다음과 같은 오류가 생기면서 끝나버려,
녹음이 되지 않고 크기 0짜리 파일만 만들어집니다.
어떻게 해결할 수 있을까요?
points
ebs_endianless.c 를
ebs_endianless.c 를 사용해보세요.
전에 0x48 이 0x49 로 바뀌었을 때 처럼 이번엔 0x49 에서 0x4a 로 바뀌었습니다.
(적어주신 로그에도 보이죠. [... ... ... 0x4a] )
ebs_endianless.c 를 수정할 때 아예 token 의 길이를 3바이트에서 4바이트로 바꿨기때문에
ebs_endianless.c 와 이걸 바탕으로 한 수정판들은 이상없이 동작하리라 생각합니다.
OTL
points
감사합니다. ^________^
감사합니다. ^________^
points
3~4 분만에 ebs 프로그램이 죽어버리네요.
다른 분들처럼... 아래의 쉘을 cron 에 등록하여 주기적으로 녹음을 하고 있습니다.
잘 사용하고 있었는데, 엊그제 OS(Debian Squeeze)를 재설치하고, 다시 설정했는데...
이상하게도 3~4 분 정도만 녹음이 되버리는 것입니다.
터미널에서 직접 실행을 하면 정상적으로 20분만에 종료가 되는데요,
CRON 에만 등록하면 3~4 분만에 ebs 프로그램이 종료되버리네요.
왜그럴까요?
points
문제 해결했습니다. ^^
근본적인 문제는 해결이 되지 않았지만~
어찌되었든 해결했습니다.
CRON 을 이용하되, 터미널로 접속을 하여 해당 스크립트를 실행하도록 하니,
잘~ 됩니다.
points
저는 이게 무슨 글 인가 하고 들어와 봤는데...
정말 좋은 방법이네요...
시간대가 맞을때만 듣곤 했느데...
저도 한번 시도 해봐야 겠네요...
points
한가지
한가지 여쭙습니다.
사정상 mplayer를 설치할 수 없어서,
위에 작성해주신 프로그램을 컴파일해서 잘 사용하고 있습니다. (감사합니다)
다름이 아니오라.
public access되는 mms를 위의 스크립트들 처럼 녹화하려면 어느 부분을 수정해야 할지요..
tbs eFM을 업무중에 듣지 못해서 녹음하여 퇴근후에 들으려고 합니다.
mms://210.90.46.63/efmlive
조언 주시면 정말 감사드리겠습니다
points
mms 를 이미 구현한
mms 를 이미 구현한 프로그램을 사용하는게 불가하다면 본인이 직접 구현해서 사용하는 수 밖에 없습니다.
libmms 라는 놈이 있으니 적당히 참고해서 만들면 될 것 같습니다.
mplayer 가 덩치가 커서 불만이라면 mimms 같은 놈을 사용해보세요.
컴파일러를 사용할 수 있는 환경이라면 mmsrip 을 컴파일해서 사용하셔도 되겠습니다.
(컴파일러와 C 라이브러리만 있으면 빌드할 수 있는 놈입니다)
[bushi@rose JAX10]$ mmsrip --help
mmsrip (MMS Ripper) version 0.7.0
usage: mmsrip <[-oFILE] stream url> ...
General Options:
-a, --about show information about mmsrip
-h, --help show this help
-v, --version show version number
Program Behaviour:
-oFILE, --output=FILE output to specified file (can be repeated)
-gFILE, --debug=FILE output debug info to specified file
-q, --quiet quiet mode (can be repeated)
-dDELAY, --delay=DELAY save the stream during DELAY seconds and exit
-k, --trick attempt to trick recalcitrant servers
-t, --test test mode (check stream availability)
[bushi@rose JAX10]$
[bushi@rose JAX10]$ mmsrip -o a mms://210.90.46.63/efmlive
mmsrip (MMS Ripper) version 0.7.0
warning: stream seems to be live, an error may occur.
93833 bytes written (18.8 kbps)
^C
[bushi@rose JAX10]$
[bushi@rose JAX10]$ file a
a: Microsoft ASF
[bushi@rose JAX10]$
OTL
points
답변
답변 감사드립니다.
호스팅을 통해서 하다보니 여러 제약이 많네요.
컴파일러는 사용가능하지만, 인스톨 하는데는 권한 문제가 많군요..
아무래도 VMware나, 다른 방법으로 직접 인스톨해서 사용해야겠네요.
감사합니다.
points
... 뭘 설치하시건...
... 뭘 설치하시건... 직접 컴파일할 수 있다면 본인 홈 디렉토리에 설치해도 상관없는데요.
mplayer 도 마찬가지고요.
다만, mplayer 는 요구하는 라이브러리들이 웍낙 많아서 일일이 가져다 컴파일해서 설치하기가 매우 귀찮을 뿐이죠.
좀 덜 귀찮은 방법으론.. 이미 컴파일된 바이너리들을 본인 홈디렉토리 밑에 적절한 path 로 복사하고,
LD_LIBRARY_PATH 등의 환경변수로 로더를 조작할 수도 있습니다.
OTL