2010-11-23 9 views
1

원격 서버에 php 명령을 통해 로그인하고 FLV 파일을 MP3로 변환 한 다음 로컬 서버로 이동하는 명령을 실행하는 가장 좋은 방법을 생각하고 있습니까?원격 ftp 로그인하고 flv를 mp3로 변환 하시겠습니까?

언제든지 파일을 나중에 이동할 수 있지만 원격 서버가 ffmpeg를 호스팅 할 때이 순서대로 수행해야합니다.

이 로컬로 할 것입니다 사용 :

exec(ffmpeg -i vid.flv -acodec copy output.mp3); 

가 어떻게 원격으로 할 수 있습니까?

감사합니다.

+1

ffmpeg를 로컬로 설치하고 로컬로 모두 설치할 수없는 이유는 무엇입니까? –

+0

원격 서버에 ffmpeg가 설치되어 있습니까? –

+1

인용구 : 나는 항상 파일을 나중에 옮길 수 있지만 ** 원격 서버가 ffmpeg를 호스트하는 것처럼 **이 순서대로해야한다. ** – RobertPitt

답변

0

당신은 PHP는 기본 FTP를 통해

  • 전송합니다 FLV 위해
  • 응답 코드를 읽고을 수행하여 명령을 실행할 수는 FFmpeg 서버에서 레이어를 만들고 명령 다음을 수행 할 필요가 특정 작업

ftp를 통해 서버로 파일을 보낸 다음 방금 파일을 전송 한 서버에서 스크립트를 만들면 파일에 대한 해시 코드를 만들고 변환하도록 지시합니다. 변환을 시작합니다 (Upload Example)

  • 핑 서버 FTP를 통해 파일을 전송

    파일 이름을 한 다음, 때를 파일에 대한 로컬 디렉토리에 보일 것이다 변환 스크립트 발견하면 변환 될 것입니다.

    이 완료되면 로컬 서버가을 완료하면 변환 스크립트에 ID를 보내야하며이 ID를 양면에 저장해야 서버에서 로컬 스크립트 (WARNING!)를 id와 함께 사용하면 서버에서 다시 가져올 수 있습니다.

    경고의 이유는 라우터/방화벽 뒤에서 라우터에 포트 포워딩 등을 설정하고 포트 80이 외부에서 액세스 할 수 있도록 허용해야한다면 서버를 핑 (ping)하여 로컬 호스트에 던지기가 어렵 기 때문입니다 .

    희망 사항은이 상황을 처리하는 방법에 대한 단서를 제공합니다.

  • +0

    나는이 방법이 내 최적의 솔루션을 제공합니다. 감사! – JJohn

    +0

    파일이 이미 원격 서버에 있습니다. 변환을 시작하기 위해 파일 이름으로 설정된 포스트 변수가있는 컬을 사용하여 변환 스크립트에 액세스하는 것으로 나타났습니다. cron 스크립트를 사용하여 서버에서 서버로 이동하는 간격을 확인합니다. – JJohn

    1

    FTP를 통해 원격 명령을 실행할 수 없습니다.

    시스템에 대한 SSH 액세스가있는 경우 SSH2 extension을 PHP 용으로 사용하고 SSH를 통해 실행할 수 있습니다.

    0

    PHP 스크립트를 작성하고 flv 변환 서버에 업로드하십시오. 스크립트가 수행해야합니다

    1. 이 vid.flv에
    2. 실행 서버 명령 "간부을 (POST를 통해 또는 다운로드하는 또 다른 방법) FLV 파일을 다운로드 (는 FFmpeg -i vid.flv -acodec는 output.mp3 복사); "
    3. 는 output.mo3가 준비 갔지 결과를 알려

    당신 스크립트 (하고 set_time_limit)의 최대 실행 시간을 변경하는 많은 필요성

    이렇게하면 스크립트가 ssh를 통해 명령을 보낼 필요가 없습니다.

    관련 문제