Upper limit on FFMPEG/libx264 frame sizes?

前端 未结 2 1002
無奈伤痛
無奈伤痛 2021-01-04 14:01

I\'m trying to use FFMPEG to transcode a video with very large frames (4096 x 4096). It\'s a short video - just under two minutes, but the source video file is 15.8GB. (Th

相关标签:
2条回答
  • 2021-01-04 14:11

    I suspect your problem is hinted at here:

    x264 [error]: malloc of size 17305600 failed
    

    Is this a 32-bit build of ffmpeg? If so, I fear you may be out of luck. 4k video processing really requires >4 GB of memory. Better switch to a 64-bit build and try again.

    Of course you actually need to have enough memory available in your computer, too. It could be a lot more than 4 GB, depending on your x264 settings.

    0 讨论(0)
  • 2021-01-04 14:31

    I think you're actually running into the limitation of of x264's codec complexity levels.

    Brief description of the levels from http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC

    As the term is used in the standard, a "level" is a specified set of constraints that indicate a degree of required decoder performance for a profile. For example, a level of support within a profile specifies the maximum picture resolution, frame rate, and bit rate that a decoder may use. A decoder that conforms to a given level must be able to decode all bitstreams encoded for that level and all lower levels.

    The max resolution for the highest level (5.2) is 4,096×2,304.

    I would look into using HEVC which is specifically designed for these larger format 4K / Ultra-HD resolutions.

    http://en.wikipedia.org/wiki/HEVC

    Max Resolution for HEVC is currently 8,192x4,320

    0 讨论(0)
提交回复
热议问题