์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

๋ฏธ๋‹ˆ ํ”„๋กœ์ ํŠธ 4์ผ์ฐจ

์ˆ˜ํ˜€์ด0812 2024. 11. 4. 00:59
728x90
๋ฐ˜์‘ํ˜•

# 1. ์Œ์„ฑ ํŒŒ์ผ ๋ณ€ํ™˜์— ํ•„์š”ํ•œ ffmpeg ๋‹ค์šด ๋ฐ›๊ธฐ!

 

https://yeko90.tistory.com/entry/FFmpeg-%EB%8B%A4%EC%9A%B4%EB%A1%9C%EB%93%9C-%EC%84%A4%EC%B9%98-%EC%84%B8%ED%8C%85

 

FFmpeg ๋‹ค์šด๋กœ๋“œ ์„ค์น˜ / ํ•„์ˆ˜ ๊ธฐ๋ณธ ์„ธํŒ… ๋ฐฉ๋ฒ•

์—ฌ๋Ÿฌ๋ถ„ ํ˜น์‹œ FFmpeg์— ๋Œ€ํ•ด ๋“ค์–ด๋ณด์‹  ์  ์žˆ๋‚˜์š”?FFmpeg ์‚ฌ์šฉ๋ฒ•๋งŒ ์ตํžŒ๋‹ค๋ฉด ๋‹ค์–‘ํ•œ ํฌ๋งท์˜ ๋น„๋””์˜ค์™€ ์˜ค๋””์˜คํŒŒ์ผ์„ ์†์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.  ์‹ฌ์ง€์–ด ๋ฌด๋ฃŒ๊ตฌ์š”!๋งŽ์€ ์œ /๋ฌด๋ฃŒ ์†Œํ”„ํŠธ์›จ์–ด

yeko90.tistory.com

 

๋‹ค์šด๋กœ๋“œ ํ•˜๊ณ  ๋„ˆ๋ฌด ์–ต๊นŒ ๋‹นํ–ˆ์ง€๋งŒ.. ์ปดํ“จํ„ฐ ๋ฆฌ๋ถ€ํŒ… ํ•ด์ฃผ๋‹ˆ๊นŒ ํ•ด๊ฒฐ ^^;;;; ์™„์ „ ๋Ÿฌํ‚ค๋น„ํ‚ค๋‹ค

 

 

# 2. ์ฒ˜์Œ ๋ณด๋Š” ์—๋Ÿฌ ์ •๋ฆฌ

 

libiomp5md.dll ํŒŒ์ผ์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ดˆ๊ธฐํ™”๋˜์–ด ๋ฐœ์ƒํ•˜๋Š” ์˜ค๋ฅ˜๋Š” OpenMP๋ผ๋Š” ๋ณ‘๋ ฌ ์ปดํ“จํŒ… ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ๋กœ๋“œ๋˜๋ฉด์„œ ์ƒ๊ธฐ๋Š” ์ถฉ๋Œ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ์ฃผ๋กœ PyTorch๋‚˜ NumPy ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ, ํ”„๋กœ๊ทธ๋žจ์—์„œ OpenMP๋ฅผ ๋‘ ๋ฒˆ ์ด์ƒ ๋ถˆ๋Ÿฌ์˜ค๊ฒŒ ๋˜์–ด ์ถฉ๋Œ์ด ์ƒ๊ธด ๊ฒ๋‹ˆ๋‹ค.

์ด ์˜ค๋ฅ˜๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์—ฌ OpenMP๊ฐ€ ์—ฌ๋Ÿฌ ๋ฒˆ ๋กœ๋“œ๋˜๋”๋ผ๋„ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด KMP_DUPLICATE_LIB_OK๋ผ๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ TRUE๋กœ ์„ค์ •ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

 

ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ• (Windows)

1. ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์—์„œ ์ผ์‹œ์ ์œผ๋กœ ์„ค์ •ํ•˜๊ธฐ

์ด ๋ฐฉ๋ฒ•์€ ํ˜„์žฌ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ ์„ธ์…˜์—์„œ๋งŒ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์„ค์ •๋˜๋ฉฐ, ์ปดํ“จํ„ฐ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜๊ฑฐ๋‚˜ ์ƒˆ๋กœ ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ด๋ฉด ์ด ์„ค์ •์€ ์‚ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

  1. ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ด๊ณ , ๋‹ค์Œ ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค:
  2. bash
  3. ์ด ์ƒํƒœ์—์„œ ํŒŒ์ด์ฌ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ด ์˜ค๋ฅ˜๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ด ๋ณด์„ธ์š”.
