[FFmpeg-user] How to set H264 profile-level-id to 42E00C?
xu.xiong.cn at gmail.com
Sun Aug 23 06:17:33 CEST 2015
2015-08-22 20:24 GMT+08:00 Moritz Barsnick <barsnick at gmx.net>:
> On Sat, Aug 22, 2015 at 19:25:20 +0800, xiong xu wrote:
>> [libx264 @ 0x30ddfe0] bad option 'profile-level-id': '42E00C'
> According to the x264 docs, that's not even an option (lib)x264
> provides, so how do expect to set it? What are you trying to achieve,
> and why?
I try to set up a video call between a raspberry camera and a SIP terminal.
The SDP offer from SIP terminal is:
m=video 49224 RTP/AVP 122 123 34
a=fmtp:34 CIF=2 QCIF=2 MaxBR=2560
So I want to generate the H264 RTP stream with the right params.
> I believe the profile level ID reflects certain encoding options and
> should be set by the encoder to indicate them:
> If you only know that number (where do you have it from?) and want to
> encode for it, I am guessing that you will have to set the
> corresponding encoder options:
> profile_idc = 0x42 => "-profile baseline"
> profile-iop = 0xE0 => I have no idea how to set the constraints. E0 probably means: "constrained intra baseline".
> level-idc = 0x0C => "-level 1.2"
> BTW, according to this:
> the maximum frame rate for level 1.2 is 20 fps, your source is 30.
I tried several profile, for example:
pi at raspberrypi ~ $ ffmpeg -f video4linux2 -i /dev/video0 -vcodec h264
-b 90000 -payload_type 122 -s 320*240 -r 20 -profile:v baseline -level
1.2 -f rtp rtp://10.17.41.163:45900
But the video still not show on the SIP terminal.
More information about the ffmpeg-user