Пользователь пытается загрузить видео на Vimeo с помощью PyVimeo, но постоянно выдает ошибку.
Я пишу сценарий для загрузки видео в учетную запись Vimeo, используя Python и библиотеку PyVimeo. Я не единственный, кто использует эту программу, поскольку я делюсь ею с несколькими другими людьми, которым нужно загрузить ее в ту же учетную запись Vimeo. Один из этих пользователей столкнулся с проблемой, когда загрузка начинается, но никогда не завершается, что приводит к повреждению загрузки. У меня в скрипте настроен модуль журналирования, поэтому, когда кто-то сталкивается с проблемами, я могу видеть, что происходит за кулисами, и я замечаю, что когда этот конкретный пользователь загружает файл, скрипт в определенные моменты открывает дополнительное HTTPS-соединение. это, я думаю, похоже, испортило загрузку. Мне не удалось воспроизвести эту проблему на своем компьютере, и пока это происходит только на компьютере одного пользователя. Пользователь использует Windows 11, а я использую Windows 10, однако у меня есть другие пользователи, которые, как я знаю, используют сценарий под управлением Windows 11, и у них он работает нормально.
(Я изменил идентификаторы, чтобы быть в безопасности при публичной публикации.)
Журнал неудачной загрузки с ПК пользователя:
08/20/2023 10:53:06 AM [DEBUG] | Attempting to upload video: B&P.mp4 with title test
08/20/2023 10:53:06 AM [DEBUG] | Starting new HTTPS connection (1): api.vimeo.com:443
08/20/2023 10:53:08 AM [DEBUG] | https://api.vimeo.com:443 "POST /me/videos?fields=uri%2Cupload HTTP/1.1" 200 247
08/20/2023 10:53:08 AM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/20/2023 10:53:08 AM [DEBUG] | https://us-files.tus.vimeo.com:443 "HEAD /files/vimeo-prod-src-tus-us/1a36da0c52392eb007155083b0d47ba3 HTTP/1.1" 200 0
08/20/2023 10:53:08 AM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/20/2023 10:53:39 AM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/20/2023 10:53:39 AM [DEBUG] | https://us-files.tus.vimeo.com:443 "HEAD /files/vimeo-prod-src-tus-us/1a36da0c52392eb007155083b0d47ba3 HTTP/1.1" 200 0
08/20/2023 10:53:39 AM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/20/2023 10:54:40 AM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/20/2023 10:54:41 AM [DEBUG] | https://us-files.tus.vimeo.com:443 "HEAD /files/vimeo-prod-src-tus-us/1a36da0c52392eb007155083b0d47ba3 HTTP/1.1" 200 0
08/20/2023 10:54:41 AM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/20/2023 10:55:50 AM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/20/2023 10:55:50 AM [DEBUG] | https://us-files.tus.vimeo.com:443 "HEAD /files/vimeo-prod-src-tus-us/1a36da0c52392eb007155083b0d47ba3 HTTP/1.1" 200 0
08/20/2023 10:55:50 AM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/20/2023 10:55:52 AM [ERROR] | 'TusUploadFailed' object has no attribute 'message'
Вот журнал успешной загрузки того же видеофайла на мой компьютер:
08/21/2023 02:15:05 PM [DEBUG] | Attempting to upload video: B&P.mp4 with title test
08/21/2023 02:15:05 PM [DEBUG] | Starting new HTTPS connection (1): api.vimeo.com:443
08/21/2023 02:15:07 PM [DEBUG] | https://api.vimeo.com:443 "POST /me/videos?fields=uri%2Cupload HTTP/1.1" 200 247
08/21/2023 02:15:07 PM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/21/2023 02:15:07 PM [DEBUG] | https://us-files.tus.vimeo.com:443 "HEAD /files/vimeo-prod-src-tus-us/57319451fa57a7a3d99bf9769385a809 HTTP/1.1" 200 0
08/21/2023 02:15:07 PM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/21/2023 02:15:48 PM [DEBUG] | https://us-files.tus.vimeo.com:443 "PATCH /files/vimeo-prod-src-tus-us/57319451fa57a7a3d99bf9769385a809 HTTP/1.1" 204 0
08/21/2023 02:15:48 PM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/21/2023 02:16:30 PM [DEBUG] | https://us-files.tus.vimeo.com:443 "PATCH /files/vimeo-prod-src-tus-us/57319451fa57a7a3d99bf9769385a809 HTTP/1.1" 204 0
08/21/2023 02:16:30 PM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/21/2023 02:17:11 PM [DEBUG] | https://us-files.tus.vimeo.com:443 "PATCH /files/vimeo-prod-src-tus-us/57319451fa57a7a3d99bf9769385a809 HTTP/1.1" 204 0
08/21/2023 02:17:11 PM [DEBUG] | Starting new HTTPS connection (1): us-files.tus.vimeo.com:443
08/21/2023 02:17:29 PM [DEBUG] | https://us-files.tus.vimeo.com:443 "PATCH /files/vimeo-prod-src-tus-us/57319451fa57a7a3d99bf9769385a809 HTTP/1.1" 204 0
08/21/2023 02:17:29 PM [DEBUG] | /videos/123456789
08/21/2023 02:17:29 PM [DEBUG] | Starting new HTTPS connection (1): api.vimeo.com:443
08/21/2023 02:17:29 PM [DEBUG] | https://api.vimeo.com:443 "GET /videos/123456789?fields=link HTTP/1.1" 200 49
08/21/2023 02:17:29 PM [DEBUG] | Video successfully uploaded.
Это раздел моего кода, который пытается загрузить видео:
file_name = os.path.basename(video)
logging.debug(f"Attempting to upload video: {file_name} with title {title}")
try:
upload = client.upload(video, data={
'name': f'{title}',
'description': f'{description}'})
except vexceptions.VideoUploadFailure as e:
print(f'Error uploading {file_name}')
print(f'Server reported: {e.message}')
print(upload)
logging.debug(upload)
response = client.get(upload + '?fields=link').json()
Следует отметить, что ошибка, которая регистрируется в файле журнала, не перехватывается блоком try, кроме здесь, она перехватывается общим блоком try, кроме, который у меня есть для всей основной функции:
if __name__ == "__main__":
try:
main()
except Exception as e:
logging.error(e)
print(f'Error occurred:\n{e)}')
Я попробовал несколько различных исправлений в соответствии с тем, что нашел в Интернете. Я попытался настроить размер загружаемого фрагмента, как указано в этой теме. Я увеличил размер до 100 МБ и до 512 КБ на фрагмент, и ни один из них не помог решить проблему. Кажется, эта проблема возникает, несмотря на размер файла. Я попросил пользователя попробовать файл размером 10 МБ и файл размером 600 МБ, и оба потерпели неудачу с практически одинаковыми журналами. Я попытался проверить настройки Интернета пользователя, чтобы узнать, есть ли какая-либо причина, по которой соединение может случайно закрываться, а затем снова открываться, но я не смог найти ничего, что указывало бы на это.
Любая помощь будет принята с благодарностью! Пользователь готов провести тесты или предоставить мне любую необходимую информацию, мне просто нужно его спросить.