gpt4 book ai didi

c++ - Live555 TSX 文件索引

转载 作者:太空宇宙 更新时间:2023-11-04 13:22:22 25 4
gpt4 key购买 nike

我正在查看 Live555 媒体服务器。它有一个用于“索引”传输流视频的可执行文件,其名称/用途如下:

MPEG2TransportStreamIndexer video.ts 

因此,如果视频名为 TransportStreamVideo.ts,则索引器会创建一个名为 TransportStreamVideo.tsx 的文件。注意与视频文件相同的名称只是添加了一个“x”或扩展名是“.tsx

我知道这是为了“恶作剧”,但我想知道它在内部是如何运作的。

所以我的问题是:Live555如何同时使用'.ts'文件和'.tsx'文件?

是否生成了全新的流以发送出去显示在客户端视频显示器上?

最佳答案

如果您在文件 DynamicRTSPServer.cpp 中查看 live555MediaServer 的代码,您将看到 session 是这样创建的:

  } 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 文件不是新流,它是传输流文件的索引。

关于c++ - Live555 TSX 文件索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34711645/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com