Jetpack 3.1/repository 1.8.3 gstreamer
I’m using a rather hacky solve at the moment to transcode an input udp src to a smaller resolution/framrate and seem to be experiencing difficulties in setting the h264 level so iOS devices in particular can play the video.
gst-launch-1.0 -ve udpsrc port=14000 \ ! queue name=in ! decodebin name=db \ db. ! queue name=vid ! nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)720,height=(int)480, format=(string)I420' \ ! omxh264enc control-rate=2 bitrate=650000 profile=2 insert-sps-pps=true \ ! mpegtsmux name=mux ! rtpmp2tpay ! udpsink host=<ip> port=<port> \ db. ! queue name=aud ! audioconvert ! voaacenc ! mux.
When evaluating the output from above using profile=1 my tools report the video as baseline@L5.2, with profile=2 it reports main@L5.2.
If I’m understanding correctly the level is supposed to be set in the /etc/enctune.conf file, but setting level=xx does not appear to change anything (rebooting after changes).
Some guidance on how to use this file would be useful. It appears there is Settings_xxx and a Settings_Default (which I somewhat assume would be used since the output video is 720x480 and neither 1080p 0r 720p. But changing level=xx does not appear to make any difference to the output video. I found another thread that had information for H265 that showed shifting the value and other settings but not info on what would be required for H264. Would this be in source code somewhere?