x264enc on android: very slow.
whm_buaa at hotmail.com
Mon Jul 29 06:28:36 PDT 2013
Thank you very much for your help.
Regarding the colorspace conversation, as I mentioned in my previous email, I used a pipeline in which I replaced all the elements just after ffmpegcolorspace with fakesink , and I found the speed is still quite quick. The framerate is around the same as the camera preview frame rate(15fps), So I believe the bottle neck should not be at color space conversation. Regarding the profiling tool, what profiling tool do you suggest me to use? I have some experience with gprof on android, but it was said the tool doesn't support multi-thread very well. It's also not easy to use. Do you have any suggestion about the tool?
You also suggest me using a simpler profile. Does the profile here means h264 profile? Can it be configed by x264enc properties?
Yes, I also considered to use the hardware encoder on android. However I didn't think the performance of the software is so unacceptable. I see some software encoder running on Android, and the frame rate can reach 15 fps, and the performance is quite acceptable. I want to know if there are some settings for x264enc, which can improve the performance.
Thank you again for your answers. You help will always be appreciated!
> Subject: Re: x264enc on android: very slow.
> From: nicolas.dufresne at collabora.com
> To: gstreamer-devel at lists.freedesktop.org
> Date: Mon, 29 Jul 2013 13:14:09 +0200
> Le lundi 29 juillet 2013 à 16:18 +0800, Haiming Wang a écrit :
> > data->pipeline = gst_parse_launch("gstrtpbin name=rtpbin appsrc
> > block=true is-live=true name=app_src ! video/x-raw-yuv,
> > format=(fourcc)NV21, width=(int)320, height=(int)240,
> > framerate=(fraction)15/1 ! ffmpegcolorspace ! x264enc tune=zerolatency
> > byte-stream=true bitrate=300 ! rtph264pay ! rtpbin.send_rtp_sink_0
> > rtpbin.send_rtp_src_0 ! udpsink name=udp_sink
> > clients=192.168.1.106:50000", &error);
> There is multiple ways this pipeline can be slow. Using profiling tool
> would be very useful. Meanwhile, I'm worried about the colorspace
> conversion, x264enc accept I420 and you send NV21. The direct conversion
> for that format was added upstream 0.10, but never released, so it is
> likely that you don't have this in your build.
> Other then that, you should consider using simpler profile, by default
> x264 produce main profile, try contrained-baseline. Finally, using a
> sofware encoder on Android is a little strange, any ready not to use the
> HW encoder ?
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the gstreamer-devel