pyav:保存视频和音频以将文件与流hls分开

时间:2019-03-27 09:52:20

标签: audio-streaming audio-recording pyav

我正在编写一个脚本,将视频关键帧(提取到frame_{0}.jpg)和音频提取到单独的.mp3文件中。这是我到目前为止的内容:

import os
import av

path_to_video = 'http://184.72.239.149/vod/smil:BigBuckBunny.smil/playlist.m3u8'
container = av.open(path_to_video)

stream = container.streams.video[0]
audio_stream = container.streams.audio[0]

stream.codec_context.skip_frame = 'NONKEY'
tgt_path = "./frames"
if not os.path.isdir(tgt_path):
    os.makedirs(tgt_path)
for frame in container.decode(stream):
   tgt_filename = os.path.join(tgt_path,'frame-{:09d}.jpg'.format(frame.pts))
   frame.to_image().save(tgt_filename,quality=80)

如何将音频流保存到文件(最好成块)。我是否需要启动一个单独的捕获例程并并行运行,还是可以在上述循环中捕获?

很遗憾,我没有仔细检查pyav github posts。不确定如何在一个循环中完成此操作。

1 个答案:

答案 0 :(得分:0)

这来自发布在pyav github存储库上的answer

App signing