Получение вывода байтов с помощью ffmpeg и подпроцесса ⇐ Python
Получение вывода байтов с помощью ffmpeg и подпроцесса
Я загружаю несколько изображений с веб-сайта и делаю из них видео. Я не хочу сохранять видео в файл, а затем читать его, чтобы отправить по запросу POST. Я хочу унифицировать этот процесс и загрузить > Создать видео > Получить выходные байты > POST.
def Convert_images_to_video(): #output_video = "output.mp4" данные = get_radar_images («а») если нет данных: вернуть ложь ffmpeg_cmd = [ "ффмпег", "-частота кадров", "2", # Входная частота кадров (отрегулируйте по мере необходимости) "-ф", "изображение2пайп", "-вкодек", "ПНГ", "-я", "-", # Ввод из канала "-vf", # Видеофильтр "fps=30", # Частота кадров на выходе (отрегулируйте по мере необходимости) "-резюме", "libx264", # Видеокодек (h.264) "-vf", # Дополнительные видеофильтры "pad=ceil(iw/2)*2:ceil(ih/2)*2", # Заполнение и настройка разрешения "-профиль:v", «высокий», профиль # H.264 "-уровень", "3.0", # уровень H.264 "-pix_fmt", "yuv420p", # Формат пикселей "-бренд", "mp42", "-movflags", "frag_keyframe", # Брендинг "-ф", "mp4", "-", ] ffmpeg_process = subprocess.Popen( ffmpeg_cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) радар_изображения = data.get("список")[::-1] для изображения в радаре_изображениях: img_url = f"https://mycoolweb.com/coolimages/{image}" контент = запросы.get(img_url).content ffmpeg_process.stdin.write(содержимое) ffmpeg_process.stdin.close() ffmpeg_process.terminate() ffmpeg_process.wait() video_bytes = ffmpeg_process.stdout.read() печать (видео_байты) Если сделать это и выполнить python app.py, процесс зависнет вообще без какого-либо вывода. Я попытался добавить universal_newlines=True в subprocess.Popen, но он возвращает исключение TypeError: write() должно быть исключением str, а не bytes.
Поскольку я работаю с изображениями, image.decode("utf-8") не работает. Я некоторое время пытался и читал документацию ffmpeg по каналам, но не смог заставить ее работать.
Я загружаю несколько изображений с веб-сайта и делаю из них видео. Я не хочу сохранять видео в файл, а затем читать его, чтобы отправить по запросу POST. Я хочу унифицировать этот процесс и загрузить > Создать видео > Получить выходные байты > POST.
def Convert_images_to_video(): #output_video = "output.mp4" данные = get_radar_images («а») если нет данных: вернуть ложь ffmpeg_cmd = [ "ффмпег", "-частота кадров", "2", # Входная частота кадров (отрегулируйте по мере необходимости) "-ф", "изображение2пайп", "-вкодек", "ПНГ", "-я", "-", # Ввод из канала "-vf", # Видеофильтр "fps=30", # Частота кадров на выходе (отрегулируйте по мере необходимости) "-резюме", "libx264", # Видеокодек (h.264) "-vf", # Дополнительные видеофильтры "pad=ceil(iw/2)*2:ceil(ih/2)*2", # Заполнение и настройка разрешения "-профиль:v", «высокий», профиль # H.264 "-уровень", "3.0", # уровень H.264 "-pix_fmt", "yuv420p", # Формат пикселей "-бренд", "mp42", "-movflags", "frag_keyframe", # Брендинг "-ф", "mp4", "-", ] ffmpeg_process = subprocess.Popen( ffmpeg_cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE) радар_изображения = data.get("список")[::-1] для изображения в радаре_изображениях: img_url = f"https://mycoolweb.com/coolimages/{image}" контент = запросы.get(img_url).content ffmpeg_process.stdin.write(содержимое) ffmpeg_process.stdin.close() ffmpeg_process.terminate() ffmpeg_process.wait() video_bytes = ffmpeg_process.stdout.read() печать (видео_байты) Если сделать это и выполнить python app.py, процесс зависнет вообще без какого-либо вывода. Я попытался добавить universal_newlines=True в subprocess.Popen, но он возвращает исключение TypeError: write() должно быть исключением str, а не bytes.
Поскольку я работаю с изображениями, image.decode("utf-8") не работает. Я некоторое время пытался и читал документацию ffmpeg по каналам, но не смог заставить ее работать.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Получение вывода в реальном времени из iperf3 с использованием подпроцесса Python
Anonymous » » в форуме Python - 0 Ответы
- 11 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Вход в систему веб -сайта с помощью вывода и сохранения вывода и сохранения вывода и сеанса?
Anonymous » » в форуме Php - 0 Ответы
- 14 Просмотры
-
Последнее сообщение Anonymous
-