Skip to content
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

niconico channel Plus #4366

Closed
3 tasks done
railannad opened this issue Feb 26, 2022 · 2 comments
Closed
3 tasks done

niconico channel Plus #4366

railannad opened this issue Feb 26, 2022 · 2 comments
Labels
disallowed plugin type A disallowed plugin request per https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md plugin request

Comments

@railannad
Copy link

railannad commented Feb 26, 2022

Checklist

Description

Streamlink is a powerful and convenient soft and thanks for all developers.

From Friday, January 7, 2022, niconico will start test operation of Niconico Channel Plus, a new feature of Niconico Channel, on some channels.
And I think more owner of channel will use niconico channel Plus. So I hope developers can strengthen the plugin "niconico" so that it can get stream from niconico channel Plus.
Please visit the source page https://blog.nicovideo.jp/niconews/162058.html for more information.

Input URLs

https://nicochannel.jp/olchannel/video/smq9UriUQ9PU65jTjVxh2PVo

@Trung0246
Copy link

Trung0246 commented Mar 11, 2022

Looks like we need to make POST to https://nfc-api.nicochannel.jp/fc/video_pages/smq9UriUQ9PU65jTjVxh2PVo/session_ids:

curl 'https://nfc-api.nicochannel.jp/fc/video_pages/smq9UriUQ9PU65jTjVxh2PVo/session_ids' -H "content-type: application/json" -X POST --data "{}"

then get session_id:

{"data":{"session_id":"daf74c05-8162-45a2-ab55-ee4d5ff3d23b"}}

From there we can make GET request to https://nfc-api.nicochannel.jp/fc/video_pages/smq9UriUQ9PU65jTjVxh2PVo:

curl 'https://nfc-api.nicochannel.jp/fc/video_pages/smq9UriUQ9PU65jTjVxh2PVo'

and grab data.video_page.video_stream.authenticated_url:

