H.264 video encoder confiduration

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

 



Good day, Bo Shi!

1. "profile-level-id in both sides' ffmpeg_codec_desc". Do you mean this
structure?(in ffmepg_codec.c file):
#if PJMEDIA_HAS_FFMPEG_CODEC_H264
    {
	{PJMEDIA_FORMAT_H264, PJMEDIA_RTP_PT_H264, {"H264",4},
	 {"Constrained Baseline (level=30, pack=1)", 39}},
	0,	256000,    512000,
	&h264_packetize, &h264_unpacketize, &h264_preopen, &h264_postopen,
	&pjmedia_vid_codec_h264_match_sdp,
	/* Leading space for better compatibility (strange indeed!) */
	{2, { {{"profile-level-id",16},    {"42e01e",6}},			
	      {{" packetization-mode",19},  {"1",1}}, } },
    },
#endif

I experimented with bit rate values: set 1024000 and 2048000 instead of 256000
and 512000 respectively. - it helps. 
I changed "Constrained Baseline (level=30, pack=1)" to "Constrained Baseline
(level=31, pack=1)", but it doesn't help. Should it help at all?
I changed "42e01e" to "42e01f" - helped, because "1e" mean 30th level of H.264
encoder and "1f" mean 31st level.
Are you agree with my settings?

2. "default Encoded format (code line 914 of ffmepg_codec.c )"
Yes. It helps. I set "1280, 720, 30000,1001" instead of "720, 480, 30000, 1001".

3. Next question: how can I change frame rate? for example I do not need 25 FPS,
I need only 10 FPS. Should I set "1280, 720, 30000, 3000"?(code line 914 of
ffmepg_codec.c) Or I should change some other hard coded code?

4. I also tried to configure values:
- PJMEDIA_MAX_MTU 4000 (default 1500) - helps seems like max packet size should
more than default for greater resolution.
- PJMEDIA_MAX_FRAME_DURATION_MS 200 (default 200) - doen't help.

I achieved video 1280x720, but I dislike quality of video stream:
- high action video causes frames lost, (it even visible by statistics after end
of call)
- after significantly change the frame(when re-paint most part of frame) - video
stream has low resolution quality and appear a lot of bad coded square areas.

Thank for advice.




[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