我正在尝试通过 python-vlc 录制 RTP 流恰好 30 秒,但输出文件有时小于或大于我想要的视频长度。
注意:我尝试使用 ffmpeg,但它无法正确解码流,因此决定使用 python-vlc。
这是我的代码:
import vlc
import time
vlcInstance = vlc.Instance("--demux=ts")
player1 = vlcInstance.media_player_new()
media1 = vlcInstance.media_new("rtp://239.194.115.71:5000")
media1.add_option("sout=file/ts:sample.mpg")
limiter = 0
player1.set_media(media1)
player1.play()
time.sleep(1)
while player1.is_playing():
if limiter > 30:
player1.stop()
media1.release()
break
limiter = limiter + 1
time.sleep(1)
我可以使用什么可能的方法来始终记录 30 秒的流?