librtmpforandroid
⑴ 怎麼讓android上的播放器支持rtmp流
android原生的播放器是不支持rtmp流的,你可以利用三方播放器庫
如ijkplayer vlc等
⑵ android如何播放RTMP協議視頻流
Adboe的Red5流媒體伺服器免費並且是開源的,與Flash搭配的時候可謂是天生一對,但使用Java和Android作為客戶端調用卻可謂一波三折。
Adobe的Red5源代碼里有一個RTMPClient的類,這個類在使用上其實不復雜,但卻沒辦法成功調用。觀察日誌,發現是連接成功後在開始創建流的時候,服務端把連接斷開了。我能想到的解釋就是可能公司現在所使用的Red5伺服器的版本與這個RTMPClient不兼容。
⑶ librtmp 推流 支持 多線程 么
來自rtmpmp.c
rtmpmp 可使用命令
直播流
rtmpmp.exe -o savename.flv -r rtmp://127.0.0.1/live/testlive -v
點播流
rtmpmp.exe -o savename.flv -r rtmp://127.0.0.1/vod/test.flv
直播需要加-v參數
下面是從中提取的代碼,進行直播或點播流的錄制
伺服器使用FMS測試通過
crtmpserver需注意超時設置
#include <stdlib.h>
#include <string.h>
#include <math.h>
#include <stdio.h>
#include <signal.h>
#include <stdint.h>
#include "librtmp/rtmp_sys.h"
#include "librtmp/log.h"
#pragma comment(lib,"ws2_32.lib")
#pragma comment(lib,"librtmp.lib")
int InitSockets()
{
WORD version;
WSADATA wsaData;
version = MAKEWORD(1, 1);
return (WSAStartup(version, &wsaData) == 0);
}
void CleanupSockets()
{
WSACleanup();
}
int main()
⑷ android有沒有能播放rtmp流媒體的開源播放器代碼
安卓設備上的播放——Vitamio安卓設備3.0以上原生支持hls,但是不支持rtmp,為了統一以及低版本兼容,可以使用第三方的一個播放器庫——vitamio。hls播放如果僅需要在移動設備的WebView上播放,可以選擇使用html中嵌入hls播放。如下html能夠在所有Safari或者安卓3.0以上的WebView上播放。這樣就不需要使用第三方的播放器。VideoJS如果要讓網頁支持在所有瀏覽器上播放,就需要使用第三方的播放器。VideoJs是一個較好的播放器庫,完全免費,不像JWPlayer一樣需要付費才能使用一些高級功能。
⑸ libRTMP 如何跟伺服器之間發送接收文字信息
先要看看你是用哪種郵箱!
對應的郵箱不同,其填寫的方式也稍微有些不同,不過大致都是一樣
郵箱收發伺服器(pop3\stmp)設置
163郵箱
POP3伺服器:POP.163.COM
SMTP伺服器:SMTP.163.COM
yahoo郵箱
注意:yahoo在foxmail 4.1以上的版本設置如下:( outlook 不行喲~)
POP3伺服器:pop.mail.yahoo.com.cn
SMTP伺服器:smtp.mail.yahoo.com.cn
sohu郵箱
POP3伺服器:pop3.sohu.com
SMTP伺服器:smtp.sohu.com
Gmail郵箱
第一步:要手動配置: POP3伺服器是pop.gmail.com
SMTP伺服器是smtp.gmail.com
第二步:使用自動配置文件 http://toolbar.google.com/gmail-helper/GmailConfig.exe
這樣就OK嘍~ 可以發送和接收 Gmail 郵件了。
QQ郵箱
POP3伺服器:pop.qq.com
SMTP伺服器:smtp.qq.com
SMTP伺服器需要身份驗證。
網址 http://www.fc0769.cn
⑹ 有沒有實現rtmp協議的android和iOS開源庫
開源的沒有 不開源好用的倒是有一個,叫:
Vitamio
用過,很好使。
---------------------------------------------------------
是一款Android與iOS平台上的全能多媒體開發框架
特點:(1) 全面支持硬體解碼與GPU渲染
(2) 能夠流暢播放720P甚至1080P高清MKV,FLV,MP4,MOV,TS,RMVB等常見格式的視頻
(3) 在Android與iOS上跨平台支持 MMS, RTSP, RTMP, HLS(m3u8)等常見的多種視頻流媒體協議,包括點播與直播。
⑺ 跪求好心人分享librtmp.dll免費版軟體免費百度雲資源
鏈接:
提取碼:ntbj
軟體名稱:librtmp.dll免費版
語言:簡體中文
大小:741KB
類別:系統工具
介紹:librtmp.dll是電腦中一個必不可缺的dll文件,許多的游戲或者軟體運行都需要它的支持,如果沒有這個文件可能會造成一些游戲或者軟體運行不了。缺少就快來下載吧!
⑻ 有大俠在ios下編譯過librtmp的庫文件么
編譯librtmp需要先編譯openssl,因為librtmp依賴openssl
首先編譯openssl:
把以下內容保存為shell腳本:
#!/bin/sh
VERSION="1.0.1h" #指明openssl的版本信息,比如下載的是openssl-1.0.1h.tar.gz那麼對於就填寫1.0.1h
SDKVERSION="7.1" #指明ios sdk的版本號,目前最新的是7.1,不清楚的同學可以 ls /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/ 一下看看自己的iPhoneOS7.1.sdk是不是7.1
CURRENTPATH=`pwd`
ARCHS="i386 armv7 armv7s arm64"
BUILDPATH="${CURRENTPATH}/build"
LIBPATH="${CURRENTPATH}/lib"
INCLUDEPATH="${CURRENTPATH}/include"
SRCPATH="${CURRENTPATH}/src"
LIBSSL="libssl.a"
LIBCRYPTO="libcrypto.a"
DEVELOPER=`xcode-select -print-path`
if [ ! -d "$DEVELOPER" ]; then
echo "xcode path is not set correctly $DEVELOPER does not exist (most likely because of xcode > 4.3)"
echo "run"
echo "sudo xcode-select -switch <xcode path>"
echo "for default installation:"
echo "sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer"
exit 1
fi
set -e
if [ ! -e openssl-${VERSION}.tar.gz ]; then
echo "Downloading openssl-${VERSION}.tar.gz"
curl -O http://www.openssl.org/source/openssl-${VERSION}.tar.gz
else
echo "Using openssl-${VERSION}.tar.gz"
# Remove the source directory if already exist
rm -rf "${SRCPATH}/openssl-${VERSION}"
fi
mkdir -p "${SRCPATH}"
mkdir -p "${BUILDPATH}"
mkdir -p "${LIBPATH}"
mkdir -p "${INCLUDEPATH}"
tar zxf openssl-${VERSION}.tar.gz -C "${SRCPATH}"
cd "${SRCPATH}/openssl-${VERSION}"
LIBSSL_REPO=""
LIBCRYPTO_REPO=""
for ARCH in ${ARCHS}
do
if [ "${ARCH}" == "i386" ];
then
PLATFORM="iPhoneSimulator"
else
sed -ie "s!static volatile sig_atomic_t intr_signal;!static volatile intr_signal;!" "crypto/ui/ui_openssl.c"
PLATFORM="iPhoneOS"
fi
export CROSS_TOP="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer"
export CROSS_SDK="${PLATFORM}${SDKVERSION}.sdk"
export BUILD_TOOLS="${DEVELOPER}"
echo "Building openssl-${VERSION} for ${PLATFORM} ${SDKVERSION} ${ARCH}"
echo "Please stand by..."
export CC="${BUILD_TOOLS}/usr/bin/gcc -arch ${ARCH}"
OUTPATH="${BUILDPATH}/openssl-${PLATFORM}${SDKVERSION}-${ARCH}.sdk"
mkdir -p "${OUTPATH}"
LOG="${OUTPATH}/build-openssl-${VERSION}.log"
if [[ "$VERSION" =~ 1.0.0. ]]; then
./Configure BSD-generic32 --openssldir="${OUTPATH}" > "${LOG}" 2>&1
else
./Configure iphoneos-cross --openssldir="${OUTPATH}" > "${LOG}" 2>&1
fi
# add -isysroot to CC=
sed -ie "s!^CFLAG=!CFLAG=-isysroot ${CROSS_TOP}/Platforms/${PLATFORM}.platform/Developer/SDKs/${CROSS_SDK} -miphoneos-version-min=7.0 !" "Makefile"
make >> "${LOG}" 2>&1
make install >> "${LOG}" 2>&1
make clean >> "${LOG}" 2>&1
LIBSSL_REPO+="${OUTPATH}/lib/${LIBSSL} "
LIBCRYPTO_REPO+="${OUTPATH}/lib/${LIBCRYPTO} "
done
echo "Build library..."
lipo -create ${LIBSSL_REPO}-output ${LIBPATH}/${LIBSSL}
lipo -create ${LIBCRYPTO_REPO}-output ${LIBPATH}/${LIBCRYPTO}
cp -R ${BUILDPATH}/openssl-iPhoneSimulator${SDKVERSION}-i386.sdk/include/openssl ${INCLUDEPATH}/
echo "Building done."
echo "Cleaning up..."
rm -rf ${SRCPATH}/openssl-${VERSION}
echo "Done."
保存腳本,添加腳本的執行許可權(chmod +x 腳本名稱)
運行腳本
不出意外是可以編譯成功的,如果失敗,可以以打開那個log文件,查看失敗原因。
編譯成功以後,把lib文件和include拷貝到你的librtmp目錄(可以新建一個空得librtmp目錄),在librtmp目錄裡面同樣寫一個shell腳本,腳本如下:
#!/bin/sh
SDKVERSION="7.1" #這里跟openssl的地方是一個意思
CURRENTPATH=`pwd`
ARCHS="i386 armv7 armv7s arm64"
LIBPATH="${CURRENTPATH}/lib" #這里就是剛才拷貝過來的目錄,不要修改,因為librtmp最後生成的也放到了這個下面
INCLUDEPATH="${CURRENTPATH}/include" #這里就是剛才拷貝過來的目錄,不要修改,因為librtmp最後生成的也放到了這個下面
LIBRTMPREPO="git://git.ffmpeg.org/rtmpmp"
BUILDPATH="${CURRENTPATH}/build"
SRCPATH="${CURRENTPATH}/src"
LIBRTMP="librtmp.a"
DEVELOPER=`xcode-select -print-path`
if [ ! -d "$DEVELOPER" ]; then
echo "xcode path is not set correctly $DEVELOPER does not exist (most likely because of xcode > 4.3)"
echo "run"
echo "sudo xcode-select -switch <xcode path>"
echo "for default installation:"
echo "sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer"
exit 1
fi
# Check whether openssl has already installed on the machine or not.
# libcrypt.a / libssl.a
set -e
echo 'Check openssl installation'
if [ -f "${LIBPATH}/libcrypto.a" ] && [ -f "${LIBPATH}/libssl.a" ] && [ -d "${INCLUDEPATH}/openssl" ]; then
echo 'Openssl for iOS has already installed, no need to install openssl'
else
echo 'Openssl for iOS not found, will install openssl for iOS'
./build-libssl.sh
echo 'Succeeded to install openssl'
fi
# Download librtmp source code from git repository
# We assuem the user already installed git client.
echo 'Clone librtmp git repository'
# Remove the directory if already exist
rm -rf "${SRCPATH}/rtmpmp"
git clone ${LIBRTMPREPO} src/rtmpmp
cd "${SRCPATH}/rtmpmp/librtmp"
LIBRTMP_REPO=""
for ARCH in ${ARCHS}
do
if [ "${ARCH}" == "i386" ];
then
PLATFORM="iPhoneSimulator"
else
PLATFORM="iPhoneOS"
fi
export CROSS_TOP="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer"
export CROSS_SDK="${PLATFORM}${SDKVERSION}.sdk"
export BUILD_TOOLS="${DEVELOPER}"
echo "Building librtmp for ${PLATFORM} ${SDKVERSION} ${ARCH}"
echo "Please wait..."
# add arch to CC=
sed -ie "s!AR=\$(CROSS_COMPILE)ar!AR=/usr/bin/ar!" "Makefile"
sed -ie "/CC=\$(CROSS_COMPILE)gcc/d" "Makefile"
echo "CC=\$(CROSS_COMPILE)gcc -arch ${ARCH}" >> "Makefile"
export CROSS_COMPILE="${DEVELOPER}/usr/bin/"
export XCFLAGS="-isysroot ${CROSS_TOP}/SDKs/${CROSS_SDK} -miphoneos-version-min=7.0 -I${INCLUDEPATH} -arch ${ARCH}"
if [ "${ARCH}" == "i386" ];
then
export XLDFLAGS="-L${LIBPATH} -arch ${ARCH}"
else
export XLDFLAGS="-isysroot ${CROSS_TOP}/SDKs/${CROSS_SDK} -miphoneos-version-min=7.0 -L${LIBPATH} -arch ${ARCH}"
fi
OUTPATH="${BUILDPATH}/librtmp-${PLATFORM}${SDKVERSION}-${ARCH}.sdk"
mkdir -p "${OUTPATH}"
LOG="${OUTPATH}/build-librtmp.log"
make SYS=darwin >> "${LOG}" 2>&1
make SYS=darwin prefix="${OUTPATH}" install >> "${LOG}" 2>&1
make clean >> "${LOG}" 2>&1
LIBRTMP_REPO+="${OUTPATH}/lib/${LIBRTMP} "
done
echo "Build universal library..."
lipo -create ${LIBRTMP_REPO}-output ${LIBPATH}/${LIBRTMP}
mkdir -p ${INCLUDEPATH}
cp -R ${BUILDPATH}/librtmp-iPhoneSimulator${SDKVERSION}-i386.sdk/include/ ${INCLUDEPATH}/
echo "Building done."
echo "Cleaning up..."
rm -rf ${SRCPATH}/rtmpmp
echo "Done."
保存腳本
運行腳本
不出意外就編譯成功了。
⑼ android rtmp推流怎麼實現
就拿使用ZEGO即構的實時音視頻產品舉個例子,要想實現android rtmp推流操作,可以通過調用開始推流 startPublishingStream 的 API 介面,向遠端用戶發送本端的音視頻流。如果不需要繼續推流,可調用 stopPublishingStream 停止推流(開始推流前,建議開發者在開始推流前對推流參數、本地預覽視圖進行設置)。