failed to write header to container

96 views
Skip to first unread message

Vyacheslav Kravchenko

unread,
Jul 30, 2015, 3:08:57 PM7/30/15
to xuggler-users
I am trying to download video from RTSP stream to a file on my computer using the Xuggler 5.4.
String outputFilename = "D:\\downloadedrtsp.avi";
String inputSource = "rtsp://[ip-address]:[port]/user=[username]&[password]=password&channel=1&stream=1.sdp";

    try {
        IContainer container = IContainer.make();
        IMetaData im = IMetaData.make();
        im.setValue("max_delay", (1000000l) + "");
        int retval = im.setValue("rtsp_transport", "tcp");

        container.open(inputSource, IContainer.Type.READ, null, false, true, im, null);
        IMediaReader mediaReader = ToolFactory.makeReader(container);

        IMediaWriter mediaWriter = ToolFactory.makeWriter(outputFilename, mediaReader);

        mediaReader.addListener(mediaWriter);

        IError error;
        while ((error = mediaReader.readPacket()) == null) {
            logger.info("reading packet");
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
But the code fails with a stacktrace
15:40:52.500 [main] ERROR org.ffmpeg - [tcp @ 00000000171C6BE0] Failed to resolve hostname \downloadedrtsp.avi: ???? ???? ??????????. 
15:40:52.500 [main] ERROR com.xuggle.xuggler - Error: could not write header for container (../../../../../../../csrc/com/xuggle/xuggler/Container.cpp:827)
java.lang.RuntimeException: Error Operation not permitted, failed to write header to container com.xuggle.xuggler.IContainer@387681280[url:D:\downloadedrtsp.avi;type:WRITE;format:com.xuggle.xuggler.IContainerFormat@387719536[oname:rtsp;olongname:RTSP output format;omimetype:null;oextensions:null;];] while establishing stream com.xuggle.xuggler.IStream@387690704[index:1;id:0;streamcoder:com.xuggle.xuggler.IStreamCoder@384527536[codec=com.xuggle.xuggler.ICodec@387719392[type=CODEC_TYPE_AUDIO;id=CODEC_ID_AAC;name=libvo_aacenc;];time base=1/8000;frame rate=0/0;sample rate=8000;channels=1;];framerate:0/0;timebase:1/90000;direction:OUTBOUND;]
    at com.xuggle.mediatool.MediaWriter.getStream(MediaWriter.java:1058)
    at com.xuggle.mediatool.MediaWriter.encodeAudio(MediaWriter.java:830)
    at com.xuggle.mediatool.MediaWriter.onAudioSamples(MediaWriter.java:1441)
    at com.xuggle.mediatool.AMediaToolMixin.onAudioSamples(AMediaToolMixin.java:89)
    at com.xuggle.mediatool.MediaReader.dispatchAudioSamples(MediaReader.java:628)
    at com.xuggle.mediatool.MediaReader.decodeAudio(MediaReader.java:555)
    at com.xuggle.mediatool.MediaReader.readPacket(MediaReader.java:469)
    at ua.datalink.main.StreamTranscodingExample.readHigherLevel(StreamTranscodingExample.java:103)
    at ua.datalink.main.StreamTranscodingExample.main(StreamTranscodingExample.java:121)
The file is created on program startup, but it's empty. Where can the problem lies? I have spend hours to figure it out, but still no result.

Ketan Kulkarni

unread,
Dec 26, 2015, 5:15:45 AM12/26/15
to xuggler-users
Which jar files have you used??
Reply all
Reply to author
Forward
0 new messages