BreakingY

Results 30 comments of BreakingY

如果是拼接之后给mov读取,我还有一点不明白: 写i.m4s的时候 tfhd: 如果flag & MOV_TFHD_FLAG_BASE_DATA_OFFSET 则记录了该moof在当前片段文件(i.m4s)的绝对偏移量 如果flag & MOV_TFHD_FLAG_DEFAULT_BASE_IS_MOOF则在实际读取文件的时候确定moof的偏移 trun: 如果flags & MOV_TRUN_FLAG_DATA_OFFSET_PRESENT则记录sample相对moof的相对偏移量 把init.mp4 1.m4s 2.m4s 3.m4s ...拼接到一起之后libmov读取的时候: MOV_TFHD_FLAG_DEFAULT_BASE_IS_MOOF(tfhd)+MOV_TRUN_FLAG_DATA_OFFSET_PRESENT(trun) 则data_offset = track->tfhd.base_data_offset(moof在拼接后的文件中的绝对偏移量)+data_offset(trun) 这种flag组合拼接后可以准确定位到拼接后sample的偏移 虽然在fmp4_writer的时候就是用的MOV_TFHD_FLAG_DEFAULT_BASE_IS_MOOF(tfhd)+MOV_TRUN_FLAG_DATA_OFFSET_PRESENT(trun)的组合,但是如果其他软件不使用这种flag组合方式,那拼接后libmov是不是就不能正确解析了呢 是确实存在这种情况还是我理解的不对呢

明白了,我在看hls的时候发现一个问题,不能算bug,算是fpm4的一个使用问题 在libhls/hls-fmp4.c中hls_fmp4_destroy if (hls->mp4) { fmp4_writer_destroy(hls->mp4); hls->mp4 = NULL; } 调用fmp4_writer_destroy之后应该加上下面的语句把最后的一个分片保存下来,fmp4_writer_destroy会把最后的片段数据保存下来, 应用在fmp4_writer_destroy之后需要对最后的分段做收尾处理,否则最后分段的数据会丢失,hls这里就表现为最后一个片段的视频没有保存下来,m3u8中也没有这个分段的信息,媒体结尾的几秒钟就丢失了 int64_t duration = hls->dts_last - hls->dts; hls->handler(hls->param, hls->ptr, hls->bytes, hls->pts, hls->dts, duration);

我看sip-uac-test2里面没有向代理服务器发送,sip-uac-test2中发送的实际地址就是to,这里仅是为了测试才直接向to发送的吗,实际应该在send里面向代理服务发送是吧

嗯嗯,明白了

没有commit,你就按照上面提出来的改就行

不一样,这是两端的sdp

这里是不是应该改成ice_agent_get_local_candidate(avt->ice, stream, 2, &c);,这样a=rtcp:表示的才是rtcp端口