[Libav-user] Hardware encoder ARM input as device input
marcin.wozniak at intermania.pl
Sun Feb 4 17:24:41 EET 2018
I try to implement an HiSilicon H264 encoder direct input as ffmpeg
libavdevice source (someking like V4L linux for cameras with H264 source
I successfully recieve H264 packets with NAL units and set correct PTS
according to source packet.
I am stuck at the moment where timing data is not extracted from raw
H264 paassed data and looks like this:
Input #0, armdevice, from '/dev/video':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: h264 (High), yuvj420p(pc, bt709, progressive),
1920x1080, 1000k tbr, 1000k tbn, 2000k tbc
Resolution is okay but timing data is wrong. I passed SPS and PPS of
incomming data in "read_packet".
1. Open H264 encoder using low-level API in device_open
2. Initialize encoder with fps and resolution using API in device_init
3. In read_packet i get NAL units from buffer and:
memcpy(pkt->data,buffer) -> stub
pkt->pts = buffer.u64PTS;
pkt->size = size
and return packet.
Profile level is guessed okay but not the timing data.
What am i doing wrong?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 291 bytes
Desc: not available
More information about the Libav-user