我有一个可以实时生成视频的程序。现在,我想流这个视频在线生成。有人知道一个简单的方法吗?
我正在描述一个CGI方法,我尝试了,但没有工作,但请注意,我是开放的所有选择,以实现我的目标。我只是想知道是否有人知道为什么我的方法不起作用,以及我应该如何解决它
例如,我将内容类型设置为mpeg,并定期打印mpeg文件中的数据块。但视频只持续很短的时间,并停止流。我的代码是这样的(在Python中)。
print "Content-type: video/mpeg"
print
f = open("test2.mpg")
while (True):
st = f.read(1024*1024)
sys.stdout.write(st)
time.sleep(0.5)
尽管这样会很好。我真的不明白为什么这两个程序的输出是不同的。但显然我不能使用这种方法,因为我不能等到整个文件生成后再读入。
print "Content-type: video/mpeg"
print
f = open("test2.mpg")
print f.read()
最佳答案
test2.mpg
是什么类型的文件?
如果它是一个mpeg4
文件,您的方法将无法工作,因为您将在文件的开头或结尾有头。
如果您的文件是一个mpeg2
传输流,那么这应该可以工作。