<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>Hi Nicolas,<div><br></div><div> Thank you very much for your help. </div><div><br></div><div> 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.</div><div> 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?</div><div><br></div><div> You also suggest me using a simpler profile. Does the profile here means h264 profile? Can it be configed by x264enc properties? </div><div><br></div><div><span style="font-size: 12pt; "> 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.</span></div><div><span style="font-size: 12pt; "><br></span></div><div><span style="font-size: 12pt; ">Thank you again for your answers. You help will always be appreciated!</span></div><div><span style="font-size: 12pt; "><br></span></div><div><span style="font-size: 12pt; "><br></span></div><div><span style="font-size: 12pt; ">Regards,</span></div><div><span style="font-size: 12pt; ">Haiming Wang</span></div><div><br><div>> Subject: Re: x264enc on android: very slow.<br>> From: nicolas.dufresne@collabora.com<br>> To: gstreamer-devel@lists.freedesktop.org<br>> Date: Mon, 29 Jul 2013 13:14:09 +0200<br>> <br>> Le lundi 29 juillet 2013 ¨¤ 16:18 +0800, Haiming Wang a ¨¦crit :<br>> > data->pipeline = gst_parse_launch("gstrtpbin name=rtpbin appsrc<br>> > block=true is-live=true name=app_src ! video/x-raw-yuv,<br>> > format=(fourcc)NV21, width=(int)320, height=(int)240,<br>> > framerate=(fraction)15/1 ! ffmpegcolorspace ! x264enc tune=zerolatency<br>> > byte-stream=true bitrate=300 ! rtph264pay ! rtpbin.send_rtp_sink_0<br>> > rtpbin.send_rtp_src_0 ! udpsink name=udp_sink<br>> > clients=192.168.1.106:50000", &error);<br>> <br>> There is multiple ways this pipeline can be slow. Using profiling tool<br>> would be very useful. Meanwhile, I'm worried about the colorspace<br>> conversion, x264enc accept I420 and you send NV21. The direct conversion<br>> for that format was added upstream 0.10, but never released, so it is<br>> likely that you don't have this in your build.<br>> <br>> Other then that, you should consider using simpler profile, by default<br>> x264 produce main profile, try contrained-baseline. Finally, using a<br>> sofware encoder on Android is a little strange, any ready not to use the<br>> HW encoder ?<br>> <br>> Nicolas<br>> <br>> <br>> _______________________________________________<br>> gstreamer-devel mailing list<br>> gstreamer-devel@lists.freedesktop.org<br>> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel<br></div></div> </div></body>
</html>