androidmedia encoder problems

cee1 fykcee1 at gmail.com
Mon Jan 20 04:31:17 PST 2014


2014/1/20 Sebastian Dröge <sebastian at centricular.com>:
> On Mo, 2014-01-20 at 01:53 +0100, stic at free.fr wrote:
>> does it means that there is no such data provided (sps pps) by the
>> encoder, even at startup ? How is it possible if the client is able to
>> display something when it is connected at startup ?
>
> Well, there must be one, otherwise no decoder would work :) Can you
> provide a debug log of h264parse with config-interval=1 or so?
>
>> If I can't use h264parse, I just would like to resend necessary data
>> in pipeline to allow client to display the stream even if it did
>> connect connect at startup.
>> How could I do that ? Can I do this directly by modifying the
>> gstreamer encoder element ?
>
> You could duplicate h264parse, yes. So let's just get that fixed,
> something weird is going on between h264parse and the encoder here it
> seems.

As stic mentioned, h264pay also drops an error of no sps/pps.

To stic:
1) What does the following pipeline say? Still has error?
"videotestsrc is-live=true ! video/x-raw,framerate=30/1 ! videoconvert
! video/x-raw,framerate=30/1,format=I420 !
amcvidenc-omxnvidiah264encoder bitrate=2048 i-frame-interval=8 !
video/x-h264,profile=baseline ! rtph264pay ! fakesink"

2) Maybe you can try to use a gst client, to see whether it can play
it properly:
gst-launch-1.0 -v tcpclientsrc host=xxx port=xxx ! decodebin ! autovideosink

Also, the sender's pipeline is: "videotestsrc is-live=true !
video/x-raw,framerate=30/1 ! videoconvert !
video/x-raw,framerate=30/1,format=I420 !
amcvidenc-omxnvidiah264encoder bitrate=2048 i-frame-interval=8 !
video/x-h264,profile=baseline ! mpegtsmux ! tcpserversink host=..."

That means the client can't start earlier than the sender (i.e. the tcpserver).



-- 
Regards,

- cee1


More information about the gstreamer-android mailing list