As you can see
here, rtspsrc has a sometimes pad for every elementary stream of type application/x-rtp. This means that at the very least you should remove qtdemux from the pipeline, add an rtph264depay element after the rtspsrc and remove all audio related stuff (assuming there is only video).
In case there is audio you will have to do the same for that elementary stream. Figure out how it is payloaded (you can find the various depayloaders
here) insert it and add the appropriate parser before hooking it up to the mpegtsmux multiplexer.
You can run the pipeline after setting GST_DEBUG=2 (or 3) in order to yield more verbose logging on stdout and see what goes wrong (you will probably see one or multiple "not negotiated" errors as it is right now).