choes
New Member
Hi, I'm trying to develop a streamer SDK for Android and IOS.
I'm a novice in terms of A/V, it's difficult for me to understand the A/V synchronization, the following is my understanding from the source code(the latest version).
1. the video_thread and audio_thread wait for the closest starting point before they encode and insert the packet to the interleaved_packets(let's take rtmp_output module as an example).
2. the A/V packets of the interleaved_packets are sorted based on dts_usec, then add the first packet to the rtmp_stream.
3. that A/V packet will be multiplexed based on the FLV specification before it's sent to a RTMP server.
How to ensure A/V synchronization in this process? What's the key point of A/V synchronization?
Please give me some tips or reference materials, thanks in advance.
I'm a novice in terms of A/V, it's difficult for me to understand the A/V synchronization, the following is my understanding from the source code(the latest version).
1. the video_thread and audio_thread wait for the closest starting point before they encode and insert the packet to the interleaved_packets(let's take rtmp_output module as an example).
2. the A/V packets of the interleaved_packets are sorted based on dts_usec, then add the first packet to the rtmp_stream.
3. that A/V packet will be multiplexed based on the FLV specification before it's sent to a RTMP server.
How to ensure A/V synchronization in this process? What's the key point of A/V synchronization?
Please give me some tips or reference materials, thanks in advance.