TK1 resolution and encoding support for two simultaneously channels of 1920 x 1200 @ 60 fps

Hi

We are planning to use TK1 for custom board development for following application. From datasheet of TK1, it seems that it is possible to handle following use case using TK1.

TK1 shall be used for capturing incoming HDMI videos (two channels) simultaneously and encode it and stream it over ethernet. Input video resolutions shall be up to 1920 x 1200 @ 60 fps for each channel. The HDMI video shall be converted to CSI-2 interface using a HDMI-CSI bridge chip. TK1 will be connected to this bridge chip to capture incoming videos. TK1 will drop the frames of incoming video internally and reduce frame rate of each of the video streams to max 15 fps. Now, on these two 1920 x 1200 @ 15 fps video inputs, TK1 shall perform H.264 or JPEG compression simultaneously. The compressed video streams shall be streamed over ethernet and stored on to local SATA drive/SD card.

I would like to know the views of forum members that whether above mentioned use case is possible to handle with TK1? Please let me know your views. Or has anybody worked on similar specifications? Have they faced any challenges?

Thanks & Regards
Siddharth

Hi Siddharth Mistry,
1 You need to implement the CSI driver. Please search ‘soc_camera tk1’ to get more information, such as
https://devtalk.nvidia.com/default/topic/939520
2 Two 1920x1200@15fps should be no problem for HW H264 encoder, but dropping-frames is not supported. You need to have input at 15fps
3 For JPEG encoder, 1920x1200@15pfs is not guaranteed.
4 For streaming out, please refer to
https://devtalk.nvidia.com/default/topic/968782/jetson-tk1/making-a-720p-live-video-monitoring/post/4994290/#4994290

Hi DaneLLL

Thank you for your reply.

Your answer prompts couple of more question to me because dropping frame before TK1 seems not possible on target board. So, If dropping frames is not supported using HW H264, then

[1] Will TK1 supports two 1920 x 1200 @ 60 fps HW H.264 encoder at a same time?

[2] Is dropping frames possible using software H.264 for TK1? Is there any software codecs available for TK1 to perform two 1920 x 1200 @ 15 fps?

Please help me to get answer.

Thanks,
Siddharth

Hi Siddharth Mistry,
[1] Will TK1 supports two 1920 x 1200 @ 60 fps HW H.264 encoder at a same time?
For CSI inputs, two 1920x1080@60fps should be max capability. Two 1920x1200@60fps is over spec.
Correct to: For CSI inputs, two 1920x1080@30fps should be max capability.

[2] Is dropping frames possible using software H.264 for TK1? Is there any software codecs available for TK1 to perform two 1920 x 1200 @ 15 fps?
There is x264enc in gstreamer1.0-plugins-ugly, but not sure about the capability.

Actually we do support dropping frames by setting ‘temporal-tradeoff’ in gstreamer command, but it can do ‘drop 2 in 3 frames’ at max. It requires ‘drop 3 in 4 frames’ in your case, which is not supported.
Please refer to the source code https://developer.nvidia.com/embedded/dlc/l4t-Jetson-TK1-gstreamer-1-R21-5

Thank you DaneLLL. This information helps.

Will TX1 supports 1920 x 1200 @ 60 fps on CSI interface? and is it possible to run the same use cases as I mentioned earlier in this thred on TX1?

Hi Siddharth,
TX1 supports stereo encoding up to 1920x1080p60. Two 1920x1200p60 is a bit over spec. also the same as TK1, if you would like to drop frames by setting ‘temporal-tradeoff’, the max is to ‘drop 2 in 3 frames’.

Also from r24.2, we support MM APIs. This is another alternative beside gstreamer. You can install it via Jetpack and refer to /home/ubuntu/tegra_multimedia_api