Leapcell에서 FFmpeg 앱 배포하기
아래 해결 방법으로 문제가 해결되지 않으면 Leapcell 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 대시보드로 이동하여 새 서비스 버튼을 클릭합니다.
"새 서비스" 페이지에서 방금 포크한 리포지토리를 선택합니다.
3. 생성 중에 다음 값을 제공합니다.
FFmpeg를 수동으로 설치해야 합니다. 빌드 명령에 다음을 포함하십시오.
apt-get update && apt-get install -y ffmpeg && pip install -r requirements.txt
필드 | 값 |
---|---|
Runtime | Python(모든 버전) |
빌드 명령 | 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이 표시됩니다. 이 도메인을 사용하여 앱을 테스트합니다.
지속적인 배포
연결된 브랜치에 대한 모든 푸시는 자동으로 빌드 및 배포를 트리거합니다. 빌드가 실패하면 다음 성공적인 배포까지 현재 버전이 활성 상태로 유지됩니다.
지속적인 배포에 대해 자세히 알아보세요.