I have a camera by Cisco and like to stream it's video stream to my android phone.
It's coded in MPEG4 so there should be no problem, but it's not working anymore (it worked with another camera a few weeks ago). Any idea what I might try ? I don't know what's wrong here.
I/ActivityManager( 79): Starting activity: Intent { cmp=com.Projekt1/.CameraView }
I/System.out(18792): SDPURL - rtsp://10.42.0.103:554/live.sdp
I/NotificationService( 79): enqueueToast pkg=com.Projekt1 callback=android.app.ITransientNotification$Stub$Proxy#44a22218 duration=0
D/MediaPlayer(18792): Couldn't open file on client side, trying server side
I/ActivityManager( 79): Displayed activity com.Projekt1/.CameraView: 270 ms (total 270 ms)
W/MediaPlayer(18792): info/warning (1, 26)
I/MediaPlayer(18792): Info (1,26)
E/PlayerDriver( 52): Command PLAYER_INIT completed with an error or info PVMFFailure
E/MediaPlayer(18792): error (1, -1)
E/MediaPlayer(18792): Error (1,-1)
D/VideoView(18792): Error: 1,-1
W/PlayerDriver( 52): PVMFInfoErrorHandlingComplete
Sorry Nils you have the right codec but Android supports only .3gp Streaming for video, i see you have
rtsp://10.42.0.103:554/live.sdp
Related
I have an application (decoding module) which fails to create mediacodec for decoding H264 encoded stream while running on the Nexus 6P. But it perfectly works under Google PIXEL XL phone.
I am also giving a small snap of the error I am getting while I debug it using android studio logcat. Any Help will be highly appreciated.
Error Snap
E/OMX-VDEC-1080P: Failed to call stream on OUTPUT due to HW_OVERLOAD
E/OMX-VDEC-1080P: empty_this_buffer_proxy failure due to HW overload
E/OMX-VDEC-1080P: ERROR: Sending OMX_ErrorInsufficientResources to Client
E/OMX-VDEC-1080P: Failed to qbuf to driver
E/ACodec: [OMX.qcom.video.decoder.avc] ERROR(0x80001000)
E/ACodec: signalError(omxError 0x80001000, internalError -2147483648)
Codec reported err 0x80001000, actionCode 0, while in state 6
E/NuPlayerDecoder: Decoder (video) reported error : 0x80001000
E/NuPlayer: received error(0x80001000) from video decoder, flushing(0), now shutting down
E/MediaPlayer: error (1, -2147479552)
E/MediaPlayer: Error (1,-2147479552)
D/EasyMovieTexture: OnError
E/NuPlayerDecoder: failed to flush OMX.qcom.video.decoder.avc (err=-38)
12-29 20:21:41.075 2737-10644/? E/NuPlayer: received error(0xffffffda) from video decoder, flushing(2), now shutting down
D/NuPlayerDriver: notifyListener_l(0xeed2aae0), (100, 1, -38), loop setting(0, 0)
E/MediaPlayer: Error (1,-38)
D/EasyMovieTexture: OnError
E/OMX-VDEC-1080P: Failed to call stream on OUTPUT
E/OMX-VDEC-1080P: empty_this_buffer_proxy failure
I guess error code -38 is coming because I want to start the mediaplayer in an incorrect state (Here as the codec is giving me an error, mediaplayer is in the ERROR state).
I tested on Google PIXEL XL and Nexus 6P and I am getting this problem for Nexus 6P.
I'm getting an odd error from MediaPlayer while playing a live stream. The code was working perfectly before I upgraded my Nexus 10 to 5.1 from 5.0.x.
I get the error: error (-2147483648, 0) in the onError handler and have to stop the video. If I put a breakpoint in the error handler, the video plays perfectly on the device, so I don't know why it throws the error nor what it means.
I've tried debugging the MediaPlayer sources, but for some reason the binary on the device does not match the sources I have for 5.1. Either way it seems the error is coming up from the Native code.
I am able to play other media sources with he same code, it seems only the media with no duration information causes the error.
Here is the only useful info I get out of the log:
03-21 23:02:22.365: W/MediaPlayer(26062): info/warning (801, 0)
03-21 23:02:22.401: D/MediaPlayer(26062): getMetadata
03-21 23:02:22.416: W/MediaPlayer(26062): Stream has no duration and is therefore not seekable.
03-21 23:02:22.416: E/MediaPlayer(26062): error (-2147483648, 0)
03-21 23:02:22.427: E/MediaPlayer(26062): Error (-2147483648,0)
03-21 23:02:22.443: D/VideoView(26062): Error: -2147483648,0
03-21 23:02:22.446: W/Tag(26062): Playback error in -2147483648 info: 0
03-21 23:02:22.492: W/MediaPlayer(26062): info/warning (3, 0)
Figured it out. I was calling seekTo() with a zero value on a stream with no duration (live stream). Why it worked before, the 5.1 upgrade, I don't know.
Answers to many questions about this theme doesn't help me! It's not the problem that audio needs to be started first by a click or any other type of action.
I want to Play a number of different short mp3's on my website. The best approach I've found is the following. It works on Internet Explorer and Chrome (other Desktop browsers not tested) and on mobile devices with iOS. But not on Android.
In my html I initialize an audio device:
<audio id="mp3play" src=""></audio>
It's only for defining the name "mp3play".
In the header of the html I have the following javascript:
<SCRIPT language=JavaScript>
<!--
function play(name) {
var oAudio = document.getElementById("mp3play");
oAudio.stop;
oAudio.src = name;
oAudio.play();
}
//-->
Now I can invoke the player with the following link:
<a href="javascript:play('stuff/voc/WAVvow/011001.MP3');"
This works fine, even on Android.
But for special requirements I do not use filenames for mp3's. I've made a Perl script to deliver the pm3 data depending on a computation. For this I use the following link:
<a href="javascript:play('../cgi-bin/playmp3.pl?185004');"
This Perl code "playmp3.pl" sends a header and then the complete mp3 data:
($entry[0] has a pointer to the desired data, $entry[1] the length)
open(DAT, "<../wbtde/DictData/dv8.dat");
binmode DAT;
seek(DAT, $entry[0], 0);
read(DAT, $mp3, $entry[1]); # Lesen des Eintrages
close DAT;
print "Content-type: audio/mpeg\n\n";
print $mp3;
Also this works fine on IE, Chrome and iOS browsers, but not on Android.
I can invoke the script also directly with
www.mysite.com/cgi-bin/playmp3.pl?185004
Also this is working fine on IE, Chrome and iOS browser, but not on Android. Android tells me it can not play this type of content. But with content type audio/mpeg3 it's also not playing.
This is the Android error log when I tap one link only:
D/CDX_Player( 2402): >>>>>>>> CedarX Player Version: 00010707
I/CedarPlayerWrapper( 2402): setDataSource('http://www.example.com/cgi-bin/playmp3.pl?062013')
I/ChromiumHTTPDataSource( 2402): connect to http://www.example.com/cgi-bin/playmp3.pl?062013 #0
W/MediaPlayer( 967): info/warning (701, 0)
I/MediaPlayer( 967): Info (701,0)
D/sft_http_stream( 2402): reset stream
I/NuCachedSource2( 2402): ERROR_END_OF_STREAM
W/demux_http( 2402): unknown file format!
E/demux_http( 2402): open error, destroy stream handle
E/DemuxSftNetwork_Component( 2402): cedar demuxer open error
E/CedarXPlayer( 2402): CedarXPlayer:prepare error!
E/MediaPlayer( 967): error (1, -2147483648)
E/MediaPlayer( 967): Error (1,-2147483648)
I/CDX_Player( 2402): cancel prepare!
D/CDX_Player( 2402): >>>>>>>> CedarX Player Version: 00010707
I/CedarPlayerWrapper( 2402): setDataSource('http://www.example.com/cgi-bin/playmp3.pl?062013')
W/MediaPlayer( 967): info/warning (701, 0)
I/ChromiumHTTPDataSource( 2402): connect to http://www.example.com/cgi-bin/playmp3.pl?062013 #0
I/MediaPlayer( 967): Info (701,0)
D/sft_http_stream( 2402): reset stream
I/NuCachedSource2( 2402): ERROR_END_OF_STREAM
W/demux_http( 2402): unknown file format!
E/demux_http( 2402): open error, destroy stream handle
E/DemuxSftNetwork_Component( 2402): cedar demuxer open error
E/CedarXPlayer( 2402): CedarXPlayer:prepare error!
E/MediaPlayer( 967): error (1, -2147483648)
E/MediaPlayer( 967): Error (1,-2147483648)
I/CDX_Player( 2402): cancel prepare!
Another try:
I've saved the output from Perl script to a file with the name "test.MP3". Then I've prepared a link in my html as
<a href="javascript:play('stuff/test.MP3');"
This works on Android! So I can assume that the output of the Perl script is correct.
Is it a question of content type?
Is it a question of the filename (.pl instead of mp3)?
It is the Filename!
Fortunately Android accepts the addition ".mp3" to the Perl call:
www.mysite.com/cgi-bin/playmp3.pl?185004.mp3
I've changed the Perl script to remove that addition and now it works on all platforms.
I'm writing an Android App which play an Internet Radio Stream. Yesterday i'm update my nexus s from version 2.3 to 4.0.4 and now my app is not running.
that is my code: http://paste.ubuntu.com/936434/
i get this output:
04-19 07:01:20.367: D/App(22170): http://stream02.technoloversfm.de/listen.pls?sid=1
04-19 07:01:29.304: E/MediaPlayer(22170): error (1, -2147483648)
04-19 07:01:29.308: D/App(22170): java.io.IOException: Prepare failed.: status=0x1
04-19 07:01:29.312: E/MediaPlayer(22170): start called in state 0
04-19 06:52:25.980: E/MediaPlayer(21901): Error (-38,0)
whats the problem?
(the internet permission is set)
I have a problem playing mp4 video files on the Droid2 with android 2.2 (build VZW) . The app tries to play the videos from the sdcard and the it takes for ever and doesnt load the video.
I tried to debug the app on the phone with adb. When I play the video it give the below decoding error on the logcat:
TIOMX_CORE: dlopen libOMX.TI.720P.Decoder.so failed because Cannot load library: load_library[1083]: Library 'libOMX.TI.720P.Decoder.so' not found
1134 2189 D : error 0x80001003 in DoPrepare
1134 2189 V PlayerDriver: HandleInformationalEvent: PVMFInfoErrorHandlingStart
1134 2189 V PlayerDriver: HandleInformationalEvent: type=26 UNHANDLED
2103 2109 W MediaPlayer: info/warning (1, 26)
1134 2190 D OMX_AACDEC: AACDEC_ComponentThread():150 150 :: Comp Thrd Exiting here..
1134 2189 D OMX_AACDEC: ComponentDeInit():1726 :: Freeing: pComponentPrivate = 0x60af8
1134 2189 D TIOMX_CORE: Found matching pHandle(0x5db70) at index 7 with refCount 1
1134 2189 D : enter SharedLibraryLookup
1134 2189 D : enter GetFactoryAndMimeString
1134 2189 V PlayerDriver: CommandCompleted
1134 2189 V PlayerDriver: Completed command PLAYER_PREPARE status=PVMFErrResource
1134 2189 E PlayerDriver: Command PLAYER_PREPARE completed with an error or info PVMFErrResource
1134 2189 V PVPlayer: check_for_live_streaming s=-2147483648, cancelled=0
1134 2189 V PlayerDriver: HandleInformationalEvent: PVMFInfoErrorHandlingComplete
1134 2189 W PlayerDriver: PVMFInfoErrorHandlingComplete
2103 2108 E MediaPlayer: error (1, -17)
I assume that 2.2 has some decoder issues playing the mp4 files. Did any one run into this issue. I am not sure how to nail this one. Might be an option to upgrade the 2.2 to 2.2.1 or 2.2.2 or 2.3?
I would really appreciate if anyone can shed some light on this one.
Thanks,
Raja.
Actually, there is another reason.
Library 'libOMX.TI.720P.Decoder.so' not found
I.e. the file was removed from it's location, thanks to a patch that came sometime prior to November 2010.
The solution:
1.Download These files from the Liberty Rom Source repo:
in /system/lib:
libOMX.TI.720P.Decoder.so
libOMX.TI.720P.Encoder.so
libOMX.TI.mp4.splt.Encoder.so
in /system/lib/dsp/
720p_h264vdec_sn.dll64P
720p_mp4vdec_sn.dll64P
720p_mp4venc_sn.dll64P
2.Using Root Manager or any other file explorer mount system as R/W
Copy the six files into "/system/lib/" and "/system/lib/dsp/", respectively, on your phone,
3.change permissions to 644 (rw-r--r--)
4.Remount system back to R/O (Read Only)
5.Reset
6.Go play any 720p video on the stock video player and stop getting "Sorry this video cannot be played" errors!
Source