生成视频时如何在线传输视频以及失败的CGI方法

我有一个可以实时生成视频的程序.现在,我想在生成视频的同时在线流式传输该视频.有人知道这样做的简单方法吗?

我描述的是我尝试过但没有奏效的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传输流,则应该可以.

上一篇:如何将网络音频流保存到文件(c / java)


下一篇:spark streaming之 windowDuration、slideDuration、batchDuration​