H.264 video encoder confiduration

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello!
First of all - Thank for advices about with make my bitrate lower - it
helps!

//Again, we'd recommend to reconfigure codec params (bitrate, framerate,
sdp fmtp, etc) using this API instead of changing the library code, this is
for your own sake :), e.g: avoid complexity of
conflict-resolving/re-patching when updating pjsip version.

ok-ok :-) I understand. I'll try to follow your advice in future. Now I'm
in state of exploring PJSIP and it's configuration, so sometimes I have not
enought time to do changes in complex.

>About quality on the screen shots, it seems to be packet loss issue.
>Well, when I mentioned about increasing bitrate, I thought the problem
>was picture sharpness. Note that increasing bitrate may increase the
>packet loss rate. So perhaps try to re-adjust the bitrate (decrease it
>this time:) until achieving acceptable balance of packet loss rate &
>picture sharpness. Further potential solution will be find a lower
>(and acceptable ofc) video resolution in the sender, so bitrate can be
>lowered (to minimize packet loss).

from the end: I will not reduce my stream resolution. My target resolution
is Full HD :-)
but I can decrease the frame rate to 5 FPS, maybe even 3 FPS.
so bitrate should be appropriate.

We experimented with ffmpeg encoder context (line 1158 file,
ffmpeg_codecs.c).
And found smtn interesting:
1. value  ff->enc_ctx->gop_size in range 5-15 make sharpness quite well.
But in this case we have to increase bitrate in times (for resolution
800x600, without gop, optimal bitrate is 375-750 kbps. With gop bitrate
should be 800-1600 kbps).
Using GOP causes decreasing sharpness. Increasing bitrate with GOP causes
frame lose :-)
I prepared some images with GOP:
http://www.freeimagehosting.net/t3gy9
without GOP:
http://www.freeimagehosting.net/b32wg

2. value ff->enc_ctx->me_method in range (0-10). I experimented with it,
but without some success. Should I use with me_method some other additional
settings?
3. As I see under debug - we use ctx->profile as PROFILE_H264_BASELINE. As
Far As I Know - it is normal settings for encoder. But as alternative we
have only PROFILE_H264_MAIN, as additional profile. How can I make this
enum of profiles more wide for experiments?
4. As I can see: we have encoder settings for send stream from web cam,
when we neglect some details. When I try to send video frames with desktop
images - configure sharpness not satisfy me. How can I increase sharpness,
by configuring ffmpeg encoder?
5. maybe exists some enum of configuration for ffmpeg for desktop streaming?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20120301/82ba5613/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux