Monotirg / youtube-upload

Asynchronous uploading of videos to YouTube without utilizing YouTube APIv3 using Playwright
MIT License
18 stars 3 forks source link

yt_upload.exceptions.YTError: Daily upload reached #2

Closed bugbounted closed 2 months ago

bugbounted commented 2 months ago

Hi Monotirg, when im running code on windows 10 os getting error below :

`C:\Users\Bugbounted\Desktop\youtube-to-m3u-main\New folder>python test.py 2024-06-09 19:09:10 [YouTube Channel: https://studio.youtube.com/channel/UCghDl3kRIYRO0aUez_Tmaog] INFO Start playwright { 'userDataDir': 'C:\Users\bugbounted\AppData\Local\Google\Chrome\User ' 'Data', 'channel': 'chrome', 'args': [ '--no-sandbox', '--allow-profiles-outside-user-dir', '--profile-directory=Default'], 'headless': False, 'userAgent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ' '(KHTML, like Gecko) Chrome/121.0.0.0 Safari/537.36', 'executable_path': 'C:\Users\Bugbounted\AppData\Local\ms-playwright\chromium-1117\chrome-win\chrome.exe' } INFO:yt_logger:Start playwright 2024-06-09 19:09:14 [YouTube Channel: https://studio.youtube.com/channel/UCghDl3kRIYRO0aUez_Tmaog] INFO Start upload video { 'video_path': 'C:\Users\Bugbounted\Desktop\youtube-to-m3u-main\New ' 'folder\test.mp4', 'title': 'Funny video', 'made_for_kids': False, 'category': 'Education', 'visibility': 'Public', 'description': 'Funny video about math #math', 'age_restriction': True, 'thumbnail': 'C:\Users\Bugbounted\Desktop\youtube-to-m3u-main\New ' 'folder\thumbnail.png', 'playlist': ['math'], 'tags': ['math'], 'contains_paid_promotion': True, 'allow_automatic_chapters_and_key': False, 'allow_automatic_places': True, 'allow_automatic_concepts': False, 'allow_embedding': True, 'publish_to_subscriptions_feed': True, 'show_viewer_like': True, 'allow_only_audio_remixing': True, 'video_language': 'English', 'caption_certification': 'This content has not aired on U.S. television ' 'with captions since September 30, 2012.', 'recording_date': datetime.date(2023, 10, 10), 'video_location': 'Los Angeles', 'license': 'Standard YouTube License', 'game_title': None, 'education_type': 'Lecture', 'education_academic_system': 'United States', 'education_problems': [ (datetime.timedelta(seconds=5), 'derivative'), (datetime.timedelta(seconds=29), 'integral')], 'education_level': 'College', 'education_exam': 'SAT Math', 'show_comments': True, 'comment_moderation': 'Hold all', 'sort_by': 'Newest', 'schedule': datetime.datetime(2024, 6, 16, 19, 9, 9, 197825) } INFO:yt_logger:Start upload video 2024-06-09 19:09:14 [YouTube Channel: https://studio.youtube.com/channel/UCghDl3kRIYRO0aUez_Tmaog] [Video: C:\Users\Bugbounted\Desktop\youtube-to-m3u-main\New folder\test.mp4, Title: Funny video] INFO Load page https://studio.youtube.com/ INFO:yt_logger:Load page https://studio.youtube.com/ 2024-06-09 19:09:17 [YouTube Channel: https://studio.youtube.com/channel/UCghDl3kRIYRO0aUez_Tmaog] [Video: C:\Users\Bugbounted\Desktop\youtube-to-m3u-main\New folder\test.mp4, Title: Funny video] INFO Upload video by path: 'C:\Users\Bugbounted\Desktop\youtube-to-m3u-main\New folder\test.mp4' INFO:yt_logger:Upload video by path 2024-06-09 19:09:24 [YouTube Channel: https://studio.youtube.com/channel/UCghDl3kRIYRO0aUez_Tmaog] [Video: C:\Users\Bugbounted\Desktop\youtube-to-m3u-main\New folder\test.mp4, Title: Funny video] INFO Input video title: 'Funny video' INFO:yt_logger:Input video title

2024-06-09 19:09:24 [YouTube Channel: https://studio.youtube.com/channel/UCghDl3kRIYRO0aUez_Tmaog] [Video: C:\Users\Bugbounted\Desktop\youtube-to-m3u-main\New folder\test.mp4, Title: Funny video] ERROR YTError: Daily upload reached ERROR:yt_logger:YTError: Daily upload reached 2024-06-09 19:09:24 [YouTube Channel: https://studio.youtube.com/channel/UCghDl3kRIYRO0aUez_Tmaog] INFO Clear YouTube local cache INFO:yt_logger:Clear YouTube local cache Traceback (most recent call last): File "C:\Users\Bugbounted\Desktop\youtube-to-m3u-main\New folder\test.py", line 65, in asyncio.run(main()) File "C:\Users\Bugbounted\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "C:\Users\Bugbounted\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\Bugbounted\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 654, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "C:\Users\Bugbounted\Desktop\youtube-to-m3u-main\New folder\test.py", line 62, in main await upload.upload_video(video) File "C:\Users\Bugbounted\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_upload\channel.py", line 120, in upload_video await YTDetailsStateGroup.start(YTDetailsPage(page), video, self.log_data) File "C:\Users\Bugbounted\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_upload\states\base.py", line 122, in start await cls.trigger(state, yt_page, video_data, log_data) File "C:\Users\Bugbounted\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_upload\states\base.py", line 109, in trigger await event(params) File "C:\Users\Bugbounted\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_upload\pages_YTDetailsPage.py", line 49, in wrapper await self.had_daily_upload_limit_reached() File "C:\Users\Bugbounted\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_upload\pages_YTDetailsPage.py", line 43, in had_daily_upload_limit_reached raise YTError(f"Daily upload reached {check_limit}") yt_upload.exceptions.YTError: Daily upload reached`

