2011-05-14 1 views
1

위치 제작 및 동영상 캐스팅을 업로드 할 수있는 광고 제작사 사이트를 디자인하고 있습니다. SQL에서 데이터를 가져와 적절한 헤더가있는 브라우저로 가져 오는 방법을 알아 냈습니다.mov 또는 m4v 비디오 퍼가기 (PHP를 통해 mysql 데이터베이스에서 가져온 데이터)

이제 내 문제는 - 현재 비디오를 표시하는 가장 좋은 방법은 무엇입니까? iPhone, iPad, Safari 및 Firefox에서 작동해야합니다. IE는 전혀 신경 쓰지 않습니다.

도움이된다면 한 가지 비디오 형식으로 업로드하는 것을 제한하지 않습니다. 의미 Quicktime .mov 전용 또는 .m4v 만 - 어떤 것이 든 작동합니다. iPhone 및 iPad와 관련된 Flash는 사용할 수 없습니다.

다른 코드가있는 각기 다른 브라우저를 수용하는 데 문제가 없습니다. 나는 어느 방법이 어떤 플랫폼/브라우저에 가장 적합한 지 알 필요가있다.

편집 : 나는 (MSIE 제외)에 대해 신경 컴퓨터의 브라우저에서 데이터베이스에서 비디오를 표시하는 방법을 알아 낸

. 이제 아이폰을 알아 내야합니다. 테스트를 위해 파일을 서버의 파일 시스템에 저장하고 html5 비디오 태그를 통해 파일을 재생합니다. 따라서 iPhone은 클립 형식을 재생할 수 있습니다. 이 문제는 분명히 현재, 바이너리 데이터를 검색하고 브라우저로 전송 내 PHP 파일은 다음 헤더를 지정 ... MySQL의에서 아이폰에 데이터를 전달한다 :

header("Content-length: $audioLength"); 
header('Content-Range: bytes 0-'.$audioLength.'/'.$audioLength); 
header("Content-type: ".$mimeType); 
$ audioLength 파일 크기입니다

업로드시 캡쳐 된 바이트 수
$ mimeType은 업로드시 브라우저가보고하는 MIME 유형입니다. 두 값은 바이너리 데이터와 함께 데이터베이스에서 retrieve_audio.php 스크립트로 전달됩니다.

다른 헤더가 필요할 수 있습니까? 파일 시스템에서 파일을 가져 오는 것과 데이터베이스를 가져 오는 것 사이에 어떤 차이가 있는지 어떻게 알 수 있습니까?

재생 버튼을 누를 때까지 iPhone이 데이터를 검색하지 못할 수도 있습니다. 마지막 수단으로, 나는 PHP 코드는 파일 시스템에 파일을 기록 할 수 있지만 내가 피하고자하는 데이터의 중복입니다

감사합니다 ... 가능하면

M

답변

2

HTML5 동영상 및 다양한 형식에 대한 유용한 정보는 http://diveintohtml5.ep.io/video.html을 확인하세요.

간략한 답변 : Firefox 4는 Ogg (Theora/Vorbis)와 WebM을 지원합니다. Safari (데스크탑 및 모바일)는 MP4 (H.264/AAC)를 지원합니다. 이 같은 HTML5 <video> 태그를 사용하여보십시오.

<video width="320" height="240" controls> 
    <source src="pr6.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> 
    <source src="pr6.webm" type='video/webm; codecs="vp8, vorbis"'> 
    <source src="pr6.ogv" type='video/ogg; codecs="theora, vorbis"'> 
</video> 

(예 위의 링크 된 사이트에서 진지하게, 그것은 정말 좋은 읽기, 그리고 그것은 또한 방법을 잘 비디오 IE에서 작업을 수행하게하는 방법을 말할 것이다, Chrome 등)

EDIT 하나의 비디오 형식 만 사용해야하는 경우 H.264 비디오 및 AAC 오디오가 포함 된 MP4/M4V가 가장 좋습니다. Safari (데스크톱 및 모바일)는 <video> 태그로 재생할 수 있으며 Firefox는 Flash 컨테이너에서 재생할 수 있습니다.난 당신이 아이폰 OS는 플래시와 파이어 폭스가 수행하지 않음을 확인하기 위해 스니핑 일부 브라우저를해야 할 것이다 생각하기 때문에 그것은 이상적인 건 아니지만, 당신은 다음과 같이 할 것입니다 : 당신이 이동하더라도

<!-- Safari and iOS --> 
<video width="320" height="240" poster="poster.jpg" controls> 
    <source src="video.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'> 
</video> 

<!-- Firefox/other --> 
<object width="320" height="240" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"> 
    <param value="player.swf"> 
    <param value="true" name="allowfullscreen"> 
    <param value="always" name="allowscriptaccess"> 
    <param value="file=video.mp4&amp;image=poster.jpg" name="flashvars"> 
    <embed 
     width="320" 
     height="240" 
     flashvars="file=video.mp4&amp;image=poster.jpg" 
     allowfullscreen="true" 
     allowscriptaccess="always" 
     src="player.swf" 
     type="application/x-shockwave-flash" 
    > 
</object> 

을 경로, 그래도, 나는 사용하는 적절한 코덱, 비디오 인코딩 방법 및주의해야 할 다양한 문제에 대한 자세한 내용을 보려면 HTML5 다이브 페이지로 읽어보십시오.

+0

OK - html5 동영상 태그가 있습니다. 클라이언트가 보여준 샘플에는 iWeb에서 생성 한 페이지가 있기 때문에 관심있는 브라우저에 동일한 클립을 포함 할 수있는 방법이 있다는 것을 알고 있습니다. 나는 그것을 역 공학하려고 노력할 것이다. 나는 최첨단에 관심이 없으며 다른 비디오 포맷을 사용하지 않고도 작업하기를 원합니다. –

+0

하나의 비디오 포맷을 사용하면 MP4/M4V에서 H.264와 함께 Firefox 용 Flash 컨테이너에 넣을 수 있습니다. 단점은 브라우저 스니핑을해야한다는 것입니다. 이에 대한 정보로 내 대답을 편집했습니다. – newtron

+0

사실, Firefox는 태그를 통해 .mov 및 .m4v 파일을 재생하는 데 문제가없는 것으로 보입니다 ... 데이터베이스에서 데이터를 검색 할 때 iPhone에서 재생할 때만 문제가 발생합니다. 서버의 파일 시스템. 원래 게시물에 대한 내 편집을 참조하십시오 ... –

0

불행히도 이러한 다양한 장치에서 잘 작동하는 단일 형식은 없습니다. 업로드되는 형식을 취하고이를 여러 가지 형식으로 변환해야합니다. 무거운 짐을 지우려면 http://www.livetranscoding.com/과 같은 서비스를 조사하고 싶을 것입니다. (참고로, 저는 그들의 서비스를 사용하지 않았으며 라이브가 아닌 스트림에서 작동하도록하는 방법이 있는지 모르겠습니다).

+0

- 그럴 수는 없습니다 - (클라이언트가 아님). 애플의 소비자 수준의 WYSIWYG 앱인 iWeb이이를 수행 할 수있다. 브라우저 탐지의 일종을 기반으로 다른 코드를 생성하는 것처럼 보이는 첫 번째 모습에서 - 자바 스크립트는 관심이있는 세 가지 플랫폼에서 작동하는 태그를 생성한다. –

관련 문제