{
    "data": {
        "video_page": {
            "active_video_filename": {
                "id": 2074,
                "length": 3036,
                "video_filename_type": {
                    "id": 3,
                    "value": "archived"
                }
            },
            "closed_at": null,
            "content_code": "smq9UriUQ9PU65jTjVxh2PVo",
            "description": "今日はメイド物です。\nしっかりご奉仕させていただきます。",
            "disp_number_of_play_flg": null,
            "fanclub_site": {
                "fanclub_banners": [],
                "fanclub_personal_info_policy": {
                    "nickname_display_setting": false
                },
                "id": 21
            },
            "has_archived_files": true,
            "is_test_broadcast": false,
            "live_auto_release_flg": false,
            "live_finished_at": "2022-02-25 15:19:39",
            "live_scheduled_end_at": "2022-02-25 16:00:00",
            "live_scheduled_start_at": "2022-02-25 14:30:00",
            "live_started_at": "2022-02-25 14:29:03",
            "released_at": "2022-02-25 09:08:57",
            "start_with_free_part_flg": true,
            "thumbnail_url": "https://nicochannel.jp/public_html/contents/video_pages/1511/thumbnail_path",
            "title": "【耳舐め】貴方専属の耳舐めメイド",
            "type": "vod",
            "video": {
                "allow_dvr_flg": true,
                "archive_existence_flag": true,
                "convert_to_vod_flg": true,
                "default_started_at": null,
                "id": 1501,
                "video_output_audio_bit_rate": {
                    "display_name": "128Kbps(推奨)",
                    "id": 1
                },
                "video_output_frame_rate": {
                    "display_name": "30fps(推奨)",
                    "id": 1
                },
                "video_output_resolution": {
                    "display_name": "1080p(推奨)",
                    "id": 1
                }
            },
            "video_aggregate_info": {
                "id": 600935,
                "number_of_comments": 494,
                "total_views": 3061
            },
            "video_comment_setting": {
                "accept_before_broadcasting_flg": true,
                "allow_comment_flg": true,
                "comment_group_id": "bce245c0-95a9-11ec-ab4f-9d1e1650ecaf",
                "disp_main_comment_flg": true,
                "disp_number_of_comment_flg": true,
                "disp_number_of_views_flg": true,
                "disp_rightside_comment_flg": true,
                "id": 1115,
                "video_page": {
                    "id": 1511
                }
            },
            "video_custom_targets": [],
            "video_delivery_target": {
                "display_name": "会員限定",
                "id": 1
            },
            "video_filename_transcoded_first": {
                "file_size_bytes": 1998402689,
                "id": 2075,
                "length": 3036
            },
            "video_free_periods": [{
                "elapsed_ended_time": 1932452,
                "elapsed_started_time": 0,
                "end_at": "2022-02-25 15:01:15",
                "id": 635,
                "started_at": "2022-02-25 14:29:03"
            }],
            "video_page_public_status": {
                "display_name": "公開",
                "id": 2
            },
            "video_page_stream_key": {
                "video_live_info": {
                    "player_url_abr": "https://23f747dafc91c8abb92042cbbab21d47.cdnext.stream.ne.jp/abr/wlives-masterplaylist/d08km41ykw7mg1lp/master.m3u8",
                    "player_url_abr_dvr": "https://23f747dafc91c8abb92042cbbab21d47.cdnext.stream.ne.jp/abr/wlives-masterplaylist/d08km41ykw7mg1lp/master_DVR.m3u8"
                }
            },
            "video_questionnaires": [],
            "video_stream": {
                "authenticated_url": "https://hls-auth.cloud.stream.co.jp/auth/index.m3u8?session_id={session_id}"
            },
            "video_tags": [{
                "id": 4355,
                "tag": "#耳舐め"
            }, {
                "id": 4356,
                "tag": "OLCHANNEL"
            }, {
                "id": 4357,
                "tag": "浅瀬ゆうぎ"
            }, {
                "id": 4358,
                "tag": "シチュエーション"
            }, {
                "id": 4359,
                "tag": "バイノーラル"
            }]
        }
    }
}

But all of these is just preview, not the full content (based on what google translate told me).
And since full video requires login, I don't know if the login flow is the same as nicovideo plugin.

@railannad
Copy link
Author

Looks like we need to make POST to https://nfc-api.nicochannel.jp/fc/video_pages/smq9UriUQ9PU65jTjVxh2PVo/session_ids:

curl 'https://nfc-api.nicochannel.jp/fc/video_pages/smq9UriUQ9PU65jTjVxh2PVo/session_ids' -X 'POST' --compressed

then get session_id:

{"data":{"session_id":"daf74c05-8162-45a2-ab55-ee4d5ff3d23b"}}

From there we can make GET request to https://nfc-api.nicochannel.jp/fc/video_pages/smq9UriUQ9PU65jTjVxh2PVo:

curl 'https://nfc-api.nicochannel.jp/fc/video_pages/smq9UriUQ9PU65jTjVxh2PVo' --compressed

and grab data.video_page.video_stream.authenticated_url:

