0

I'm trying to stream a video file (h264 raw stream) from Android Device to VLC using Live555. My native code is based on the testh264streamer example, which works fine on Ubuntu.
However, when I try to start the streaming on Android it does not work. The video file is opened successfully and the client receives some packages (I followed it with Wireshark), but VLC does not show anything.
I guess the problem is the connection between Java and C++, so here's my Java-Code, which calls the native streaming method:

public class LiveStreamer implements Runnable {
    private static final String LOG_TAG = LiveStreamer.class.getSimpleName();

    private Context context;
    private String fileName;
    private FileDescriptor fileDescriptor;

    public LiveStreamer(Context context, String fileName) {
        this.context = context;
        this.fileName = fileName;
        this.prepare();
    }

    private void prepare() {
        try {
            fileDescriptor = prepareStream(fileName, fileDescriptor);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public String getFileName() {
        return fileName;
    }

    public FileDescriptor getFileDescriptor() {
        return fileDescriptor;
    }

    private native void stream(String ipAdress);

    private native FileDescriptor prepareStream(String file, FileDescriptor fd)
        throws IOException;

    @Override
    public void run() {
        Log.d(LOG_TAG, "Start streaming ...");
        String ipAddress = NetworkUtilities.getWifiIpAddress(context);
        if (fileDescriptor != null) {
            stream(ipAddress);
        }
        Log.d(LOG_TAG, "Stopp streaming ...");
    }
}

And my native code:

JNIEXPORT void JNICALL Java_[PACKAGE_NAME]_LiveStreamer_stream(
    JNIEnv *env, jobject obj, jstring ipAddress) {
    const char* c_ipaddress = env->GetStringUTFChars(ipAddress, false);

    jclass streamClazz = env->GetObjectClass(obj);
    jclass exceptionClazz = env->FindClass("java/lang/RuntimeException");

    if (streamClazz == NULL || exceptionClazz == NULL) {
        return;
    }

    if (videoFile == NULL) {
        return;
    }

    // setting up the usage environment
    TaskScheduler *scheduler = BasicTaskScheduler::createNew();
    uenv = BasicUsageEnvironment::createNew(*scheduler);

    // Creating groupsocks
    struct in_addr destinationAddress;
    destinationAddress.s_addr = chooseRandomIPv4SSMAddress(*uenv);

    const unsigned short rtpPortNum = 18888;
    const unsigned short rtcpPortNum = rtpPortNum + 1;
    const unsigned char ttl = 255;

    const Port rtpPort(rtpPortNum);
    const Port rtcpPort(rtcpPortNum);

    Groupsock rtpGroupsockVideo(*uenv, destinationAddress, rtpPort, ttl);
    Groupsock rtcpGroupsockVideo(*uenv, destinationAddress, rtcpPort, ttl);

    rtpGroupsockVideo.multicastSendOnly();
    rtcpGroupsockVideo.multicastSendOnly();

    // Create a 'H264 Video RTP' sink from the RTP 'groupsock':
    OutPacketBuffer::maxSize = 100000;
    rtpVideoSink = H264VideoRTPSink::createNew(*uenv, &rtpGroupsockVideo, 96);

    // Create (and start) a 'RTCP instance' for this RTP sink:
    logDebug("Starting RTSP server ...");
    const unsigned estimatedSessionBandwidth = 10000; // in kbps; for RTCP b/w share
    const unsigned maxCNAMElen = 100;
    unsigned char CNAME[maxCNAMElen + 1];
    gethostname((char*) CNAME, maxCNAMElen);
    CNAME[maxCNAMElen] = '\0'; // just in case

    RTCPInstance* rtcpVideo = RTCPInstance::createNew(*uenv,
        &rtcpGroupsockVideo, estimatedSessionBandwidth, CNAME, rtpVideoSink,
        NULL, True);

    RTSPServer *rtspServer = RTSPServer::createNew(*uenv, 8554);
    if (rtspServer == NULL) {
        logError("Failed to create RTSP Server");
        exit(1);
    }

    ServerMediaSession *session = ServerMediaSession::createNew(*uenv,
        "herosession", "video.sdp", "Session streamed by \"LiveCam\"",
        True);
    session->addSubsession(
        PassiveServerMediaSubsession::createNew(*rtpVideoSink));
    rtspServer->addServerMediaSession(session);
    logDebug("RTSP server started ...");

    logDebug("Beginning streaming ...");
    char* url = rtspServer->rtspURL(session);
    logDebug(url);

    play();
    uenv->taskScheduler().doEventLoop(); // does not return
}

Do you have any suggestions? Thanks for your help!

Edit //

Here's the logcat of my app (seems something unspectular):

01-17 14:00:38.731: D/dalvikvm(32167): Trying to load lib /data/app-lib/de.[PACKAGE]-4/libliveCam.so 0x4252f570
01-17 14:00:38.731: D/dalvikvm(32167): Added shared lib /data/app-lib/de.[PACKAGE]-4/libliveCam.so 0x4252f570
01-17 14:00:38.731: D/dalvikvm(32167): No JNI_OnLoad found in /data/app-lib/de.[PACKAGE]-4/libliveCam.so 0x4252f570, skipping init
01-17 14:00:38.741: I/PersonaManager(32167): getPersonaService() name persona_policy
01-17 14:00:38.771: D/skia(32167): GFXPNG PNG bitmap created width:13 height:41 bitmap id is 180 
01-17 14:00:38.781: E/MoreInfoHPW_ViewGroup(32167): Parent view is not a TextView
01-17 14:00:38.801: D/skia(32167): GFXPNG PNG bitmap created width:78 height:96 bitmap id is 181 
01-17 14:00:38.811: D/skia(32167): GFXPNG PNG bitmap created width:78 height:96 bitmap id is 182 
01-17 14:00:38.811: D/skia(32167): GFXPNG PNG bitmap created width:144 height:144 bitmap id is 183 
01-17 14:00:38.821: D/Activity(32167): setTransGradationMode to true
01-17 14:00:38.961: I/Adreno-EGL(32167): <qeglDrvAPI_eglInitialize:410>: EGL 1.4 QUALCOMM build:  ()
01-17 14:00:38.961: I/Adreno-EGL(32167): OpenGL ES Shader Compiler Version: E031.24.00.08+13
01-17 14:00:38.961: I/Adreno-EGL(32167): Build Date: 03/20/14 Thu
01-17 14:00:38.961: I/Adreno-EGL(32167): Local Branch: 0320_AU200_patches
01-17 14:00:38.961: I/Adreno-EGL(32167): Remote Branch: 
01-17 14:00:38.961: I/Adreno-EGL(32167): Local Patches: 
01-17 14:00:38.961: I/Adreno-EGL(32167): Reconstruct Branch: 
01-17 14:00:38.991: D/OpenGLRenderer(32167): Enabling debug mode 0
01-17 14:00:42.611: D/LiveStreamer(32167): Start streaming ...
01-17 14:00:42.631: D/LiveCam(32167): Starting RTSP server ...
01-17 14:00:42.631: D/LiveCam(32167): RTSP server started ...
01-17 14:00:42.631: D/LiveCam(32167): Beginning streaming ...
01-17 14:00:42.631: D/LiveCam(32167): rtsp://141.24.13.60:8554/herosession
01-17 14:00:42.631: D/LiveCam(32167): Beginning to read from file ...
01-17 14:00:42.631: D/LiveCam(32167): ...done reading from file
01-17 14:00:42.631: D/LiveCam(32167): Beginning to read from file ...

And here's the debug output of vlc:

[000000000119b188] core playlist debug: adding item `rtsp://141.24.13.60:8554/herosession' ( rtsp://141.24.13.60:8554/herosession )
[000000000119b188] core playlist debug: meta ok for (null), need to fetch art
[000000000119b188] core playlist debug: processing request item: rtsp://141.24.13.60:8554/herosession, node: null, skip: 0
[000000000119b188] core playlist debug: rebuilding array of current - root Wiedergabeliste
[000000000119b188] core playlist debug: rebuild done - 1 items, index 0
[000000000119b188] core playlist debug: starting playback of the new playlist item
[000000000119b188] core playlist debug: resyncing on rtsp://141.24.13.60:8554/herosession
[000000000119b188] core playlist debug: rtsp://141.24.13.60:8554/herosession is at 0
[000000000119b188] core playlist debug: creating new input thread
[00007fb48c0009b8] core input debug: Creating an input for 'rtsp://141.24.13.60:8554/herosession'
[00007fb494000cf8] core art finder debug: looking for meta fetcher module matching "any": 1 candidates
[000000000119b188] core playlist debug: requesting art for rtsp://141.24.13.60:8554/herosession
[00007fb48c0009b8] core input debug: using timeshift granularity of 50 MiB, in path '/tmp'
[00007fb48c0009b8] core input debug: `rtsp://141.24.13.60:8554/herosession' gives access `rtsp' demux `' path `141.24.13.60:8554/herosession'
[00007fb48c0009b8] core input debug: specified demux `any'
[00007fb48c0009b8] core input debug: creating demux: access='rtsp' demux='any' location='141.24.13.60:8554/herosession' file='(null)'
[00007fb484000958] core art finder debug: looking for meta fetcher module matching "any": 1 candidates
[00007fb490000e38] core demux debug: looking for access_demux module matching "rtsp": 21 candidates
[00007fb490000e38] live555 demux debug: version 2014.01.13
[00000000011b57b8] qt4 interface debug: IM: Setting an input
Opening connection to 141.24.13.60, port 8554...
[00007fb484000958] lua art finder debug: Trying Lua scripts in /home/robin/.local/share/vlc/lua/meta/fetcher
[00007fb484000958] lua art finder debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/fetcher
[00007fb484000958] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/fetcher/tvrage.luac
[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /home/robin/.local/share/vlc/lua/meta/fetcher
[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/fetcher
[00007fb494000cf8] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/fetcher/tvrage.luac
[00007fb494000cf8] lua art finder debug: skipping script (unmatched scope) /usr/lib/vlc/lua/meta/fetcher/tvrage.luac
[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /usr/share/vlc/lua/meta/fetcher
[00007fb494000cf8] core art finder debug: no meta fetcher modules matched
[00007fb484000958] lua art finder debug: skipping script (unmatched scope) /usr/lib/vlc/lua/meta/fetcher/tvrage.luac
[00007fb484000958] lua art finder debug: Trying Lua scripts in /usr/share/vlc/lua/meta/fetcher
[00007fb484000958] core art finder debug: no meta fetcher modules matched
[0000000001187118] core libvlc debug: searching art for rtsp://141.24.13.60:8554/herosession
[00007fb484000958] core art finder debug: looking for art finder module matching "any": 2 candidates
[000000000119b188] core playlist debug: searching art for rtsp://141.24.13.60:8554/herosession
[00007fb494000cf8] core art finder debug: looking for art finder module matching "any": 2 candidates
[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /home/robin/.local/share/vlc/lua/meta/art
[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/art
[00007fb494000cf8] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/00_musicbrainz.luac
[00007fb484000958] lua art finder debug: Trying Lua scripts in /home/robin/.local/share/vlc/lua/meta/art
[00007fb484000958] lua art finder debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/art
[00007fb484000958] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/00_musicbrainz.luac
[00007fb484000958] lua art finder debug: skipping script (unmatched scope) /usr/lib/vlc/lua/meta/art/00_musicbrainz.luac
[00007fb484000958] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/01_googleimage.luac
[00007fb494000cf8] lua art finder debug: skipping script (unmatched scope) /usr/lib/vlc/lua/meta/art/00_musicbrainz.luac
[00007fb494000cf8] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/01_googleimage.luac
...remote connection opened
Sending request: OPTIONS rtsp://141.24.13.60:8554/herosession RTSP/1.0
CSeq: 2
User-Agent: LibVLC/2.2.0-pre2 (LIVE555 Streaming Media v2014.01.13)


[00007fb484000958] lua art finder debug: skipping script (unmatched scope) /usr/lib/vlc/lua/meta/art/01_googleimage.luac
[00007fb484000958] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/02_frenchtv.luac
[00007fb494000cf8] lua art finder debug: skipping script (unmatched scope) /usr/lib/vlc/lua/meta/art/01_googleimage.luac
[00007fb494000cf8] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/02_frenchtv.luac
[00007fb484000958] lua art finder debug: skipping script (unmatched scope) /usr/lib/vlc/lua/meta/art/02_frenchtv.luac
[00007fb484000958] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/03_lastfm.luac
Received 152 new bytes of response data.
Received a complete OPTIONS response:
RTSP/1.0 200 OK
CSeq: 2
Date: Sat, Jan 17 2015 13:06:24 GMT
Public: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER


Sending request: DESCRIBE rtsp://141.24.13.60:8554/herosession RTSP/1.0
CSeq: 3
User-Agent: LibVLC/2.2.0-pre2 (LIVE555 Streaming Media v2014.01.13)
Accept: application/sdp


[00007fb494000cf8] lua art finder debug: skipping script (unmatched scope) /usr/lib/vlc/lua/meta/art/02_frenchtv.luac
[00007fb494000cf8] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/03_lastfm.luac
Received 617 new bytes of response data.
[00007fb484000958] lua art finder debug: skipping script (unmatched scope) /usr/lib/vlc/lua/meta/art/03_lastfm.luac
Received a complete DESCRIBE response:
RTSP/1.0 200 OK
CSeq: 3
Date: Sat, Jan 17 2015 13:06:24 GMT
Content-Base: rtsp://141.24.13.60:8554/herosession/
Content-Type: application/sdp
Content-Length: 447

v=0
o=- 1421499976435789 1 IN IP4 141.24.13.60
s=Session streamed by "LiveCam"
i=video.sdp
t=0 0
a=tool:LIVE555 Streaming Media v2015.01.04
a=type:broadcast
a=control:*
a=source-filter: incl IN IP4 * 141.24.13.60
a=rtcp-unicast: reflection
a=range:npt=0-
a=x-qt-text-nam:Session streamed by "LiveCam"
a=x-qt-text-inf:video.sdp
m=video 18888 RTP/AVP 96
c=IN IP4 232.240.223.192/255
b=AS:50
a=rtpmap:96 H264/90000
a=control:track1

[00007fb484000958] lua art finder debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art
[00007fb484000958] core art finder debug: no art finder modules matched
[00007fb484000958] core art finder debug: looking for meta fetcher module matching "any": 1 candidates
[00007fb490000e38] live555 demux debug: RTP subsession 'video/H264'
Sending request: SETUP rtsp://141.24.13.60:8554/herosession/track1 RTSP/1.0
CSeq: 4
User-Agent: LibVLC/2.2.0-pre2 (LIVE555 Streaming Media v2014.01.13)
Transport: RTP/AVP;multicast;client_port=18888-18889


[00007fb494000cf8] lua art finder debug: skipping script (unmatched scope) /usr/lib/vlc/lua/meta/art/03_lastfm.luac
[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art
[00007fb494000cf8] core art finder debug: no art finder modules matched
[00007fb494000cf8] core art finder debug: looking for meta fetcher module matching "any": 1 candidates
[00007fb484000958] lua art finder debug: Trying Lua scripts in /home/robin/.local/share/vlc/lua/meta/fetcher
[00007fb484000958] lua art finder debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/fetcher
[00007fb484000958] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/fetcher/tvrage.luac
Received 194 new bytes of response data.
Received a complete SETUP response:
RTSP/1.0 200 OK
CSeq: 4
Date: Sat, Jan 17 2015 13:06:24 GMT
Transport: RTP/AVP;multicast;destination=232.240.223.192;source=141.24.13.60;port=18888-0;ttl=255
Session: 247BEDD2;timeout=65


[00007fb48c0009b8] core input debug: selecting program id=0
[00007fb490000e38] live555 demux debug: setup start: 0,000000 stop:0,000000
Sending request: PLAY rtsp://141.24.13.60:8554/herosession/ RTSP/1.0
CSeq: 5
User-Agent: LibVLC/2.2.0-pre2 (LIVE555 Streaming Media v2014.01.13)
Session: 247BEDD2
Range: npt=0.000-


[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /home/robin/.local/share/vlc/lua/meta/fetcher
[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/fetcher
[00007fb494000cf8] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/fetcher/tvrage.luac
[00007fb484000958] core art finder debug: using meta fetcher module "lua"
[00007fb484000958] core art finder debug: removing module "lua"
[0000000001187118] core libvlc debug: searching art for rtsp://141.24.13.60:8554/herosession
[00007fb484000958] core art finder debug: looking for art finder module matching "any": 2 candidates
Received 191 new bytes of response data.
Received a complete PLAY response:
RTSP/1.0 200 OK
CSeq: 5
Date: Sat, Jan 17 2015 13:06:24 GMT
Range: npt=0.000-
Session: 247BEDD2
RTP-Info: url=rtsp://141.24.13.60:8554/herosession/track1;seq=21427;rtptime=3001652764


[00007fb490000e38] live555 demux debug: We have a timeout of 65 seconds
[00007fb490000e38] live555 demux debug: spawned timeout thread
[00007fb490000e38] live555 demux debug: play start: 0,000000 stop:0,000000
[00007fb490000e38] core demux debug: using access_demux module "live555"
[00007fb49000c238] core decoder debug: looking for decoder module matching "any": 42 candidates
[00007fb494000cf8] core art finder debug: using meta fetcher module "lua"
[00007fb494000cf8] core art finder debug: removing module "lua"
[000000000119b188] core playlist debug: searching art for rtsp://141.24.13.60:8554/herosession
[00007fb494000cf8] core art finder debug: looking for art finder module matching "any": 2 candidates
[00007fb484000958] lua art finder debug: Trying Lua scripts in /home/robin/.local/share/vlc/lua/meta/art
[00007fb484000958] lua art finder debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/art
[00007fb484000958] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/00_musicbrainz.luac
[00007fb484000958] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/01_googleimage.luac
[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /home/robin/.local/share/vlc/lua/meta/art
[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/art
[00007fb494000cf8] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/00_musicbrainz.luac
[00007fb484000958] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/02_frenchtv.luac
[00007fb494000cf8] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/01_googleimage.luac
[00007fb49000c238] avcodec decoder debug: CPU flags: 0x000053db
[00007fb484000958] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/03_lastfm.luac
[00007fb49000c238] avcodec decoder debug: trying to use direct rendering
[00007fb49000c238] avcodec decoder debug: allowing 4 thread(s) for decoding
[00007fb494000cf8] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/02_frenchtv.luac
[00007fb49000c238] avcodec decoder debug: avcodec codec (H264 - MPEG-4 AVC (part 10)) started
[00007fb49000c238] avcodec decoder debug: using frame thread mode with 4 threads
[00007fb49000c238] core decoder debug: using decoder module "avcodec"
[00007fb4901ad358] core packetizer debug: looking for packetizer module matching "any": 22 candidates
[00007fb4901ad358] core packetizer debug: using packetizer module "packetizer_h264"
[00007fb4901b33a8] core demux meta debug: looking for meta reader module matching "any": 2 candidates
[00007fb484000958] lua art finder debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art
[00007fb484000958] core art finder debug: no art finder modules matched
[0000000001187118] core libvlc debug: art not found for rtsp://141.24.13.60:8554/herosession
[00007fb494000cf8] lua art finder debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/art/03_lastfm.luac
[00007fb4901b33a8] lua demux meta debug: Trying Lua scripts in /home/robin/.local/share/vlc/lua/meta/reader
[00007fb4901b33a8] lua demux meta debug: Trying Lua scripts in /usr/lib/vlc/lua/meta/reader
[00007fb4901b33a8] lua demux meta debug: Trying Lua playlist script /usr/lib/vlc/lua/meta/reader/filename.luac
[00007fb494000cf8] lua art finder debug: Trying Lua scripts in /usr/share/vlc/lua/meta/art
[00007fb494000cf8] core art finder debug: no art finder modules matched
[000000000119b188] core playlist debug: art not found for rtsp://141.24.13.60:8554/herosession
[00007fb4901b33a8] lua demux meta debug: Trying Lua scripts in /usr/share/vlc/lua/meta/reader
[00007fb4901b33a8] core demux meta debug: no meta reader modules matched
[00007fb48c0009b8] core input debug: `rtsp://141.24.13.60:8554/herosession' successfully opened
Sending request: GET_PARAMETER rtsp://141.24.13.60:8554/herosession/ RTSP/1.0
CSeq: 6
User-Agent: LibVLC/2.2.0-pre2 (LIVE555 Streaming Media v2014.01.13)
Session: 247BEDD2


Received 114 new bytes of response data.
Received a complete GET_PARAMETER response:
RTSP/1.0 200 OK
CSeq: 6
Date: Sat, Jan 17 2015 13:06:24 GMT
Session: 247BEDD2
Content-Length: 10

2015.01.04
Robin
  • 709
  • 2
  • 8
  • 20
  • Please add the log of the JNI and the verbose output of VLC (using -vvv). – mpromonet Jan 17 '15 at 12:52
  • I've eddited my original post and added the logcat and the debug output (hope it is the relevant part ;-)) – Robin Jan 17 '15 at 13:14
  • VLC initialize RTSP session correctly, then I guess the problem is related to multicast. Did you tried to send multicast from your RTSP server platform to your RTSP client platform ? – mpromonet Jan 17 '15 at 13:31
  • Yes, my rtsp implementation uses multicast (as the live555 example does), but I didn't tried it with unicast (I will do it soon). I reviewed my native code an realized that I didn't gave the inputfile name to the session, as I did it in the desktop example. I've changed that, but it doesn't have any effect on my issue. – Robin Jan 17 '15 at 14:05
  • I don't know, if the video has SPS/PPS inside the stream. I've got my test video (H.264 1280x720) from here: http://www.qvidium.com/captures/ – Robin Jan 17 '15 at 14:42
  • This file contains Transport Stream data, H264VideoRTPSink need Elementary Stream, it needs to be demuxed using MPEG2TransportStreamFramer (see testProgs/testMPEG2TransportStreamer.cpp) – mpromonet Jan 17 '15 at 14:49
  • Thanks, I will give it a try and report you, if I had susscess or not.... – Robin Jan 17 '15 at 14:54
  • Well, I've tried it but I got the same error. In the log of vlc the following line appears: core libvlc debug: art not found for rtsp://192.168.1.103:8554/testStream It is interesting, that nearly the exact same code works perfect on ubuntu. – Robin Jan 17 '15 at 20:05
  • Perhaps I am wrong but I don't think 'art not found' is related to the problem, so I come back to the previous idea about multicast. Perhaps android doesnot support IGMPv3 and SSM multicast, and you should try `ServerMediaSession *session = ServerMediaSession::createNew(*uenv, "herosession", "video.sdp");` that set isSSM to false. – mpromonet Jan 17 '15 at 21:02
  • Still does not work ;-( – Robin Jan 17 '15 at 21:33
  • If multicast works, unicast produce same behavior. I haven't more idea. Good luck ! – mpromonet Jan 17 '15 at 21:36
  • Hi. Thanks for your help and sorry for my late reply ;-( I've tested it on my desktop pc again and found out that streaming does not work over the network. It only works, if I am using VLC on the same machine. I didn't get a look at the log yet, but I guess it is mainly the same output as before... Does anyone have an idea? – Robin Jan 24 '15 at 21:26
  • Firewall ? Or multicast routing because live555 use multicast to choose the interface to use (route add -net 224.0.0.0 netmask 240.0.0.0 dev could help) – mpromonet Jan 24 '15 at 21:32
  • Thanks! I disabled multicast routing by using the example "testOnDemandRTSPServer" and no it works on the desktop (I will test in on Android later). However, the client vlc displays only some green pixels ;-( – Robin Jan 27 '15 at 21:15
  • Hi @Robin did you solve your problem? I also need to implement the same in android app. – Harish Vats Apr 01 '16 at 09:51

0 Answers0