[Libav-user] Encoding depth video from Kinect

Daniel Henell henell at gmail.com
Thu Feb 9 12:41:40 CET 2012

> Daniel Henell <henell at ...> writes:
>> However there doesn't seem to be any video codec that can handle >8
>> bit grayscale video.
> grep GRAY16 libavcodec/*.c
> shows jpegls, ffv1 and libopenjpeg as codecs that do support >8 bit
> grayscale video.
> Carl EUgen
> _______________________________________________
> Libav-user mailing list
> Libav-user at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/libav-user


I tried encoding the depth frames as ffv1 using the following command:

ffmpeg -r10 -i data/d-%06d.pgm -sameq -vsync1 -vcodec ffv1 vid.mov

However I got the following output and errors:

Incompatible pixel format 'gray16le' for codec 'ffv1', auto-selecting
format 'yuv420p16le'
[buffer @ 0x9bc8980] w:640 h:480 pixfmt:gray16be tb:1/1000000 sar:0/1 sws_param:
[buffersink @ 0x9bdb4c0] auto-inserting filter 'auto-inserted scale 0'
between the filter 'src' and the filter 'out'
[scale @ 0x9bdba40] w:640 h:480 fmt:gray16be -> w:640 h:480
fmt:yuv420p16le flags:0x4
[ffv1 @ 0x9bc83e0] bits_per_raw_sample invalid
Output #0, mov, to 'vid.mov':
    Stream #0:0: Video: ffv1, yuv420p16le, 640x480, q=2-31, 200 kb/s,
90k tbn, 10 tbc
Stream mapping:
  Stream #0:0 -> #0:0 (pgm -> ffv1)
Error while opening encoder for output stream #0:0 - maybe incorrect
parameters such as bit_rate, rate, width or height

Is ffv1 really supporting GRAY16?

-- Daniel

More information about the Libav-user mailing list