{
    "data": {
        "video_page": {
            "active_video_filename": {
                "id": 2074,
                "length": 3036,
                "video_filename_type": {
                    "id": 3,
                    "value": "archived"
                }
            },
            "closed_at": null,
            "content_code": "smq9UriUQ9PU65jTjVxh2PVo",
            "description": "今日はメイド物です。\nしっかりご奉仕させていただきます。",
            "disp_number_of_play_flg": null,
            "fanclub_site": {
                "fanclub_banners": [],
                "fanclub_personal_info_policy": {
                    "nickname_display_setting": false
                },
                "id": 21
            },
            "has_archived_files": true,
            "is_test_broadcast": false,
            "live_auto_release_flg": false,
            "live_finished_at": "2022-02-25 15:19:39",
            "live_scheduled_end_at": "2022-02-25 16:00:00",
            "live_scheduled_start_at": "2022-02-25 14:30:00",
            "live_started_at": "2022-02-25 14:29:03",
            "released_at": "2022-02-25 09:08:57",
            "start_with_free_part_flg": true,
            "thumbnail_url": "https://nicochannel.jp/public_html/contents/video_pages/1511/thumbnail_path",
            "title": "【耳舐め】貴方専属の耳舐めメイド",
            "type": "vod",
            "video": {
                "allow_dvr_flg": true,
                "archive_existence_flag": true,
                "convert_to_vod_flg": true,
                "default_started_at": null,
                "id": 1501,
                "video_output_audio_bit_rate": {
                    "display_name": "128Kbps(推奨)",
                    "id": 1
                },
                "video_output_frame_rate": {
                    "display_name": "30fps(推奨)",
                    "id": 1
                },
                "video_output_resolution": {
                    "display_name": "1080p(推奨)",
                    "id": 1
                }
            },
            "video_aggregate_info": {
                "id": 600935,
                "number_of_comments": 494,
                "total_views": 3061
            },
            "video_comment_setting": {
                "accept_before_broadcasting_flg": true,
                "allow_comment_flg": true,
                "comment_group_id": "bce245c0-95a9-11ec-ab4f-9d1e1650ecaf",
                "disp_main_comment_flg": true,
                "disp_number_of_comment_flg": true,
                "disp_number_of_views_flg": true,
                "disp_rightside_comment_flg": true,
                "id": 1115,
                "video_page": {
                    "id": 1511
                }
            },
            "video_custom_targets": [],
            "video_delivery_target": {
                "display_name": "会員限定",
                "id": 1
            },
            "video_filename_transcoded_first": {
                "file_size_bytes": 1998402689,
                "id": 2075,
                "length": 3036
            },
            "video_free_periods": [{
                "elapsed_ended_time": 1932452,
                "elapsed_started_time": 0,
                "end_at": "2022-02-25 15:01:15",
                "id": 635,
                "started_at": "2022-02-25 14:29:03"
            }],
            "video_page_public_status": {
                "display_name": "公開",
                "id": 2
            },
            "video_page_stream_key": {
                "video_live_info": {
                    "player_url_abr": "https://23f747dafc91c8abb92042cbbab21d47.cdnext.stream.ne.jp/abr/wlives-masterplaylist/d08km41ykw7mg1lp/master.m3u8",
                    "player_url_abr_dvr": "https://23f747dafc91c8abb92042cbbab21d47.cdnext.stream.ne.jp/abr/wlives-masterplaylist/d08km41ykw7mg1lp/master_DVR.m3u8"
                }
            },
            "video_questionnaires": [],
            "video_stream": {
                "authenticated_url": "https://hls-auth.cloud.stream.co.jp/auth/index.m3u8?session_id={session_id}"
            },
            "video_tags": [{
                "id": 4355,
                "tag": "#耳舐め"
            }, {
                "id": 4356,
                "tag": "OLCHANNEL"
            }, {
                "id": 4357,
                "tag": "浅瀬ゆうぎ"
            }, {
                "id": 4358,
                "tag": "シチュエーション"
            }, {
                "id": 4359,
                "tag": "バイノーラル"
            }]
        }
    }
}

But all of these is just preview, not the full content (based on what google translate told me). And since full video requires login, I don't know if the login flow is the same as nicovideo plugin.

Hi bro, thank you for you effort . I can not understand the code. And I guess you need a account that joined the member,right?
Leave you email address , I will join the member and share my account with you .

@bastimeyer bastimeyer closed this as not planned Won't fix, can't repro, duplicate, stale Dec 23, 2022
@bastimeyer bastimeyer added the disallowed plugin type A disallowed plugin request per https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md label Dec 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
disallowed plugin type A disallowed plugin request per https://github.com/streamlink/streamlink/blob/master/CONTRIBUTING.md plugin request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants