Coder Social home page Coder Social logo

netty-stream's Introduction

netty-stream

netty stream

a media server by netty framework

h264 test file path https://github.com/wangdxh/Desert-Eagle/blob/master/streampushclient/testokmy.h264

format is: 4byte-frame length(Little Endian) follow by h264 raw frame

client push is :

java -jar netty-streampushclient-1.0-SNAPSHOT.jar filepath streamname ip port

streamname deault is 123abcdef32153421

ip is 127.0.0.1 port is 1985

server :

java -jar netty-streamserver-1.0-SNAPSHOT.jar

after server is running, there r 5 tcp ports is listening

  • 1985 accept client push raw h264 stream
  • 1984 http flv
  • 1983 websocket flv
  • 554 rtsp just udp transport
  • 80 list all the stream and the stream's url.

get http://127.0.0.1 to the detail url infor.

{"123abcdef32153421": {
  "wsflv": "ws://127.0.0.1:1983/live/liveflv?deviceid=123abcdef32153421",
  "httpflv": "http://127.0.0.1:1984/live/liveflv?deviceid=123abcdef32153421",
  "rtsp": "rtsp://127.0.0.1/live/livestream?deviceid=123abcdef32153421"
}}

play test

when u get the flv url,u can test it in :

with chrome open http://106.15.184.203:8001/

input the httpflv or the wsflv url in the Stream URL, then u can play the url.

rtsp url can use vlc player to play.

netty-stream's People

Contributors

wangdxh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

netty-stream's Issues

Convert from Annex-B to AVCC/AVC1

After doing some research, I've noticed that the video you are using is in AVCC/AVC1 format (4 byte length in Little Endian of a NALU follows by H264 raw stream), but most of the video I found was in Annex B format (start code instead of 4 byte). I can not find a "easy" method to convert from annex b to avcc/avc1.

Adjusted frame length exceeds 1048576: 3120627716 - discarded

io.netty.handler.codec.TooLongFrameException: Adjusted frame length exceeds 1048576: 3120627716 - discarded
at io.netty.handler.codec.LengthFieldBasedFrameDecoder.fail(LengthFieldBasedFrameDecoder.java:522)
at io.netty.handler.codec.LengthFieldBasedFrameDecoder.failIfNecessary(LengthFieldBasedFrameDecoder.java:500)
at io.netty.handler.codec.LengthFieldBasedFrameDecoder.exceededFrameLength(LengthFieldBasedFrameDecoder.java:387)
at io.netty.handler.codec.LengthFieldBasedFrameDecoder.decode(LengthFieldBasedFrameDecoder.java:430)
at io.netty.handler.codec.LengthFieldBasedFrameDecoder.decode(LengthFieldBasedFrameDecoder.java:343)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:489)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:265)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:340)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1434)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:348)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:965)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:647)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:582)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:499)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:461)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.lang.Thread.run(Thread.java:745)

差评!

Apache 2.0 License

Could you make this software Apache 2.0 license? This would help us in using it. Thanks!

为什么rtsp连接成功uri不正确

rtsp连接地址为:rtsp://ip:port/live/livestream?deviceid=123,但是服务器通过FullHttpRequest获取到的uri=rtsp://ip:port/live.sdp,所以导致checkUrl()方法校验不通过,请问这是什么原因呢?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.