Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Заголовок (moov) должен всегда располагаться перед данными (mdat). Примерная структура файла должна быть такой:

Code Block
languageyml
themeRDark
collapsetrue
Atom ftyp @ 0 of size: 32, ends @ 32
Atom moov @ 32 of size: 357961, ends @ 357993
     Atom mvhd @ 40 of size: 108, ends @ 148
     Atom trak @ 148 of size: 127708, ends @ 127856
         Atom tkhd @ 156 of size: 92, ends @ 248
         Atom edts @ 248 of size: 48, ends @ 296
             Atom elst @ 256 of size: 40, ends @ 296
         Atom mdia @ 296 of size: 127560, ends @ 127856
             Atom mdhd @ 304 of size: 32, ends @ 336
             Atom hdlr @ 336 of size: 45, ends @ 381
             Atom minf @ 381 of size: 127475, ends @ 127856
                 Atom vmhd @ 389 of size: 20, ends @ 409
                 Atom dinf @ 409 of size: 36, ends @ 445
                     Atom dref @ 417 of size: 28, ends @ 445
                         Atom url  @ 433 of size: 12, ends @ 445
                 Atom stbl @ 445 of size: 127411, ends @ 127856
                     Atom stsd @ 453 of size: 171, ends @ 624
                         Atom avc1 @ 469 of size: 155, ends @ 624
                             Atom avcC @ 555 of size: 53, ends @ 608
                             Atom pasp @ 608 of size: 16, ends @ 624			 ~
                     Atom stts @ 624 of size: 24, ends @ 648
                     Atom stss @ 648 of size: 568, ends @ 1216
                     Atom stsc @ 1216 of size: 28, ends @ 1244
                     Atom stsz @ 1244 of size: 63308, ends @ 64552
                     Atom stco @ 64552 of size: 63304, ends @ 127856
     Atom trak @ 127856 of size: 230039, ends @ 357895
         Atom tkhd @ 127864 of size: 92, ends @ 127956
         Atom edts @ 127956 of size: 36, ends @ 127992
             Atom elst @ 127964 of size: 28, ends @ 127992
         Atom mdia @ 127992 of size: 229903, ends @ 357895
             Atom mdhd @ 128000 of size: 32, ends @ 128032
             Atom hdlr @ 128032 of size: 45, ends @ 128077
             Atom minf @ 128077 of size: 229818, ends @ 357895
                 Atom smhd @ 128085 of size: 16, ends @ 128101
                 Atom dinf @ 128101 of size: 36, ends @ 128137
                     Atom dref @ 128109 of size: 28, ends @ 128137
                         Atom url  @ 128125 of size: 12, ends @ 128137
                 Atom stbl @ 128137 of size: 229758, ends @ 357895
                     Atom stsd @ 128145 of size: 106, ends @ 128251
                         Atom mp4a @ 128161 of size: 90, ends @ 128251
                             Atom esds @ 128197 of size: 54, ends @ 128251
                     Atom stts @ 128251 of size: 32, ends @ 128283
                     Atom stsc @ 128283 of size: 47500, ends @ 175783
                     Atom stsz @ 175783 of size: 118804, ends @ 294587
                     Atom stco @ 294587 of size: 63308, ends @ 357895
     Atom udta @ 357895 of size: 98, ends @ 357993
         Atom meta @ 357903 of size: 90, ends @ 357993
             Atom hdlr @ 357915 of size: 33, ends @ 357948
             Atom ilst @ 357948 of size: 45, ends @ 357993
                 Atom ©too @ 357956 of size: 37, ends @ 357993
                     Atom data @ 357964 of size: 29, ends @ 357993...
Atom free @ 357993 of size: 8, ends @ 358001
Atom mdat @ 358001 of size: 212741950, ends @ 213099951

...

REST-методы и статусы ответа

REST-метод

Пример тела REST-запроса

Пример тела REST-ответа

Статусы ответа

Описание

/vod/startup

Code Block
languagejs
themeRDark
{
 "uri":"vod://sample.mp4"
 "localStreamName": "test"
}

409 - Conflict

500 - Internal error


Захватить поток из указанного файла


/vod/find
Code Block
languagejs
themeRDark
{
 "localStreamName": "test"

}
Code Block
languagejs
themeRDark
[
    {
        "localMediaSessionId": "29ec3236-1093-42bb-88d6-d4ac37af3ac0",
        "localStreamName": "test",
        "uri": "vod://sample.mp4",
        "status": "PROCESSED_LOCAL",
        "hasAudio": true,
        "hasVideo": true,
        "record": false
    }
]

200 – потоки найдены

404 – потоки не найдены

Найти VOD-потоки по указанному критерию

/vod/find_all


Code Block
languagejs
themeRDark
[
    {
        "localMediaSessionId": "29ec3236-1093-42bb-88d6-d4ac37af3ac0",
        "localStreamName": "test",
        "uri": "vod://sample.mp4",
        "status": "PROCESSED_LOCAL",
        "hasAudio": true,
        "hasVideo": true,
        "record": false
    }
]

200 – потоки найдены

404 – потоки не найдены

Найти все VOD-потоки

/vod/terminate

Code Block
languagejs
themeRDark
{
 "uri":"vod://sample.mp4"
 "localStreamName": "test"
}

200 - поток завершен

404 - поток не найден

Завершить VOD-поток

Параметры

Имя параметра

Описание

Пример

uri

Имя файла для захвата потока

vod://sample.mp4
localStreamNameИмя создаваемого потока
test

status

Текущий статус потока

PROCESSED_LOCAL
localMediaSessionIdИдентификатор медиасессии
29ec3236-1093-42bb-88d6-d4ac37af3ac0
hasAudioВ потоке есть аудио
true
hasVideoВ потоке есть видео
true
recordПоток записывается
false

Известные проблемы

1) AAC фреймы типа 0 не поддерживаются декодером и будут игнорироваться при воспроизведении захваченного потока

...