Как мы можем объединить два BytesIO буфера видео и аудио в один объект BytesIO

Я использую pytube, который помогает скачивать видео с YouTube. Он загружает видео со звуком до 720px, после этого разрешения он разделяет аудио и видео файлы отдельно, чтобы сохранить качество. Я хочу объединить эти байтовые объекты в один байтовый объект, который можно скачать.

Я попробовал это из другого вопроса на StackOverflow.

import ffmpeg
from io import BytesIO
from pytube import YouTube

def download_video(request):
    buffer=BytesIO()
    yt_test = YouTube(video_url)
    video = yt_test.streams.get_by_itag(137)
    input_video = ffmpeg.input(video)
  
    audio = yt_test.streams.get_by_itag(137)
    input_audio = ffmpeg.input(audio)
  
    combined = ffmpeg.concat(input_video, input_audio, v=1, a=1)
    combined.stream_to_buffer(buffer)
    buffer.seek(0)

но это дает ошибку.

Error: AttributeError: объект 'FilterableStream' не имеет атрибута 'stream_to_buffer'

SO, я хочу спросить, есть ли способ, которым я могу напрямую объединить эти аудио и видео байты буфера, используя только FFmpeg или другой метод, чтобы я мог в дальнейшем использовать это для загрузки и других вещей в соответствии с моим сценарием использования.

Вернуться на верх