adb shell screenrecord --output-format=h264 - | ffplay -
最基本的是android的sdk里的adb工具和 adb shell screenrecord 录屏命令;
后面的参数是需要给 ffplay 播放器的;网上有很多配置 ffplay的;(http://blog.sina.com.cn/s/blog_5fde6089010198a9.html)
调用此命令行即可实现无卡顿延迟较小的实时录屏视频流的播放了;
注:我下载的ffmpeg3.2的源码编译未通过对configure做了一行代码的注释为:
#enabled librtmp && require_pkg_config librtmp librtmp/rtmp.h RTMP_Socket
并在运行命令的时候加了三个参数搞定的;
之前的命令是:
./configure --disable-yasm --enable-librtmp --enable-decoder=h264
修改后:
./configure --disable-yasm --enable-librtmp --enable-decoder=h264 --extra-ldflags="-L/usr/local/lib" --extra-cflags="-I/usr/local/include" --extra-libs="-lrtmp"
如果你的环境可以找到librtmp就不用做此修改;
转:使用ffplay播放rtmp直播live视频
最简单效率的方法是:
1、下载并安装homebrew;
ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
brew doctor (检测是否安装成功)
2、执行以下命令:
brew install openssl (通过查看Makefile可知,rtmpdump需要openssl支持)
brew rtmpdump (经过测试,必须要有librtmp,自带的rtmp只能支持播放非直播的rtmp,而添加librtmp之后是可以播放直播的视频)
sudo chmod a+w /usr/local/Cellar/rtmpdump/2.3/include/librtmp/rtmp.h(需要修改权限,具体哪个没具体研究,都改了吧)
sudo chmod a+w /usr/local/include/librtmp
brew install rtmpdump(若发现未能link成功,则brew link rtmpdump ;如果以前安装过则要进行删除操作:sudo rm -f $(brew link --overwrite --dry-run rtmpdump | grep "^[^W]");)
3、进行ffmpeg的安装(查看ffplay需要SDL-devel 的支持,参考出处忘了,因为文章是隔天写的,抱歉。sudo rpm -i SDL-devel-1.2.15-1.x86_64.rpm.txt,地址:http://www.libsdl.org/release/SDL-devel-1.2.15-1.x86_64.rpm;当然,前提是你mac上安装了rpm,rpm下载地址:http://rpm5.org/files/rpm/rpm-5.1/BINARY/RPM5-20080414.dmg,注:我当时好像使用的是SDL源码安装,故未用到rpm,sdl源码地址:http://www.libsdl.org/release/SDL-1.2.15.tar.gz):
进入ffmpeg文件夹,进行如下操作:
./configure --disable-yasm --enable-librtmp --enable-decoder=h264
make
sudo make install
4、好了,可以进行rtmp直播了:
ffplay -i "rtmp://192.168.1.13/room1/room1 live=1"
以下灰色字体文字实现方法尚未实现(可能是参数缘故),待研究:
我们在使用ffmpeg支持rtmp时,常遇到以下几个问题:
1、ERROR: librtmp not found
2、ld: library not found for -lrtmp (请见步骤3、4)
3、pkg-config: command not found
4、Perhaps you should add the directory containing ‘librtmp.pc’ (注:需要有 /usr/local/lib/pkgconfig/librtmp.pc)
我使用的可行解决方案步骤:
1、首先下载解压ffmpeg;
2、下载librtmp:http://rtmpdump.mplayerhq.hu/ (参考:http://bbs.chinavideo.org/viewthread.php?tid=8002)
3、cd至rtmpdump目录,将文件/rtmpdump-2.3/librtmp/makefile中的-soname 改为 -dylib_install_name;(这里可能会涉及到权限问题,此时可以切换为root进行操作,参考:http://blog.yikuyiku.com/?p=3150,另外可能需要安装pkg-config,参考:http://hi.baidu.com/newdreamllc/item/3be0780d186f0e7abfe97ea4,因为库是通过pkg-config寻找的,下载地址http://code.google.com/p/rudix/downloads/detail?name=pkg-config-0.25-1.dmg&can=2&q=label:Rudix-2011。还有一种不通过pkg-config的方法我没试过:http://d2100.com/questions/53589或http://blog.youkuaiyun.com/glcdw/article/details/7558303)
4、make && make install;