簡體   English   中英

ValueError:MoviePy 找不到與文件名關聯的編解碼器。 在 write_videofile 中提供“編解碼器”參數

[英]ValueError: MoviePy couldn't find the codec associated with the filename. Provide the 'codec' parameter in write_videofile

為什么它會在某些文件上拋出此錯誤,而對於其他文件則不會?

這些文件都是 .mp4 視頻。

'ValueError: MoviePy 找不到與文件名關聯的編解碼器。 在 write_videofile 中提供“編解碼器”參數。

代碼,帶注釋:

    # The videos on which we will work on (intro & a video)
    intro = VideoFileClip('./videos/intro.mp4')
    original = VideoFileClip('./videos/original_video.mp4')


    # We cut 2s and crop the original video
    original.cutout(0, 2)
    original = vfx.crop(original, x1=10)


    # Adding a watermark on top of the original video
    watermark = (ImageClip("./images/watermark.png")
                    .set_duration(original.duration)
                    .set_position(("center","bottom"))
                    .resize(width=intro.w))
    watermaked = CompositeVideoClip([original, watermark], size=original.size)


    # Our final video: Intro + Waterkarmed, and output it.
    final_render = concatenate_videoclips([intro, watermaked], method='compose')
    final_render.write_videofile('./videos/output_video.mp4', fps=30, threads=1)

錯誤堆棧:

  final_render.write_videofile('./videos/output_video.mp4', fps=30, threads=1)

  File "<decorator-gen-51>", line 2, in write_videofile
  File "/usr/lib/python2.7/site-packages/moviepy/decorators.py", line 54, in requires_duration
    return f(clip, *a, **k)
  File "<decorator-gen-50>", line 2, in write_videofile
  File "/usr/lib/python2.7/site-packages/moviepy/decorators.py", line 137, in use_clip_fps_by_default
    return f(clip, *new_a, **new_kw)
  File "<decorator-gen-49>", line 2, in write_videofile
  File "/usr/lib/python2.7/site-packages/moviepy/decorators.py", line 22, in convert_masks_to_RGB
    return f(clip, *a, **k)
  File "/usr/lib/python2.7/site-packages/moviepy/video/VideoClip.py", line 288, in write_videofile
    raise ValueError("MoviePy couldn't find the codec associated "
ValueError: MoviePy couldn't find the codec associated with the filename. Provide the 'codec' parameter in write_videofile.

您需要使用codec參數手動放置編解碼器

代碼應如下所示:

final_render.write_videofile('./videos/output_video.mp4', fps=30, threads=1, codec="libx264")

編解碼器根據視頻文件擴展名變化:

擴展 編解碼器
mp4 libx264
OGV 自由女神
網絡管理器 libvpx
奧格 庫沃爾比斯
mp3 pcm_s16le
聲波 庫沃爾比斯
m4a libfdk_aac

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM