• 大小: 1.93MB
    文件类型: .zip
    金币: 2
    下载: 0 次
    发布日期: 2024-02-03
  • 语言: Java
  • 标签: android  librtmp  

资源简介

其中 libs 目录下是生成的动态库,使用的时候可以提出 so文件,和需要的头文件。就可以使用了。Android.mk Application.mk buils.sh 是我写的用来移植的mk文件以及脚本

资源截图

代码片段和文件信息

/*  RTMPDump
 *  Copyright (C) 2009 Andrej Stepanchuk
 *  Copyright (C) 2009 Howard Chu
 *
 *  This Program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 or (at your option)
 *  any later version.
 *
 *  This Program is distributed in the hope that it will be useful
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with RTMPDump; see the file COPYING.  If not write to
 *  the Free Software Foundation Inc. 51 Franklin Street Fifth Floor
 *  Boston MA  02110-1301 USA.
 *  http://www.gnu.org/copyleft/gpl.html
 *
 */

#define _FILE_OFFSET_BITS 64

#include 
#include 
#include 
#include 

#include  // to catch Ctrl-C
#include 

#include “librtmp/rtmp_sys.h“
#include “librtmp/log.h“

#ifdef WIN32
#define fseeko fseeko64
#define ftello ftello64
#include 
#include 
#define SET_BINMODE(f) setmode(fileno(f) O_BINARY)
#else
#define SET_BINMODE(f)
#endif

#define RD_SUCCESS 0
#define RD_FAILED 1
#define RD_INCOMPLETE 2
#define RD_NO_CONNECT 3

#define DEF_TIMEOUT 30 /* seconds */
#define DEF_BUFTIME (10 * 60 * 60 * 1000) /* 10 hours default */
#define DEF_SKIPFRM 0
// starts sockets
int
InitSockets()
{
#ifdef WIN32
  WORD version;
  WSADATA wsaData;

  version = MAKEWORD(1 1);
  return (WSAStartup(version &wsaData) == 0);
#else
  return TRUE;
#endif
}

inline void
CleanupSockets()
{
#ifdef WIN32
  WSACleanup();
#endif
}

#ifdef _DEBUG
uint32_t debugTS = 0;
int pnum = 0;

FILE *netstackdump = 0;
FILE *netstackdump_read = 0;
#endif

uint32_t nIgnoredFlvframeCounter = 0;
uint32_t nIgnoredframeCounter = 0;
#define MAX_IGNORED_frameS 50

FILE *file = 0;

void
sigIntHandler(int sig)
{
  RTMP_ctrlC = TRUE;
  RTMP_LogPrintf(“Caught signal: %d cleaning up just a second...\n“ sig);
  // ignore all these signals now and let the connection close
  signal(SIGINT SIG_IGN);
  signal(SIGTERM SIG_IGN);
#ifndef WIN32
  signal(SIGHUP SIG_IGN);
  signal(SIGPIPE SIG_IGN);
  signal(SIGQUIT SIG_IGN);
#endif
}

#define HEX2BIN(a)      (((a)&0x40)?((a)&0xf)+9:((a)&0xf))
int hex2bin(char *str char **hex)
{
  char *ptr;
  int i l = strlen(str);

  if (l & 1)
   return 0;

  *hex = malloc(l/2);
  ptr = *hex;
  if (!ptr)
    return 0;

  for (i=0; i    *ptr++ = (HEX2BIN(str[i]) << 4) | HEX2BIN(str[i+1]);
  return l/2;
}

static const AVal av_onmetaData = AVC(“onmetaData“);
static const AVal av_duration = AVC(“duration“);
static const AVal av_conn = AVC(“conn“);
static const AVal av_token = AVC(“token“);
static const AVal av_playlist = AVC(“playlist“);
static const AVal av_true = AVC(“true“);

int
OpenResumeFile(const char *flvFile // fil

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-01-12 06:29  rtmpdump\
     文件       30396  2017-01-11 02:02  rtmpdump\rtmpsrv.c
     文件        8174  2017-01-11 02:02  rtmpdump\rtmpdump.1
     文件        7649  2017-01-11 02:02  rtmpdump\rtmpgw.8
     目录           0  2017-01-12 06:22  rtmpdump\libs\
     目录           0  2017-01-12 06:36  rtmpdump\libs\armeabi-v7a\
     文件      342168  2017-01-12 06:36  rtmpdump\libs\armeabi-v7a\librtmp.so
     文件       10379  2017-01-11 02:02  rtmpdump\rtmpgw.8.html
     目录           0  2017-01-11 02:02  rtmpdump\.git\
     文件          73  2017-01-11 02:02  rtmpdump\.git\description
     文件         308  2017-01-11 02:02  rtmpdump\.git\packed-refs
     目录           0  2017-01-11 02:02  rtmpdump\.git\refs\
     目录           0  2017-01-11 02:02  rtmpdump\.git\refs\remotes\
     目录           0  2017-01-11 02:02  rtmpdump\.git\refs\remotes\origin\
     文件          32  2017-01-11 02:02  rtmpdump\.git\refs\remotes\origin\HEAD
     目录           0  2017-01-11 02:02  rtmpdump\.git\refs\tags\
     目录           0  2017-01-11 02:02  rtmpdump\.git\refs\heads\
     文件          41  2017-01-11 02:02  rtmpdump\.git\refs\heads\master
     文件         254  2017-01-11 02:02  rtmpdump\.git\config
     目录           0  2017-01-11 02:02  rtmpdump\.git\branches\
     目录           0  2017-01-11 02:02  rtmpdump\.git\objects\
     目录           0  2017-01-11 02:02  rtmpdump\.git\objects\pack\
     文件       73984  2017-01-11 02:02  rtmpdump\.git\objects\pack\pack-cb0f421917a16631b6373333bd26251bc5b8fccd.idx
     文件      825788  2017-01-11 02:02  rtmpdump\.git\objects\pack\pack-cb0f421917a16631b6373333bd26251bc5b8fccd.pack
     目录           0  2017-01-11 02:02  rtmpdump\.git\objects\info\
     目录           0  2017-01-11 02:02  rtmpdump\.git\info\
     文件         240  2017-01-11 02:02  rtmpdump\.git\info\exclude
     目录           0  2017-01-11 02:02  rtmpdump\.git\hooks\
     文件        3610  2017-01-11 02:02  rtmpdump\.git\hooks\update.sample
     文件         478  2017-01-11 02:02  rtmpdump\.git\hooks\applypatch-msg.sample
     文件         189  2017-01-11 02:02  rtmpdump\.git\hooks\post-update.sample
............此处省略75个文件信息

评论

共有 条评论