Stackoverflow :Perl CGI로 오디오를 스트리밍하는 더 좋은 방법은 무엇입니까?
cs assigment의 경우 다음 코드를 사용하여 오디오를 스트리밍합니다. 그러나 이제는 재생 목록에서 파일을 연속적으로 스트리밍 할 수있는 기능을 추가하고 싶습니다.이를 수용하기 위해 코드를 어떻게 수정할 수 있습니까? 내 스크립트가 순차적으로 스트리밍을 통과하는 파일 이름의 텍스트 파일을 갖고 싶습니다. 이것이 가능한가? 인터넷 검색에 많은 시간을 할애했지만 아직 관련 링크를 찾지 못했습니다.
감사합니다,
CB
#!/usr/bin/perl
use strict;
use CGI::Carp qw/fatalsToBrowser/;
open(OGGFILE, "../HW1/OGG/ACDC.ogg") or die "open error";
my $buffer;
print "Content-type: audio/ogg\n\n";
binmode STDOUT;
while(read(OGGFILE, $buffer, 16384)){
print $buffer;
}
close(OGGFILE);
업데이트 :
난 이후 재생 목록을 생성하려면 코드를 수정 한 그것은 잘 작동하는 것 같군. 그러나이 작업을하려면 내 음악 파일을 내 html 폴더에 저장하고 모두 볼 수 있도록하십시오. 직접 연결 및 가시성을 방지하기 위해 파일 사용 권한을 변경하는 간단한 문제입니까? 이 프로그램을 수정하여/html 외부의 폴더에서 파일을 스트리밍 할 수 있습니까?
감사 CB 내가 처리 한 선수
#!/usr/bin/perl
use strict;
use CGI qw/:standard/;
use CGI::Pretty qw/:standard/;
use CGI::Carp qw/fatalsToBrowser/;
print header(-type=>'audio/x-mpegurl',-expires=>'now');
printf "#EXTM3U\n";
printf "#EXTINF:-1,Some ACDC song\n";
printf "http://www.mywebserver/MP3/ACDC.ogg\n";
printf "#EXTINF:-1,Some Pink Floyd Song\n";
printf "http://www.mywebserver.com/MP3/PinkFloyd.ogg\n";
그래서 어떻게 perl을 사용하여 재생 목록을 만들까요? –
글쎄, 당신은 클라이언트 측에있는 플레이어를 찾은 다음 플레이리스트에 어떤 포맷을 사용하는지 확인한 다음 그렇게합니다. –
좋아요, 저는 .m3u의 것을 읽었습니다. 그러나 첫 번째 헤더 이후에 무엇을 해야할지 알 수 없습니다. 다음에 플레이어가 기대하는 것은 무엇입니까? # 헤더를 인쇄하십시오. $ cgi-> 헤더를 인쇄하십시오 (-type => 'audio/x-mpegurl', - expires => 'now'); # 파일 이름, 디렉토리를 인쇄 하시겠습니까 ??? 모든 도움을 주신 Mr. Foy에게 감사드립니다. CB –