【问题标题】:Live555 TSX file indexingLive555 TSX 文件索引
【发布时间】:2016-01-10 22:41:58
【问题描述】:

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

MPEG2TransportStreamIndexer video.ts 

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

我知道这是为了“trick play”,但我想知道这在内部是如何工作的。

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

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

【问题讨论】:

    标签: c++ video live555


    【解决方案1】:

    如果您查看文件DynamicRTSPServer.cpplive555MediaServer 的代码,您会看到会话是这样创建的:

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

    【讨论】:

    • 感谢您的指导。我现在看到了。
    猜你喜欢
    • 2021-10-06
    • 2020-03-23
    • 2020-10-29
    • 2021-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-24
    相关资源
    最近更新 更多