android ijkplayer 通过rtsp直播
2017-02-14 17:57
489 查看
参照http://www.jianshu.com/p/69b26da21fa5
1 修改module-lite.sh文件
打开demo文件夹,找到config文件夹下的module-lite.sh文件,修改这一行COMMON_FF_CFG_FLAGS =" $ COMMON_FF_CFG_FLAGS --disable - rtp protocol =“ 修改为--> COMMON_FF_CFG_FLAGS =" $ COMMON_FF_CFG_FLAGS --enable - rtp protocol =",在这下面再加上这一行: export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS
--enable-demuxer=rtsp"
2 修改ff_ffplay.c 此函数
static int packet_queue_get_or_buffering(FFPlayerffp, PacketQueue *q, AVPacket *pkt, int *serial, int *finished)
{
assert(finished);
while (1) {
int new_packet = packet_queue_get(q, pkt, 0, serial);
if (new_packet < 0)
return -1;
else if (new_packet == 0) {
if (q->is_buffer_indicator && !finished)
ffp_toggle_buffering(ffp, 1);
new_packet = packet_queue_get(q, pkt, 1, serial);
if (new_packet < 0)
return -1;
}
if (*finished == *serial) {
av_free_packet(pkt);
continue;
}
else
break;
}
return 1;
}
替换成
static int packet_queue_get_or_buffering(FFPlayer *ffp, PacketQueue *q, AVPacket *pkt, int *serial, int finished)
{
while (1) {
int new_packet = packet_queue_get(q, pkt, 1, serial);
if (new_packet < 0)
{
new_packet = packet_queue_get(q, pkt, 0, serial);
if(new_packet < 0)
return -1;
}
else if (new_packet == 0) {
if (!finished)
ffp_toggle_buffering(ffp, 1);
new_packet = packet_queue_get(q, pkt, 1, serial);
if (new_packet < 0)
return -1;
}
if (finished == *serial) {
av_free_packet(pkt);
continue;
}
else
break;
}
return 1;
}
1 修改module-lite.sh文件
打开demo文件夹,找到config文件夹下的module-lite.sh文件,修改这一行COMMON_FF_CFG_FLAGS =" $ COMMON_FF_CFG_FLAGS --disable - rtp protocol =“ 修改为--> COMMON_FF_CFG_FLAGS =" $ COMMON_FF_CFG_FLAGS --enable - rtp protocol =",在这下面再加上这一行: export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS
--enable-demuxer=rtsp"
2 修改ff_ffplay.c 此函数
static int packet_queue_get_or_buffering(FFPlayerffp, PacketQueue *q, AVPacket *pkt, int *serial, int *finished)
{
assert(finished);
while (1) {
int new_packet = packet_queue_get(q, pkt, 0, serial);
if (new_packet < 0)
return -1;
else if (new_packet == 0) {
if (q->is_buffer_indicator && !finished)
ffp_toggle_buffering(ffp, 1);
new_packet = packet_queue_get(q, pkt, 1, serial);
if (new_packet < 0)
return -1;
}
if (*finished == *serial) {
av_free_packet(pkt);
continue;
}
else
break;
}
return 1;
}
替换成
static int packet_queue_get_or_buffering(FFPlayer *ffp, PacketQueue *q, AVPacket *pkt, int *serial, int finished)
{
while (1) {
int new_packet = packet_queue_get(q, pkt, 1, serial);
if (new_packet < 0)
{
new_packet = packet_queue_get(q, pkt, 0, serial);
if(new_packet < 0)
return -1;
}
else if (new_packet == 0) {
if (!finished)
ffp_toggle_buffering(ffp, 1);
new_packet = packet_queue_get(q, pkt, 1, serial);
if (new_packet < 0)
return -1;
}
if (finished == *serial) {
av_free_packet(pkt);
continue;
}
else
break;
}
return 1;
}
相关文章推荐
- 通过tcpdump/wireshark工具分析Android平台上现有的直播技术
- 通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播
- EasyPlayer_Android RTSP安卓播放器直播画面卡在第一帧问题修复
- EasyPlayer_Android RTSP安卓播放器直播画面卡在第一帧问题修复
- 通过tcpdump/wireshark工具分析Android平台上现有的直播技术
- [译][VLC] Android直播RTMP RTSP HLS(m3u8) MMS
- 将EasyRTMP_RTSP移植到Android平台实现的RTSP拉流转推RTMP直播流功能
- Android平台使用EasyRTMP将RTSP转RTMP流进行RTMP直播推送
- Android开发-直播视讯(2)-ijkplayer-基础知识
- 通过live555实现H264 RTSP直播
- EasyPusher安卓Android手机直播推送之RTSP流媒体协议流程
- 通过live555实现H264 RTSP直播
- 将EasyRTMP_RTSP移植到Android平台实现的RTSP拉流转推RTMP直播流功能
- Android无法通过浏览器观看HLS直播的问题
- 通过live555实现H264 RTSP直播
- 通过live555实现H264 RTSP直播
- 直播系统的准备工作-android版开源播放器ijkplayer
- 通过live555实现H264 RTSP直播(Windows版)
- Android开发-直播视讯(4)-Ubuntu编译ijkplayer的so文件-基础知识