Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Remux MPEG TS->RTP MPEG ES_C_Rtsp_Rtp_Libavformat_Mpeg 4 - Fatal编程技术网

C Remux MPEG TS->RTP MPEG ES

C Remux MPEG TS->RTP MPEG ES,c,rtsp,rtp,libavformat,mpeg-4,C,Rtsp,Rtp,Libavformat,Mpeg 4,请指导我在用C编写的程序中实现以下结果: 我有一个流源作为HTTP MPEG TS流编解码器h264&aac,它有1个视频和1个音频子流。 我需要得到相同编解码器的MPEG ES帧,通过RTP将它们发送到 RTSP客户端。最好是libavformat使用RTP提供帧 标题。 需要MPEG ES,因为正如我所知,Blackberry上有媒体播放器 我试过了,手机不能播放TS。 尽管如此,如果有人能给我指出另一种更容易获得的格式,我还是很感激 在这种情况下,这可以容纳h264和aac,并在比赛中发挥

请指导我在用C编写的程序中实现以下结果: 我有一个流源作为HTTP MPEG TS流编解码器h264&aac,它有1个视频和1个音频子流。 我需要得到相同编解码器的MPEG ES帧,通过RTP将它们发送到 RTSP客户端。最好是libavformat使用RTP提供帧 标题。 需要MPEG ES,因为正如我所知,Blackberry上有媒体播放器 我试过了,手机不能播放TS。 尽管如此,如果有人能给我指出另一种更容易获得的格式,我还是很感激 在这种情况下,这可以容纳h264和aac,并在比赛中发挥良好 黑莓和其他手机

我已经成功地完成了其他任务,可以打开流并重新使用 FLV集装箱

尝试用rtp格式打开两个输出格式上下文,也得到了 框架。发送到客户端。没有成功

我还尝试过将帧写入m4v AVFormatContext,得到了吗 帧,通过NAL剪切它们,在每个帧之前添加RTP头,并发送到客户端。客户端显示第一帧并挂起,或每10秒或更长时间播放一秒钟的视频+音频。 在VLC播放器日志中,我有:

为了简单起见,我缩放了时间戳,使它们以0开头。 我将其与VLC或Wowza进行了比较,抱歉,我不记得增加了1024,而不是1920的音频TS,所以我做了额外的线性缩放,以类似于其他拖缆。 bigbuckbunny_450.mp4播放的数据包转储如下:

顺便说一句,在这两种情况下,我几乎没有从Wowza或VLC复制SDP

什么是获得我需要的东西的正确方法? 我还对是否有类似的图书馆感兴趣 libav格式?甚至可能处于胚胎状态