| 1491 번 글의 답장글: Re: lame 설치후 노래 시간이 두배 이상으로 증가했는데 어찌된걸까요? |
| 글쓴이: 산이
[홈페이지]
|
글쓴날: 2003년 06월 09일 16:02:18 월(오후) |
조회: 873 |
[이성희]님이 남기신 글:
>스트리밍 해주는 소스받아다가 심심풀이 서비스를 하고
있는데요.
>
>lame설치는 잘했는데 128->64로 바꿔지긴 했는데요.
>이상하게 노래 시간이 두배이상으로 증가해버렸습니다.
>
>3분짜리 노래가 있으면 6분 이상으로 표시가 됩니다.
>
>다행히도 3분에 멈추더군요...
>
>혹시 시간설정을 따로 해줘야 되는건가요?
>
>http://cucu.nameip.net/music/play.php?en_one_play=L7Prt6G16S4uLi+/5M
Hys+u3obXpLzEvMDIuIL+swM4ubXAz
>
>이거니...함 봐주시면 감사하겠습니다.
^^;
========================================
bitrate 을 반으로 줄이면 content-length 도 반으로 줄여줘야
winamp 같은 agent가 제대로 play 시간을 계산합니다.
현재 play.php 에는 그 기능이 추가되어 있지 않습니다.
우선,
bitrate를 줄이기 전에 원본 mp3 파일의 bitrate를 알아야 합니다.
bitrate를 구하기가 좀 까다롭기 때문에 class.id3.php 파일을
이용하는 방법이 있습니다.
http://ftp.linuxchannel.net/devel/php_stream/mp3stream/_lib/
또는
http://ftp.linuxchannel.net/devel/php_stream/mp3stream.tar.gz
에 class.id3.php 파일이 있습니다.
이 파일을 include 하고 play.php 파일에서 다음의 위치를 찾아서
if(is_executable($lame) && $ftype[lame])
{
## renew content-length
##
$id3 = new id3();
$id3->file = $mp3file;
$id3->_readframe();
if($id3->bitrate > 0)
{ $file[size] = (int)($file[size] * 64 / $id3->bitrate); }
clearstatcache(); // flush buffer
$mp3file = "$lame -q 3 -b 64 -m m -S --quiet --silent ".
"--tt '$file[name]' '$mp3file' - 2>/dev/null";
$open = 'popen';
}
else $open = 'fopen';
이와 같이 추가해주면 됩니다.
...
만약 모든 mp3 파일이 동일하게 bitrate가 모두 128 이면
$file[size] = (int)($file[size] / 2);
이렇게 해주면 됩니다.
|
이전글 : lame 설치후 노래 시간이 두배 이상으로 증가했는데 어찌된걸까요?
다음글 : 정말 감사합니다. ^^
|
from 61.254.75.40
JS(Redhands)Board 0.4 +@
|