具有ffmpegpython的多比特率HLS

2024-05-13 01:36:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用ffmpeg-python库将.mp4视频转换为HLS格式,输出如下:

ffmpeg.output(
    mp4_input,
    m3u8_name,
    format='hls', start_number=0, hls_time=5,
    hls_list_size=0,
),

如何使ffmpeg-python以多个比特率输出HLS并为其创建主播放列表


Tags: nameformatnumberinputoutput视频time格式
1条回答
网友
1楼 · 发布于 2024-05-13 01:36:24

实际上,您可以在没有ffmpeg-python的情况下实现同样的效果。我是VidGear视频处理Python项目的创建者,该项目包含用于此目的的StreamGearAPI。示例代码如下所示:

# import required libraries
from vidgear.gears import StreamGear

# activate Single-Source Mode and also define various streams
stream_params = {
    "-video_source": "foo.mp4",
    "-streams": [
        {"-resolution": "1920x1080", "-video_bitrate": "4000k"},  # Stream1: 1920x1080 at 4000kbs bitrate
        {"-resolution": "1280x720", "-framerate": 30.0},  # Stream2: 1280x720 at 30fps framerate
        {"-resolution": "640x360", "-framerate": 60.0},  # Stream3: 640x360 at 60fps framerate
        {"-resolution": "320x240", "-video_bitrate": "500k"},  # Stream3: 320x240 at 500kbs bitrate
    ],
}
# describe a suitable master playlist location/name and assign params
streamer = StreamGear(output="hls_out.m3u8", format = "hls", **stream_params)
# trancode source
streamer.transcode_source()
# terminate
streamer.terminate()

就这样。祝你好运

相关问题 更多 >