並在rtmpdump目錄下建立cmakelists.txt檔案
cmakelists中配置rtmpdump的靜態庫
cmake_minimum_required(version 3.4.1)
#預編譯巨集
set(cmake_c_flags "$ -dno_crypto" )
file(glob rtmp_source *.c)
add_library(
rtmpdump
static$)
在最外層的cmakelists中引入rtmpdump的cmakelists檔案
add_subdirectory(rtmpdump) //新增rtmpdump目錄下的cmakelists檔案
//鏈結rtmp庫
target_link_libraries(
native-lib
rtmpdump #鏈結rtmp庫
$)
呼叫 rtmp_alloc();執行成功說明 rtmpdump引入成功
x264是乙個c語言編寫的目前對h.264標準支援最完善的編譯碼庫。與rtmpdump一樣同樣直接在android中使用,也可以整合進入ffmpeg。
在根目錄下建立build.s**件
#!/bin/bash
prefix=./android/armeabi-v7a
toolchain=$ndk_root/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
flags="-isysroot $ndk_root/sysroot -isystem $ndk_root/sysroot/usr/include/arm-linux-androideabi -d__android_api__=17 -g -dandroid -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -march=armv7-a -mfloat-abi=softfp -mfpu=vfpv3-d16 -mthumb -wa,--noexecstack -wformat -werror=format-security -o0 -fpic"
#--disable-cli 不需要命令列工具
#--enable-static 靜態庫
#和ffmpeg差不多
./configure \
--prefix=$prefix \
--disable-cli \
--enable-static \
--enable-pic \
--host=arm-linux \
--cross-prefix=$toolchain/bin/arm-linux-androideabi- \
--sysroot=$ndk_root/platforms/android-17/arch-arm \
--extra-cflags="$flags"
make clean
make install
將標頭檔案拷貝到cpp/x264/include目錄下
編寫cmakelists.txt檔案
include_directories(x264/include) //匯入 x264標頭檔案
set(cmake_cxx_flags "$ -l$/../../../libs/$") //設定靜態庫的標頭檔案
target_link_libraries(
native-lib
rtmpdump #鏈結rtmp庫
x264 #鏈結x264庫
$)
Windows環境下FFmpeg推流命令集合
建議使用官網最新的 ffmpeg.exe api文件 ffmpeg f gdigrab video size 1920x1080 i desktop r 20 vf scale 1920x1080 vcodec libx264 preset ultrafast pix fmt yuv420p f f...
ffmpeg使用指令實現推流實現直播流程
windows下用ffmpeg nginx rtmp搭建直播環境 實現推流 拉流 啟動nginx 進入nginx的目錄,執行其中rtmp檔案。執行下列 cd g studyprojects setupvideoservice nginx 1.7.11 3 gryphon nginx.exe c co...
關於使用FFmpeg推流時,live目錄的理解
根據博主之前的博文 在windows下搭建 配置nginx流 伺服器,並進行rtmp流的推流 拉流測試 搭建好nginx流 伺服器後,可能有些朋友會對博文裡面進行推流測試的指令 ffmpeg i video3.mp4 f flv rtmp 中的 live 有一些不理解。live 其實是乙個虛擬目錄,...