Skip to content

Conversation

@mkbloke
Copy link
Member

@mkbloke mkbloke commented Oct 2, 2021

closes #3866

I've only used hls2 for the URLs for the time being, as all point to the same 720p-only variant playlist, even for 360p. hls uses the http scheme, the other two use https.

API JSON
{
  "html5": true,
  "media": {
    "code": "18036867_2021100288f93bda917504b0",
    "title": "[생] 대구 99일차)운동으로 덤벼라,,,!",
    "userId": "baseball767",
    "userIdx": 18036867,
    "userNick": "채서린♡",
    "category": "ind",
    "isAdult": false,
    "isPw": false,
    "type": "free",
    "heart": 0,
    "user": 30,
    "userLimit": 300,
    "sizeWidth": 1280,
    "sizeHeight": 720,
    "browser": "win",
    "startTime": "2021-10-02 03:59:07",
    "endTime": "0000-00-00 00:00:00",
    "isLive": true,
    "liveType": "live",
    "playCnt": 585,
    "likeCnt": 25,
    "bookmarkCnt": 675,
    "totalScoreCnt": 16355,
    "storage": "storage86",
    "isGuestLive": false,
    "thumbUrl": "https://dcache1.pandalive.co.kr/cast/18036867_2021100288f93bda917504b0?A9IzytK-vwR24Bzo=1608c02ecac10ebd21371a411fd46e06f8492163",
    "userImg": "https://dcache1.pandalive.co.kr/user/ce5d271d1e2a23084cc27fb0cd62100cd81953fd?2qyWlOU=1&Zw4Bzo=1",
    "listUp": "",
    "listDeco": "0",
    "userUp": ""
  },
  "radioMode": false,
  "mode": "live",
  "chatMode": "chat",
  "playMode": "play",
  "PlayList": {
    "size": {
      "width": 1280,
      "height": 720
    },
    "rtmp": [
      {
        "name": "720p",
        "sort": 1,
        "server": "rtmp://stream4.neolive.kr:1935/neofuture_live01h/?authkey=NOgrZ4nRp81TdnZMxu2JafkotGcL68BEcqSOZr17D9koxutVIn_NhOsW182HiilXO7n69A2C9qZlV8EFiikcQGpNSiB95qtn1bCgjzvY57cCLAZGpX1WN8IEBOghQhYO5XyOhrTWlSxa58xrFWtLQocFZNSPt7C7aP1rFh_H5bz5gOZSoCIDeDwAR4cSH7bToJZWF7Ia1e-hRWn7QqyTLrQPZ8FggSkfSGoJ6obEgrTW1vz7PTgCRWn7AX2TLrQUgBxADTmrSfY7d7eFgKtPhODgViwpRmpU2pb7gNSPxrEGiSku2voT2hcF57SWN8I8MPghFf_QVAbTHY1WF7IKFv0dRWn7AXzTLbtPlrCggCkay7pVInyShb3XoaA&key1=&key2=&hmac=fd4bbb095d9d287905530bc356575fe9fa5e9c64275e18560e01bee744482dbc&ip=192.168.1.1",
        "stream": "mp4:storage86/18036867_2021100288f93bda917504b0",
        "url": "rtmp://stream4.neolive.kr:1935/neofuture_live01h/?authkey=NOgrZ4nRp81TdnZMxu2JafkotGcL68BEcqSOZr17D9koxutVIn_NhOsW182HiilXO7n69A2C9qZlV8EFiikcQGpNSiB95qtn1bCgjzvY57cCLAZGpX1WN8IEBOghQhYO5XyOhrTWlSxa58xrFWtLQocFZNSPt7C7aP1rFh_H5bz5gOZSoCIDeDwAR4cSH7bToJZWF7Ia1e-hRWn7QqyTLrQPZ8FggSkfSGoJ6obEgrTW1vz7PTgCRWn7AX2TLrQUgBxADTmrSfY7d7eFgKtPhODgViwpRmpU2pb7gNSPxrEGiSku2voT2hcF57SWN8I8MPghFf_QVAbTHY1WF7IKFv0dRWn7AXzTLbtPlrCggCkay7pVInyShb3XoaA&key1=&key2=&hmac=fd4bbb095d9d287905530bc356575fe9fa5e9c64275e18560e01bee744482dbc&ip=192.168.1.1/_definst_/mp4:storage86/18036867_2021100288f93bda917504b0"
      },
      {
        "name": "360p",
        "sort": 3,
        "server": "rtmp://stream4.neolive.kr:1935/neofuture_live01h/?authkey=NOgrZ4nRp81TdnZMxu2JafkotGcL68BEcqSOZr17D9koxutVIn_NhOsW182HiilXO7n69A2C9qZlV8EFiikcQGpNSiB95qtn1bCgjzvY57cCLAZGpX1WN8IEBOghQhYO5XyOhrTWlSxa58xrFWtLQocFZNSPt7C7aP1rFh_H5bz5gOZSoCIDeDwAR4cSH7bToJZWF7Ia1e-hRWn7QqyTLrQPZ8FggSkfSGoJ6obEgrTW1vz7PTgCRWn7AX2TLrQUgBxADTmrSfY7d7eFgKtPhODgViwpRmpU2pb7gNSPxrEGiSku2voT2hcF57SWN8I8MPghFf_QVAbTHY1WF7IKFv0dRWn7AXzTLbtPlrCggCkay7pVInyShb3XoaA&key1=&key2=&hmac=fd4bbb095d9d287905530bc356575fe9fa5e9c64275e18560e01bee744482dbc&ip=192.168.1.1",
        "stream": "mp4:storage86/18036867_2021100288f93bda917504b0",
        "url": "rtmp://stream4.neolive.kr:1935/neofuture_live01h/?authkey=NOgrZ4nRp81TdnZMxu2JafkotGcL68BEcqSOZr17D9koxutVIn_NhOsW182HiilXO7n69A2C9qZlV8EFiikcQGpNSiB95qtn1bCgjzvY57cCLAZGpX1WN8IEBOghQhYO5XyOhrTWlSxa58xrFWtLQocFZNSPt7C7aP1rFh_H5bz5gOZSoCIDeDwAR4cSH7bToJZWF7Ia1e-hRWn7QqyTLrQPZ8FggSkfSGoJ6obEgrTW1vz7PTgCRWn7AX2TLrQUgBxADTmrSfY7d7eFgKtPhODgViwpRmpU2pb7gNSPxrEGiSku2voT2hcF57SWN8I8MPghFf_QVAbTHY1WF7IKFv0dRWn7AXzTLbtPlrCggCkay7pVInyShb3XoaA&key1=&key2=&hmac=fd4bbb095d9d287905530bc356575fe9fa5e9c64275e18560e01bee744482dbc&ip=192.168.1.1/_definst_/mp4:storage86/18036867_2021100288f93bda917504b0"
      }
    ],
    "hls": [
      {
        "name": "720p",
        "sort": 1,
        "url": "http://stream4.neolive.kr:14432/neofuture_live01h/_definst_/storage86/18036867_2021100288f93bda917504b0/playlist.m3u8?authkey=NOgrZ4nRp81TdnZMxu2JafkotGcL68BEcqSOZr17D9koxutVIn_NhOsW182HiilXO7n69A2C9qZlV8EFiikcQGpNSiB95qtn1bCgjzvY57cCLAZGpX1WN8IEBOghQhYO5XyOhrTWlSxa58xrFWtLQocFZNSPt7C7aP1rFh_H5bz5gOZSoCIDeDwAR4cSH7bToJZWF7Ia1e-hRWn7QqyTLrQPZ8FggSkfSGoJ6obEgrTW1vz7PTgCRWn7AX2TLrQUgBxADTmrSfY7d7eFgKtPhODgViwpRmpU2pb7gNSPxrEGiSku2voT2hcF57SWN8I8MPghFf_QVAbTHY1WF7IKFv0dRWn7AXzTLbtPlrCggCkay7pVInyShb3XoaA&key1=&key2=&hmac=fd4bbb095d9d287905530bc356575fe9fa5e9c64275e18560e01bee744482dbc&ip=192.168.1.1"
      },
      {
        "name": "360p",
        "sort": 3,
        "url": "http://stream4.neolive.kr:14432/neofuture_live01h/_definst_/storage86/18036867_2021100288f93bda917504b0/playlist.m3u8?authkey=NOgrZ4nRp81TdnZMxu2JafkotGcL68BEcqSOZr17D9koxutVIn_NhOsW182HiilXO7n69A2C9qZlV8EFiikcQGpNSiB95qtn1bCgjzvY57cCLAZGpX1WN8IEBOghQhYO5XyOhrTWlSxa58xrFWtLQocFZNSPt7C7aP1rFh_H5bz5gOZSoCIDeDwAR4cSH7bToJZWF7Ia1e-hRWn7QqyTLrQPZ8FggSkfSGoJ6obEgrTW1vz7PTgCRWn7AX2TLrQUgBxADTmrSfY7d7eFgKtPhODgViwpRmpU2pb7gNSPxrEGiSku2voT2hcF57SWN8I8MPghFf_QVAbTHY1WF7IKFv0dRWn7AXzTLbtPlrCggCkay7pVInyShb3XoaA&key1=&key2=&hmac=fd4bbb095d9d287905530bc356575fe9fa5e9c64275e18560e01bee744482dbc&ip=192.168.1.1"
      }
    ],
    "hls2": [
      {
        "name": "720p",
        "sort": 1,
        "url": "https://stream4.neolive.kr:14433/neofuture_live01h/_definst_/storage86/18036867_2021100288f93bda917504b0/playlist.m3u8?authkey=NOgrZ4nRp81TdnZMxu2JafkotGcL68BEcqSOZr17D9koxutVIn_NhOsW182HiilXO7n69A2C9qZlV8EFiikcQGpNSiB95qtn1bCgjzvY57cCLAZGpX1WN8IEBOghQhYO5XyOhrTWlSxa58xrFWtLQocFZNSPt7C7aP1rFh_H5bz5gOZSoCIDeDwAR4cSH7bToJZWF7Ia1e-hRWn7QqyTLrQPZ8FggSkfSGoJ6obEgrTW1vz7PTgCRWn7AX2TLrQUgBxADTmrSfY7d7eFgKtPhODgViwpRmpU2pb7gNSPxrEGiSku2voT2hcF57SWN8I8MPghFf_QVAbTHY1WF7IKFv0dRWn7AXzTLbtPlrCggCkay7pVInyShb3XoaA&key1=&key2=&hmac=fd4bbb095d9d287905530bc356575fe9fa5e9c64275e18560e01bee744482dbc&ip=192.168.1.1"
      },
      {
        "name": "360p",
        "sort": 3,
        "url": "https://stream4.neolive.kr:14433/neofuture_live01h/_definst_/storage86/18036867_2021100288f93bda917504b0/playlist.m3u8?authkey=NOgrZ4nRp81TdnZMxu2JafkotGcL68BEcqSOZr17D9koxutVIn_NhOsW182HiilXO7n69A2C9qZlV8EFiikcQGpNSiB95qtn1bCgjzvY57cCLAZGpX1WN8IEBOghQhYO5XyOhrTWlSxa58xrFWtLQocFZNSPt7C7aP1rFh_H5bz5gOZSoCIDeDwAR4cSH7bToJZWF7Ia1e-hRWn7QqyTLrQPZ8FggSkfSGoJ6obEgrTW1vz7PTgCRWn7AX2TLrQUgBxADTmrSfY7d7eFgKtPhODgViwpRmpU2pb7gNSPxrEGiSku2voT2hcF57SWN8I8MPghFf_QVAbTHY1WF7IKFv0dRWn7AXzTLbtPlrCggCkay7pVInyShb3XoaA&key1=&key2=&hmac=fd4bbb095d9d287905530bc356575fe9fa5e9c64275e18560e01bee744482dbc&ip=192.168.1.1"
      }
    ],
    "hls3": [
      {
        "name": "720p",
        "sort": 1,
        "url": "https://stream4.neolive.kr:14433/neofuture_live01h/_definst_/storage86/18036867_2021100288f93bda917504b0/playlist.m3u8?authkey=NOgrZ4nRp81TdnZMxu2JafkotGcL68BEcqSOZr17D9koxutVIn_NhOsW182HiilXO7n69A2C9qZlV8EFiikcQGpNSiB95qtn1bCgjzvY57cCLAZGpX1WN8IEBOghQhYO5XyOhrTWlSxa58xrFWtLQocFZNSPt7C7aP1rFh_H5bz5gOZSoCIDeDwAR4cSH7bToJZWF7Ia1e-hRWn7QqyTLrQPZ8FggSkfSGoJ6obEgrTW1vz7PTgCRWn7AX2TLrQUgBxADTmrSfY7d7eFgKtPhODgViwpRmpU2pb7gNSPxrEGiSku2voT2hcF57SWN8I8MPghFf_QVAbTHY1WF7IKFv0dRWn7AXzTLbtPlrCggCkay7pVInyShb3XoaA&key1=&key2=&hmac=fd4bbb095d9d287905530bc356575fe9fa5e9c64275e18560e01bee744482dbc&ip=192.168.1.1"
      },
      {
        "name": "360p",
        "sort": 3,
        "url": "https://stream4.neolive.kr:14433/neofuture_live01h/_definst_/storage86/18036867_2021100288f93bda917504b0/playlist.m3u8?authkey=NOgrZ4nRp81TdnZMxu2JafkotGcL68BEcqSOZr17D9koxutVIn_NhOsW182HiilXO7n69A2C9qZlV8EFiikcQGpNSiB95qtn1bCgjzvY57cCLAZGpX1WN8IEBOghQhYO5XyOhrTWlSxa58xrFWtLQocFZNSPt7C7aP1rFh_H5bz5gOZSoCIDeDwAR4cSH7bToJZWF7Ia1e-hRWn7QqyTLrQPZ8FggSkfSGoJ6obEgrTW1vz7PTgCRWn7AX2TLrQUgBxADTmrSfY7d7eFgKtPhODgViwpRmpU2pb7gNSPxrEGiSku2voT2hcF57SWN8I8MPghFf_QVAbTHY1WF7IKFv0dRWn7AXzTLbtPlrCggCkay7pVInyShb3XoaA&key1=&key2=&hmac=fd4bbb095d9d287905530bc356575fe9fa5e9c64275e18560e01bee744482dbc&ip=192.168.1.1"
      }
    ]
  },
  "iePlayMode": "hlsOnly",
  "result": true,
  "message": "시청이 시작되었습니다.",
  "fan": {
    "level": 0,
    "name": "",
    "isManager": false,
    "rank": 0
  },
  "fanList": [
    {
      "rank": 1,
      "userIdx": 18229532,
      "userId": "1783723243@ka",
      "userNick": "채서린♥아부지♥❥uf❥",
      "isEverFan": true,
      "userProfileImgHash": "",
      "userProfileImg": "https://dcache1.pandalive.co.kr/user/18229532?2qyWlOU=1&Zw4Bzo=1&Y6K2VQRw0MfwbPfZ4Dna=0&AYNUR1c5v-yi4dNLpZWlOU=0",
      "fanLevel": 5,
      "fanName": "♡서린이 가족♡"
    },
    {
      "rank": 2,
      "userIdx": 11324254,
      "userId": "ccc3220@filecity",
      "userNick": "채서린❤멜로디♪",
      "isEverFan": true,
      "userProfileImgHash": "",
      "userProfileImg": "https://dcache1.pandalive.co.kr/user/11324254?2qyWlOU=1&Zw4Bzo=1&Y6K2VQRw0MfwbPfZ4Dna=0&AYNUR1c5v-yi4dNLpZWlOU=0",
      "fanLevel": 5,
      "fanName": "♡서린이 가족♡"
    },
    {
      "rank": 3,
      "userIdx": 14059151,
      "userId": "yew8768",
      "userNick": "채서린♡뚱보♡카스",
      "isEverFan": true,
      "userProfileImgHash": "",
      "userProfileImg": "https://dcache1.pandalive.co.kr/user/14059151?2qyWlOU=1&Zw4Bzo=1&Y6K2VQRw0MfwbPfZ4Dna=0&AYNUR1c5v-yi4dNLpZWlOU=0",
      "fanLevel": 5,
      "fanName": "♡서린이 가족♡"
    },
    {
      "rank": 4,
      "userIdx": 18403484,
      "userId": "gogo7080",
      "userNick": "♥채서린♥드링크",
      "isEverFan": true,
      "userProfileImgHash": "",
      "userProfileImg": "https://dcache1.pandalive.co.kr/user/18403484?2qyWlOU=1&Zw4Bzo=1&Y6K2VQRw0MfwbPfZ4Dna=0&AYNUR1c5v-yi4dNLpZWlOU=0",
      "fanLevel": 5,
      "fanName": "♡서린이 가족♡"
    },
    {
      "rank": 5,
      "userIdx": 17462568,
      "userId": "gimlet44",
      "userNick": "★삐뚤어질테다★",
      "isEverFan": true,
      "userProfileImgHash": "83a17ce4867c3dd014fea01a3febd26ed3e34b66",
      "userProfileImg": "https://dcache1.pandalive.co.kr/user/83a17ce4867c3dd014fea01a3febd26ed3e34b66?2qyWlOU=1&Zw4Bzo=1&Y6K2VQRw0MfwbPfZ4Dna=0&AYNUR1c5v-yi4dNLpZWlOU=0",
      "fanLevel": 5,
      "fanName": "♡서린이 가족♡"
    },
    {
      "rank": 6,
      "userIdx": 14969149,
      "userId": "18251188@smartfile",
      "userNick": "6347",
      "isEverFan": true,
      "userProfileImgHash": "",
      "userProfileImg": "https://dcache1.pandalive.co.kr/user/14969149?2qyWlOU=1&Zw4Bzo=1&Y6K2VQRw0MfwbPfZ4Dna=0&AYNUR1c5v-yi4dNLpZWlOU=0",
      "fanLevel": 5,
      "fanName": "♡서린이 가족♡"
    },
    {
      "rank": 7,
      "userIdx": 15567598,
      "userId": "zxcvmr",
      "userNick": "❀상큼서린이❀",
      "isEverFan": true,
      "userProfileImgHash": "",
      "userProfileImg": "https://dcache1.pandalive.co.kr/user/15567598?2qyWlOU=1&Zw4Bzo=1&Y6K2VQRw0MfwbPfZ4Dna=0&AYNUR1c5v-yi4dNLpZWlOU=0",
      "fanLevel": 5,
      "fanName": "♡서린이 가족♡"
    },
    {
      "rank": 8,
      "userIdx": 17135869,
      "userId": "rothflgkwlak",
      "userNick": "⚡하유⭐에몽이라불러™",
      "isEverFan": true,
      "userProfileImgHash": "b219e7dfbc74e39e8618cd19e9fcb02d5afbe6b3",
      "userProfileImg": "https://dcache1.pandalive.co.kr/user/b219e7dfbc74e39e8618cd19e9fcb02d5afbe6b3?2qyWlOU=1&Zw4Bzo=1&Y6K2VQRw0MfwbPfZ4Dna=0&AYNUR1c5v-yi4dNLpZWlOU=0",
      "fanLevel": 5,
      "fanName": "♡서린이 가족♡"
    },
    {
      "rank": 9,
      "userIdx": 3472671,
      "userId": "xodjs3874468",
      "userNick": "No25⭐구미호♥쟈니",
      "isEverFan": true,
      "userProfileImgHash": "",
      "userProfileImg": "https://dcache1.pandalive.co.kr/user/3472671?2qyWlOU=1&Zw4Bzo=1&Y6K2VQRw0MfwbPfZ4Dna=0&AYNUR1c5v-yi4dNLpZWlOU=0",
      "fanLevel": 5,
      "fanName": "♡서린이 가족♡"
    },
    {
      "rank": 10,
      "userIdx": 18186110,
      "userId": "18517341@smartfile",
      "userNick": "채서린강쥐",
      "isEverFan": true,
      "userProfileImgHash": "",
      "userProfileImg": "https://dcache1.pandalive.co.kr/user/18186110?2qyWlOU=1&Zw4Bzo=1&Y6K2VQRw0MfwbPfZ4Dna=0&AYNUR1c5v-yi4dNLpZWlOU=0",
      "fanLevel": 5,
      "fanName": "♡서린이 가족♡"
    }
  ],
  "isBookmark": false,
  "chatServer": {
    "url": "https://chat3.neolive.kr",
    "t": 1633119407,
    "token": "a86c9a03f596b8da3a152c3648e88999172bc7c817a83e0a11fdcea052619423"
  },
  "roomInfo": "5b204a9c9f7adc0699963ba5aa4f168fa142b33abb05dd7a1a6630b09d420eb1:eyJmYW4iOnsibGV2ZWwiOi0xLCJuYW1lIjoiZ3Vlc3QiLCJyYW5rIjowLCJpc01hbmFnZXIiOmZhbHNlfX0=",
  "userIp": "192.168.1.1"
}

Copy link
Member

@bastimeyer bastimeyer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the plugin implementation.
A couple of issues though...

Copy link
Member

@bastimeyer bastimeyer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Everything else is looking good IMO.

@back-to back-to merged commit 02384d5 into streamlink:master Oct 3, 2021
@mkbloke mkbloke deleted the pandalive branch October 3, 2021 21:01
Billy2011 added a commit to Billy2011/streamlink-27 that referenced this pull request Oct 4, 2021
@chorong761
Copy link

chorong761 commented Jan 17, 2022

.

@mkbloke
Copy link
Member Author

mkbloke commented Jan 17, 2022

It does not support account logins. You are free to add such functionality if you wish.

Another option is to find out which cookie(s) are relevant to a logged in account via your browser and then pass them to Streamlink via the --http-cookie option, repeated as/if required.

In future, please do not ask questions like this on pull requests. You should have raised this in a discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

pandalive.co.kr (not to be confused with panda.tv)

4 participants