Skip to content

plugins.pandalive: new plugin #4064

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Oct 3, 2021
Merged

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