我在看Live555媒体服务器。它有一个可执行文件,用于“索引”传输流视频,命名/使用如下:
MPEG2TransportStreamIndexer video.ts 因此,如果视频名为TransportStreamVideo.ts,则索引器将创建一个名为TransportStreamVideo.tsx的文件。注意,与视频文件添加'x‘或扩展名相同的名称是".tsx“
我知道这是为了“耍把戏”,但我想知道这在内部是如何工作的。
因此,我的问题是: Live555如何将'.ts‘文件和'.tsx’文件一起使用?
是否产生了一个全新的流以发送到客户端视频显示上?
发布于 2016-01-11 21:07:22
如果您查看文件DynamicRTSPServer.cpp中的DynamicRTSPServer.cpp代码,您将看到会话的创建方式如下:
} else if (strcmp(extension, ".ts") == 0) {
// Assumed to be a MPEG Transport Stream file:
// Use an index file name that's the same as the TS file name, except with ".tsx":
unsigned indexFileNameLen = strlen(fileName) + 2; // allow for trailing "x\0"
char* indexFileName = new char[indexFileNameLen];
sprintf(indexFileName, "%sx", fileName);
NEW_SMS("MPEG Transport Stream");
sms->addSubsession(MPEG2TransportFileServerMediaSubsession::createNew(env, fileName, indexFileName, reuseSource));
delete[] indexFileName;
} MPEG2TransportFileServerMediaSubsession对象使用.ts文件及其关联的.tsx索引。
tsx文件不是新的流,而是传输流文件上的索引。
https://stackoverflow.com/questions/34711645
复制相似问题