주요 콘텐츠로 건너뛰기

Leapcell에서 FFmpeg 앱 배포하기

아래 해결 방법으로 문제가 해결되지 않으면 Leapcell Discord 커뮤니티에 참여하여 추가 지원을 받으세요.

Join Discord

몇 단계만 거치면 Leapcell에서 FFmpeg를 사용하여 비디오 또는 이미지를 처리하는 Flask Python 앱을 배포할 수 있습니다. 이 가이드에서는 Flask를 통해 파일을 업로드하여 FFmpeg 작업을 처리하고, FFmpeg를 사용하여 처리하는 인터페이스로 Flask를 사용하는 방법을 보여줍니다.

이 퀵스타트는 FFmpeg 명령을 실행하는 샘플 Flask 앱을 사용하며, 요구 사항에 맞게 사용자 정의할 수 있습니다.

정보

계속하려면 GitHub 계정이 필요합니다. 계정이 없으면 GitHub 웹사이트에서 만들 수 있습니다.

1. GitHub에서 Flask FFmpeg 예제포크합니다.

리포지토리: Flask FFmpeg 예제

다음은 비디오를 다른 형식으로 변환하는 FFmpeg 명령을 실행하는 기본 app.py 파일입니다.

from flask import Flask, request, jsonify
import subprocess

app = Flask(__name__)

@app.route('/convert', methods=['POST'])
def convert_video():
# Get the video file from the request
file = request.files['file']
output_format = request.form['format']

# Save the input file, it must be in the '/tmp' folder
input_path = '/tmp/input_video.mp4'
file.save(input_path)

# Define the output path
output_path = f'/tmp/output_video.{output_format}'

# Run FFmpeg to convert the video
command = ['ffmpeg', '-i', input_path, output_path]
subprocess.run(command, check=True)

# Return the path to the converted file
return jsonify({"output_file": output_path})

if __name__ == '__main__':
app.run(debug=True)

이 Flask 앱은 POST 요청을 통해 비디오 파일을 수락하고 FFmpeg를 사용하여 원하는 형식으로 변환합니다.

다음 명령으로 API를 로컬에서 테스트할 수 있습니다.

curl -F "file=@/path/to/video.mp4" -F "format=mp4" http://localhost:5000/convert

/tmp/output_video.{output_format}의 결과를 객체 스토리지 또는 다른 서비스에 업로드할 수 있습니다.

2. Leapcell 대시보드에서 서비스를 만들고 새 리포지토리를 연결합니다.

Leapcell 대시보드로 이동하여 새 서비스 버튼을 클릭합니다.

"새 서비스" 페이지에서 방금 포크한 리포지토리를 선택합니다.

리포지토리에 액세스하려면 Leapcell을 GitHub 계정에 연결해야 합니다.

GitHub에 연결하려면 다음 지침을 따르세요.

연결되면 리포지토리가 목록에 나타납니다.

3. 생성 중에 다음 값을 제공합니다.

정보

FFmpeg를 수동으로 설치해야 합니다. 빌드 명령에 다음을 포함하십시오.

apt-get update && apt-get install -y ffmpeg && pip install -r requirements.txt
필드
RuntimePython(모든 버전)
빌드 명령apt-get update && apt-get install -y ffmpeg && pip install -r requirements.txt
시작 명령gunicorn -w 1 -b :8080 app:app
포트8080

해당 필드에 이러한 값을 입력합니다.

4. 앱에 액세스합니다.

배포되면 배포 페이지에 foo-bar.leapcell.dev와 같은 URL이 표시됩니다. 이 도메인을 사용하여 앱을 테스트합니다.

지속적인 배포

연결된 브랜치에 대한 모든 푸시는 자동으로 빌드 및 배포를 트리거합니다. 빌드가 실패하면 다음 성공적인 배포까지 현재 버전이 활성 상태로 유지됩니다.

지속적인 배포에 대해 자세히 알아보세요.