이 관련되어 내 another question 다음스트리밍 "프록시"변환 비디오 포맷
나는 그것이 이론에 있는지 물어보고 싶습니다 같은 시나리오가 가능 (비디오 파일 포맷 및 코덱 등에 따라) :
를1) iPhone의 클라이언트에는 flv 형식의 비디오에 대한 참조가 있습니다. 그것은 http://convproxy.com?source=url_of_original_video.flv와 같은 프록시를 변환하는 HTTP 요청을
으로 바꾼다. 2) 프록시를 변환하면 해당 flv 파일을 다운로드하고 http로 변환 된 부분을 반환하면서 mp4 (아이폰은 이해할 수 있음)로 변환하기 시작한다. 응답을 보내면 전체 FLV가 다운로드되고 변환되기 전에 iPhone에서 즉시 재생을 시작할 수 있습니다.
나는 ffmpeg를 가지고 놀고 있었고, 실제로 flv를 변환하고 mp4 파일을 만들지 만, mp4 파일은 변환이 끝나거나 ffmpeg가 정지 할 때까지 재생할 수 없습니다. ffmpeg 프로세스를 그냥 죽이면 mp4 파일을 재생할 수 없습니다. 내가 끝내거나 Ctrl-c를 눌러 멈 추면 다운로드하고 변환 한 부분을 재생할 수 있습니다. 정지 신호를받은 후 ffmpeg가 어떤 일을하는 것처럼 보입니다. mp4 형식에 필요한 부분입니까 아니면 다르게 수행 할 수 있습니까? 나는 iPhone이 전체 파일이 다운로드되기 전에 재생을 시작하여 비디오를 스트리밍 할 수 있다는 것을 알기 때문에 일반적으로 나에게는 가능한 시나리오처럼 보입니다.
간단히 말해서 flv 파일을 mp4 파일로 변환 할 수 있으며, flv 스트림을 mp4 스트림으로 변환 할 수 있는지 의문입니다.
이 점을 지적 해 주셔서 감사합니다. 나는 어떻게 든 그것을 놓쳤습니다. 어쨌든, 내가 ffmpeg 프로세스를 죽이면, 결과 mp4 파일은 아이폰에서만 재생할 수 없습니다. 그래서 ffmped는 힌트 트랙보다 더 필요한 것을 추가합니다. –
그리고 ffmpeg에서 작업을 마치거나 종료하는 대신 정지하면 제작 된 mp4를 스트리밍 할 수 있습니다. –
변환의 끝에서 또는 정상적으로 중단 될 때 작성되는 일부 기본 헤더 정보와 비슷합니다. 아마도이 중 일부는 사전 생성 (프레임 수, 길이 등) 될 수 있으며 일부는 가짜 (파일 크기, 비트 전송률 정보 등) 일 수 있습니까? 나는 이것을하기 위해 ffmpeg/x264 소스를 해킹해야 할 것이라고 생각한다. VideoLAN을 스트리밍을 위해 제작 된 그대로 시도해 볼 수도 있습니다. – rpetrich