Я вырезал кусочки из большого видео: создал функцию, которая автоматически даёт название новым файлам. Появлялась иногда такая ошибка, полный её текст ниже. Проблема оказалась в том, что программа пыталась в название файла засунуть недопустимые символы. Проблема ушла, когда я добавил ограничение на добавление недопустимых символов в название.
Текст ошибки:
chunk: 0%| | 0/2470 [00:00<?, ?it/s, now=None]Traceback (most recent call last):
File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\site-packages\moviepy\audio\io\ffmpeg_audiowriter.py", line 74, in write_frames
self.proc.stdin.write(frames_array.tobytes())
BrokenPipeError: [Errno 32] Broken pipe
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "Z:\Python_projects\movieYT\source.py", line 67, in <module>
cut_video_by_timecodes(input_video, time_codes, video_names)
File "Z:\Python_projects\movieYT\source.py", line 40, in cut_video_by_timecodes
cut_video(input_video, output_video, start_time, end_time)
File "Z:\Python_projects\movieYT\source.py", line 22, in cut_video
clipped_video.write_videofile(output_video, codec="libx264")
File "<decorator-gen-55>", line 2, in write_videofile
File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\site-packages\moviepy\decorators.py", line 54, in requires_duration
return f(clip, *a, **k)
^^^^^^^^^^^^^^^^
File "<decorator-gen-54>", line 2, in write_videofile
File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\site-packages\moviepy\decorators.py", line 135, in use_clip_fps_by_default
return f(clip, *new_a, **new_kw)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "<decorator-gen-53>", line 2, in write_videofile
File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\site-packages\moviepy\decorators.py", line 22, in convert_masks_to_RGB
return f(clip, *a, **k)
^^^^^^^^^^^^^^^^
File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\site-packages\moviepy\video\VideoClip.py", line 293, in write_videofile
self.audio.write_audiofile(audiofile, audio_fps,
File "<decorator-gen-45>", line 2, in write_audiofile
File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\site-packages\moviepy\decorators.py", line 54, in requires_duration
return f(clip, *a, **k)
^^^^^^^^^^^^^^^^
File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\site-packages\moviepy\audio\AudioClip.py", line 206, in write_audiofile
return ffmpeg_audiowrite(self, filename, fps, nbytes, buffersize,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<decorator-gen-9>", line 2, in ffmpeg_audiowrite
File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\site-packages\moviepy\decorators.py", line 54, in requires_duration
return f(clip, *a, **k)
^^^^^^^^^^^^^^^^
File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\site-packages\moviepy\audio\io\ffmpeg_audiowriter.py", line 170, in ffmpeg_audiowrite
writer.write_frames(chunk)
File "C:\Users\AppData\Local\Programs\Python\Python312\Lib\site-packages\moviepy\audio\io\ffmpeg_audiowriter.py", line 117, in write_frames
raise IOError(error)
OSError: [Errno 32] Broken pipe
MoviePy error: FFMPEG encountered the following error while writing file Бустер не верит рекордным цифрам стрима Мелла и Моргена* — завидует?TEMP_MPY_wvf_snd.mp3:
b'\xd0\x91\xd1\x83\xd1\x81\xd1\x82\xd0\xb5\xd1\x80 \xd0\xbd\xd0\xb5 \xd0\xb2\xd0\xb5\xd1\x80\xd0\xb8\xd1\x82 \xd1\x80\xd0\xb5\xd0\xba\xd0\xbe\xd1\x80\xd0\xb4\xd0\xbd\xd1\x8b\xd0\xbc \xd1\x86\xd0\xb8\xd1\x84\xd1\x80\xd0\xb0\xd0\xbc \xd1\x81\xd1\x82\xd1\x80\xd0\xb8\xd0\xbc\xd0\xb0 \xd0\x9c\xd0\xb5\xd0\xbb\xd0\xbb\xd0\xb0 \xd0\xb8 \xd0\x9c\xd0\xbe\xd1\x80\xd0\xb3\xd0\xb5\xd0\xbd\xd0\xb0* \xe2\x80\x94 \xd0\xb7\xd0\xb0\xd0\xb2\xd0\xb8\xd0\xb4\xd1\x83\xd0\xb5\xd1\x82?TEMP_MPY_wvf_snd.mp3: Invalid argument\r\n'
In case it helps, make sure you are using a recent version of FFMPEG (the versions in the Ubuntu/Debian repos are deprecated).
Process finished with exit code 1