동영상 업로드 시 서버단에서 flv로 변환하는 작업을 하는데
자료서치 하기 전에 일주일 정도 걸리겠지 생각했는데..
ffmpeg가 설치가 쉽고 php연동도 잘 되어 의외로 금방 끝나버렷다.
단지 오랜만에 php를 했더니 잠시 해멨다는.. 아까운 내 시간.. ㅠㅠ
아래 한빛미디어 사이트의 예제가 잘 안돌아가길래 DB부분 빼고 수정했다.
http://network.hanb.co.kr/view.php?bi_id=1401
///////////addmovie.html
<html>
<body>
<form enctype="multipart/form-data" method="post" action="upload.php">
<table>
<tr><td>Title</td><td><input type="text" name="title"></td></tr>
<tr><td>Movie</td><td><input type="file" name="movie"></td></tr>
</table>
<input type="submit" value="Upload" />
</form>
</body>
</html>
//////////////upload.php
<html><body>
<?php
function converttoflv( $in, $out )
{
$cmd = "ffmpeg -v 0 -i $in -ar 11025 $out 2>&1";
$fh = popen( $cmd, "r" );
while( fgets( $fh ) ) { }
pclose( $fh );
unlink( $in );
}
function getthumbnail( $in, $out )
{
$cmd = "ffmpeg -i $in -pix_fmt rgb24 -vframes 1 -s 300x200 $out 2>&1";
$fh = popen( $cmd, "r" );
while( fgets( $fh ) ) { }
pclose( $fh );
}
function flv_import( $upfile, $fname, $title )
{
$fnameArr = explode(".", $fname);
$fname = $fnameArr[0];
$flvpath = "$fname.flv";
$thumbpath = "$fname.gif";
getthumbnail( $upfile, "/free/home/martis2/html/ffmpeg/movies/$thumbpath" );
converttoflv( $upfile, "/free/home/martis2/html/ffmpeg/movies/$flvpath" );
}
flv_import( $_FILES['movie']['tmp_name'], $_FILES['movie']['name'], $_POST['title'] );
?>
File sucessfully uploaded
</body></html>
자료서치 하기 전에 일주일 정도 걸리겠지 생각했는데..
ffmpeg가 설치가 쉽고 php연동도 잘 되어 의외로 금방 끝나버렷다.
단지 오랜만에 php를 했더니 잠시 해멨다는.. 아까운 내 시간.. ㅠㅠ
아래 한빛미디어 사이트의 예제가 잘 안돌아가길래 DB부분 빼고 수정했다.
http://network.hanb.co.kr/view.php?bi_id=1401
///////////addmovie.html
<html>
<body>
<form enctype="multipart/form-data" method="post" action="upload.php">
<table>
<tr><td>Title</td><td><input type="text" name="title"></td></tr>
<tr><td>Movie</td><td><input type="file" name="movie"></td></tr>
</table>
<input type="submit" value="Upload" />
</form>
</body>
</html>
//////////////upload.php
<html><body>
<?php
function converttoflv( $in, $out )
{
$cmd = "ffmpeg -v 0 -i $in -ar 11025 $out 2>&1";
$fh = popen( $cmd, "r" );
while( fgets( $fh ) ) { }
pclose( $fh );
unlink( $in );
}
function getthumbnail( $in, $out )
{
$cmd = "ffmpeg -i $in -pix_fmt rgb24 -vframes 1 -s 300x200 $out 2>&1";
$fh = popen( $cmd, "r" );
while( fgets( $fh ) ) { }
pclose( $fh );
}
function flv_import( $upfile, $fname, $title )
{
$fnameArr = explode(".", $fname);
$fname = $fnameArr[0];
$flvpath = "$fname.flv";
$thumbpath = "$fname.gif";
getthumbnail( $upfile, "/free/home/martis2/html/ffmpeg/movies/$thumbpath" );
converttoflv( $upfile, "/free/home/martis2/html/ffmpeg/movies/$flvpath" );
}
flv_import( $_FILES['movie']['tmp_name'], $_FILES['movie']['name'], $_POST['title'] );
?>
File sucessfully uploaded
</body></html>
출처 : http://blog.naver.com/PostView.nhn?blogId=toeab&logNo=40103104196