我想使用Python自动执行视频录制。我从我的代码开始,尝试了一个简单的.m3u8文件。但是现在我发现.m3u8文件会在几秒钟后自动更新。
r = requests.get(url) m3u8_master = m3u8.loads(r.text)
playlist = m3u8.loads(r.text) playlist.data['segments'][0]['uri'] r = requests.get(url2 + playlist.data['segments'][0]['uri']) with open("test.ts", "wb") as f:
f.write(r.content)
.m3u8文件:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:12634365
#EXTINF:10.0000,
20190221T021754-05-12634365.ts
#EXTINF:10.0000,
20190221T021754-05-12634366.ts
#EXTINF:10.0000,
20190221T021754-05-12634367.ts
#EXTINF:10.0000,
20190221T021754-05-12634368.ts
#EXTINF:10.0000,
20190221T021754-05-12634369.ts
#EXTINF:10.0000,
20190221T021754-05-12634370.ts
.m3u8文件几秒钟后:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:11
#EXT-X-MEDIA-SEQUENCE:12634366
#EXTINF:10.0000,
20190221T021754-05-12634366.ts
#EXTINF:10.0000,
20190221T021754-05-12634367.ts
#EXTINF:10.0000,
20190221T021754-05-12634368.ts
#EXTINF:10.0000,
20190221T021754-05-12634369.ts
#EXTINF:10.0000,
20190221T021754-05-12634370.ts
#EXTINF:10.0000,
20190221T021754-05-12634371.ts
我只想要一个无需ffmpeg即可记录这样的实时流的python脚本。
答案 0 :(得分:0)
.m3u8格式仅告诉视频文件在哪里以及以什么顺序出现。包含视频的是它们自己的.ts文件,由于您提到不使用ffmpeg,所以我建议运行循环以获取所有文件并保存。 .ts文件的优点是可以将它们合并为一个文件,因此只要它们是顺序文件,就可以将最后一个文件追加到下一个文件中。然后运行循环以获取下一个生成的文件。 https://www.youtube.com/watch?v=bytnxnZFLeg是展示这一点的一个很好的视频,他介绍了如何处理静态.m3u8文件视频流,但可以很容易地将其用于实时视频。