set KMP_DUPLICATE_LIB_OK=TRUE

2. Python ์ฝ”๋“œ ๋‚ด์—์„œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •ํ•˜๊ธฐ

Python ์ฝ”๋“œ ์•ˆ์—์„œ ์ง์ ‘ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜๋ฉด, ํ•ด๋‹น ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋™์•ˆ๋งŒ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

  1. import ๋ฌธ ์•„๋ž˜์— ๋‹ค์Œ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค:
  2. python
     
  3. ์ด ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•œ ํ›„์— ๋‹ค์‹œ ์‹คํ–‰ํ•ด ๋ณด์„ธ์š”. Python์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์ด ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
import os os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"

3. ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋กœ ์˜๊ตฌ ์„ค์ •ํ•˜๊ธฐ (Windows)

์ด ๋ฐฉ๋ฒ•์€ ์ปดํ“จํ„ฐ์˜ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— KMP_DUPLICATE_LIB_OK๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ, ๋ชจ๋“  ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์™€ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ด ์„ค์ •์ด ์œ ์ง€๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

  1. Windows ๊ฒ€์ƒ‰์ฐฝ์— "ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŽธ์ง‘"์ด๋ผ๊ณ  ์ž…๋ ฅํ•˜๊ณ  ์‹œ์Šคํ…œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŽธ์ง‘์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ฐฝ์—์„œ ์•„๋ž˜ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค:
    • ์‹œ์Šคํ…œ ๋ณ€์ˆ˜ ๋ถ€๋ถ„์—์„œ "์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
    • ๋ณ€์ˆ˜ ์ด๋ฆ„์— KMP_DUPLICATE_LIB_OK์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
    • ๋ณ€์ˆ˜ ๊ฐ’์— TRUE๋ฅผ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  3. ํ™•์ธ์„ ๋ˆŒ๋Ÿฌ ๋ชจ๋“  ์ฐฝ์„ ๋‹ซ๊ณ  ์ปดํ“จํ„ฐ๋ฅผ ์žฌ๋ถ€ํŒ…ํ•˜๋ฉด, ์ด ์„ค์ •์ด ๋ชจ๋“  ๋ช…๋ น ํ”„๋กฌํ”„ํŠธ์™€ ํ”„๋กœ๊ทธ๋žจ์— ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.

 

 

# 3. MongoDB Atlas Cloud Database ์„ค์น˜ํ›„์— fastapi์™€ ์—ฐ๊ฒฐํ•˜๋Š” ์ฝ”๋“œ

 

from pymongo.mongo_client import MongoClient
from pymongo.server_api import ServerApi
import os
from dotenv import load_dotenv
from datetime import datetime


# .env ํŒŒ์ผ ๋กœ๋“œ
load_dotenv()

uri = os.getenv("MONGO_URI")

# Create a new client and connect to the server
client = MongoClient(uri, server_api=ServerApi('1'))

# ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ์ปฌ๋ ‰์…˜ ์„ ํƒ
db = client["maeubom"]
collection = db["maeubom"]

# ์‚ฝ์ž…ํ•  ๋ฐ์ดํ„ฐ์˜ ์†์„ฑ ์ •์˜
# ๊ฐ ์ปฌ๋ ‰์…˜ ์ •์˜
emotion_analysis_col = db["EmotionAnalysis"]
summary_col = db["Summary"]
generated_image_col = db["GeneratedImage"]
generated_music_col = db["GeneratedMusic"]
quote_col = db["Quote"]
analysis_session_col = db["AnalysisSession"]

def get_database():
    return db

'''
# ๋‹ค๋ฅธ ํŒŒ์ผ์—์„œ database.py์˜ db ์—ฐ๊ฒฐ ๊ฐ€์ ธ์˜ค๊ธฐ
from database import get_database

db = get_database()  # ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ์ฒด ๊ฐ€์ ธ์˜ค๊ธฐ
collection = db["maeumbom"]  # ์ปฌ๋ ‰์…˜ ์„ ํƒ
'''

 

728x90
๋ฐ˜์‘ํ˜•