当前位置: 首页 > article >正文

VideoFileClip 切割视频

切换视频代码

video = VideoFileClip(video_fn)
video_dir = video_fn[:-4]+'_seg'
# video_base_name = os.path.splitext(os.path.basename(video_fn))[0]
# video_dir = os.path.join(output_dir, video_base_name)
os.makedirs(video_dir, exist_ok=True)
for start, end in scenes:
    cropped_video = video.subclip(start / video.fps, end / video.fps)
    output_path = f"{video_dir}/{start}_{end}.mp4"
    cropped_video.write_videofile(output_path, codec='libx264',audio=False)
    cropped_video.close()
video.close()

报错:

File "F:\project\qiege\TransNetV2-SBD-Visualize-master\transnetv2_demo.py", line 100, in predict_video cropped_video.write_videofile(output_path, codec='libx264') File "<decorator-gen-55>", line 2, in write_videofile File "D:\ProgramData\miniconda3\envs\py310\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 "D:\ProgramData\miniconda3\envs\py310\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 "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\decorators.py", line 22, in convert_masks_to_RGB return f(clip, *a, **k) File "D:\ProgramData\miniconda3\envs\py310\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 "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\decorators.py", line 54, in requires_duration return f(clip, *a, **k) File "D:\ProgramData\miniconda3\envs\py310\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 "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\decorators.py", line 54, in requires_duration return f(clip, *a, **k) File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\audio\io\ffmpeg_audiowriter.py", line 166, in ffmpeg_audiowrite for chunk in clip.iter_chunks(chunksize=buffersize, File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\audio\AudioClip.py", line 85, in iter_chunks yield self.to_soundarray(tt, nbytes=nbytes, quantize=quantize, File "<decorator-gen-44>", line 2, in to_soundarray File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\decorators.py", line 54, in requires_duration return f(clip, *a, **k) File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\audio\AudioClip.py", line 127, in to_soundarray snd_array = self.get_frame(tt) File "<decorator-gen-11>", line 2, in get_frame File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\decorators.py", line 89, in wrapper return f(*new_a, **new_kw) File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\Clip.py", line 93, in get_frame return self.make_frame(t) File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\Clip.py", line 136, in <lambda> newclip = self.set_make_frame(lambda t: fun(self.get_frame, t)) File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\Clip.py", line 187, in <lambda> return self.fl(lambda gf, t: gf(t_func(t)), apply_to, File "<decorator-gen-11>", line 2, in get_frame File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\decorators.py", line 89, in wrapper return f(*new_a, **new_kw) File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\Clip.py", line 93, in get_frame return self.make_frame(t) File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\audio\io\AudioFileClip.py", line 77, in <lambda> self.make_frame = lambda t: self.reader.get_frame(t) File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\audio\io\readers.py", line 186, in get_frame self.buffer_around(fr_max) File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\audio\io\readers.py", line 240, in buffer_around array = self.read_chunk(chunksize) File "D:\ProgramData\miniconda3\envs\py310\lib\site-packages\moviepy\audio\io\readers.py", line 113, in read_chunk s = self.proc.stdout.read(L) AttributeError: 'NoneType' object has no attribute 'stdout' [h264 @ 000001d994450580] Invalid NAL unit size (12042 > 10349). [h264 @ 000001d994450580] Error splitting the input into NAL units. [mov,mp4,m4a,3gp,3g2,mj2 @ 000001d6b1977480] stream 1, offset 0x2e90ad: partial file [mov,mp4,m4a,3gp,3g2,mj2 @ 000001d6b1977480] stream 0, offset 0x2e9157: partial file 

解决方法:

audio=False

代码:

cropped_video.write_videofile(output_path, codec='libx264',audio=False)


http://www.kler.cn/news/315275.html

相关文章:

  • C#往压缩包Zip文件的文件追加数据
  • go注册中心Eureka,注册到线上和线下,都可以访问
  • 通过示例来展示C++中Lumda函数的原理是什么及如何来使用它?
  • SOI 刻蚀气体
  • DHCP协议原理(网络协议)
  • 用apache httpd来实现反向代理
  • openFrameworks_如何使用ofxXmlSettings和ofxGui来创建识别界面
  • 机器人的动力学——牛顿欧拉,拉格朗日,凯恩
  • C++ —— vector 的模拟实现
  • 【计算机网络】运输层协议解析
  • Flutter - Win32程序是如何执行main函数
  • jmeter得到的文档数据处理
  • 后端接收数组,集合类数据
  • 数据结构之算法复杂度
  • 基于BiGRU+Attention实现风力涡轮机发电量多变量时序预测(PyTorch版)
  • 软考中级软件设计师——数据结构与算法基础学习笔记
  • 【图灵完备 Turing Complete】游戏经验攻略分享 Part.5 编程
  • 【若依RuoYi-Vue | 项目实战】帝可得后台管理系统(二)
  • Linux自主学习篇
  • oracle中NUMBER(1,0)的字段如何映射到c#中
  • 【设计模式-适配】
  • SSC377/D, 5M30 64/128MB, 1Tops1. 支持双摄,甚至三摄;2. 夜视全彩;3. 省内存、省带宽;4. 算力较大,适合新的算法模型;
  • 图像处理与分析
  • Spring的任务调度
  • 怎么在路由器上使用tcpdump抓包
  • Redisson 分布式锁的使用详解
  • Vue3中shallowRef和ref区别
  • 确保在AWS上的资源安全:构建坚不可摧的云安全防线
  • C++ prime plus-2-编程练习
  • 解决 Torch not compiled with CUDA enabled 问题 | MiniCPM3-4B 【应用开发笔记】