
음향 RSS를 이용한 MP3 스트리밍 - 2025년에 PSP로 음감 하기
- RASBI
- 조회 수 512
- 2025.06.16. 23:51
==================
미코용으로 다듬어서 올립니다. 재미없는 코드 설명은 생략했어요. 원문이 궁금하신분들은 출처로 가셔서 보시면 됩니다. (물론 출처는 본인)
이전글: https://meeco.kr/mini/40376657
==================
==================
0. 개요
이전에는 인터넷 라디오 서버를 구축하여 psp에서 이에 접속, 스트리밍을 받는 형태로 시스템을 만들었습니다.
근데, psp에서 스트리밍을 받는 방법은 인터넷 라디오뿐만이 아니라는 걸 알고 계시나요? 바로 RSS 피드를 이용한 스트리밍 방법이 있습니다.
이번에는 이 방법을 이용하여 웹서버를 구축하고 PSP에서 음감 스트리밍 및 MP3 저장까지 성공을 하였습니다. 네트워크 이론을 솔직히 말해 대학교 때 배웠으나 많이 까먹었습니다.
따라서 이번에는 탑다운 방식으로 먼저 프로젝트를 완성 시키고, 코드와 동작을 하나하나 뜯어보면서 학습을 하였습니다.
역시 이번 프로젝트도 GPT와 gemini의 도움을 많이 받았습니다. 이젠 ai를 하나의 도구로써 잘 사용을 해야 하는 시대니깐요.
==================
이번 시스템 구성은 다음과 같습니다:
1. 웹서버 구축
=> 웹서버에서 오디오 다운 및 해당 오디오를 스트리밍 해줍니다.
2. RSS 수신을 위한 xml 추가
=> 오디오 파일과 연결이 되도록 xml을 구성해야 합니다.
3. PSP에 RSS 채널 추가
=> 채널을 추가하여 MP3 파일이 정상적으로 인식이 되는지 확인합니다.
==================
==================
1. 서버 구축
여기서는 간단하게 파이썬을 이용하여 스크립트를 구성하고 웹서버를 열어주었습니다. 따라서 파이썬과 필요한 패키지들을 받아줍니다.
ffmpeg의 경우 유튜브 음원 추출 도구인 yt-dlp를 사용할 때 필수인 녀석입니다. 또한 파일을 mp3로 변환할 때 사용합니다.
잠깐:
유튜브 음원 다운은 학습, 개인 사용 목적으로 하였으며, 그 이외 용도로 사용해서는 안 됩니다.
==================
==================
2. run_server.py 서버 여는 코드 작성하기
코드는 ai의 도움을 양껏 받아서 작성했습니다ㅋㅋ 물론 분석은 해주었습니다. 탑다운 방식이니깐요. 상세 분석이 궁금하신분들은 원문 출처를 봐주세요.
요약:
1. 스트리밍 요청이 들어옴
2. 해당 오디오 파일을 바이너리로 오픈
3. 요청한 범위만큼 잘라서 전송
4. 스트리밍 요청이 아니라면 오디오 파일을 전송
==================
==================
3. 유튜브 음원 추출 및 rss.xml 생성 코드를 작성
이것도 간단하게 요약을 하자면:
1. yt-dlp를 실행하여 음원을 받습니다.
2. ffmpeg을 이용하여 psp가 재생할 수 있는 MP3로 변환합니다.
3. 이제 추가된 파일에 맞게 rss 로드할 수 있도록 xml을 작성합니다.
정말 간단하죠? 별거 없습니다.
==================
==================
4. PSP에서 접속 결과는?
PSP에 먼저 RSS 채널을 추가합니다. PSP에서는 2가지의 RSS 추가 방법을 안내하고 있습니다.
1. OPML 파일을 메모리 스틱에 넣어서 불러오기
2. 내장 브라우저를 통해 서버 ip 주소:8080/rss.xml로 접속
하고 싶은 방식으로 추가를 하면 됩니다.
==================
==================
RSS 채널을 정상적으로 추가를 하고 나면, 위와 같이 아이템이 뜹니다.
누르면 스트리밍으로 음원을 들을 수 있고, 세모 버튼을 눌러 본체에 저장을 할 수도 있습니다.
==================
==================
스트리밍이 되는 모습입니다.
앞서 코드 동작에서 말했듯이 PSP는 지속적으로 Range 요청을 하게 되고 여기에는 파일의 어느 범위를 달라고 정보가 있습니다.
그 정보를 서버가 추출을 해서 보내는 방식으로 스트리밍이 이루어지게 됩니다.
==================
==================
파일 저장도 가능합니다.
앞서 말했듯이 코드에서 Range 요청이 아니라면 HTTP 200 응답을 하고 전체 파일을 보내기 때문입니다.
이 시스템을 자동화하고 좀 더 손을 봐준다면, 나의 유튜브 재생목록에 있는 음원을, PSP로 스트리밍 해서 들을 수 있습니다. 즉 PSP를 위한 유튜브 스트리밍(소리 ONLY) 시스템이 되는 것입니다.
==================
5. 결론
이전의 인터넷 라디오 채널보다 더 간편한 방식입니다.
1. 인터넷 라디오 방송은 사용자가 접속을 하건 말건 계속 스트리밍 해서 비효율적입니다.
2. 이건 음원 저장도 가능합니다.
3. 프로그램도 파이썬 하나만 돌아가고, FFMPEG나 YT-DLP도 최초 음원 파일 생성 시에만 실행이 됩니다.
여러모로 진보된 방식이라고 할 수 있겠습니다.
==================

사실 지금도 뉴스 같은건 RSS로 라디오 방송을 잘라서 보내줄겁니다.
조금만 잘 다듬는다면 최신 TOP 100 라디오 같이 운영 가능하겠네요. ㅎㅎ
어릴때 PSP로 인터넷 페이지가 열리는걸 보고 얼마나 신기했었는지, 정말 부러웠는데 지금 생각해도 PSP는 참 여러모로 대단한 기기네요.