Here, iMX will be the host which initiates the video stream to Android(which is acting as Device).
Then, the iMX is not a Video Class
Device, and you should not even try to implement that class on the iMX. I don't even know what device class the Android assumes in this case - a vendor specific class perhaps?
Is it possible, can we send custom command from iMX Device to Android Mobile
If the iMX is the host, then it sould be easy. Just make a vendor specific control transfer with any data you wish to pass. But the Android end must have code to process that transfer.
If things were the other way round (Android host and iMX device), then the iMX could be a Video Class Device. I have no idea if an Android phone as host supports this class. Why should it - the phone has a very good camera of its own. Sorry, I assumed you had a camera connected to iMX, but you never said so!
In general, if you want to send custom control commands from host to device, the device must have code to process them. If you want to send control commands from device to host, the host must poll (send IN requests to) the endpoint used for those commands. The endpoint used could be the control endpoint 0 or a dedicated interrupt endpoint. Anyway, a custom command requires dedicated code on both host and device.
Finally, I cannot give any advice about Android. I do not have the skills to write the simplest 'Hello World' program for it.