Monotirg commented 2 months ago

Hi! The error says that the video upload limit has been reached. It seems you can upload 12 videos without account verification. You just need to wait 24 hours and it will works.

bugbounted commented 2 months ago

Hello again Monotirg, my account is verified at https://youtube.com/verify & also newly created without any video upload ... Exactly crashed & get that error after title of video typed please test it on windows to see same error at runtime

my code is :

import asyncio
import datetime as dt
import yt_upload as yt 
import logging

async def main():
    # Set up basic logging
    logging.basicConfig(level=logging.INFO)
    logger = logging.getLogger('yt_upload')

    # Configure your channel details with correct paths
    channel = yt.Channel(
        user_data_dir="C:\\Users\\bugbounted\\AppData\\Local\\Google\\Chrome\\User Data\\",  # Update with your actual path
        google_profile="Default",  # Update with your actual profile name
        cookies_path="cookies.json"  # Path to your cookies JSON file
    )

    # Configure the video details
    video = yt.Video(
        video_path="test.mp4",
        title="Funny video",
        description="Funny video about math #math",
        made_for_kids=False,
        category=yt.category.EDUCATION,
        visibility=yt.visibility.PUBLIC,
        age_restriction=True,
        thumbnail="thumbnail.png",
        playlist=["math", ],
        tags=["math"],
        contains_paid_promotion=True,
        allow_automatic_chapters_and_key=False,
        allow_automatic_places=True,
        allow_automatic_concepts=False,
        allow_embedding=True,
        publish_to_subscriptions_feed=True,
        show_viewer_like=True,
        allow_only_audio_remixing=True,
        video_language=yt.language.ENGLISH,
        caption_certification=yt.caption_certification.CONTENT_HAS_NOT_AIRED,
        recording_date=dt.date(2023, 10, 10),
        video_location="Los Angeles",
        license=yt.licence.STANDARD_YOUTUBE,
        education_type=yt.education_type.LECTURE,
        education_academic_system=yt.education_academic_system.UNITED_STATES,
        education_problems=[
            (dt.timedelta(seconds=5), "derivative"),
            (dt.timedelta(minutes=0, seconds=29), "integral")
        ],
        education_level="College",
        education_exam="SAT Math",
        show_comments=True,
        comment_moderation=yt.comment_moderation.HOLD_ALL,
        sort_by=yt.sort_by.NEWEST,
        schedule=dt.datetime.now() + dt.timedelta(days=7)    
    )

    # Assuming 'youtube_channel' is an attribute you need to define
    youtube_channel = "https://studio.youtube.com/channel/UCghDl3kRIYRO0aUez_Tmaog"  # Replace with your actual channel name or ID

    # Upload the video
    async with channel(youtube_channel) as upload:
        await upload.upload_video(video)

# Run the async main function
asyncio.run(main())