<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>I've got the source (latest rev from the archives) and have it
built. It appears to run ok.</p>
<p>I'm trying to extract video from a webcam, and running into some
issues. In order:</p>
<p>1. Using MP4 format ("-4" switch) works sort-of. The camera is
set to a 10fps frame rate due to network bandwidth considerations
when streamed live. If I make an .mp4 I can play it with the
Windows video player (assuming I cleanly terminate it) BUT VLC
fails to play it if I transfer the file to my Android phone and if
I attempt to feed it to ExoPlayer (using their demo app) it
complains with the logcat that it cannot find a matching
Extractor. Also, on Windows, while the video displays cleanly it
runs at 1/3 speed (in other words the 10fps rate is not honored, I
instead get one "tick" of the real-time display every three
seconds.) This format, however, isn't useful for what I need
because you must let the stream finish and the MP4 header get
written on the file before you can play it (that is, you can't
stream it in any event.)<br>
</p>
<p>2. Attempting to extract just the video track ("-v") appears to
work, and a file command shows "test.h264: JVT NAL sequence, H.264
video @ L 50", which should be ok. However, I cannot play that
with *any* of the tools in question, including VLC and feeding it
to the ExoPlayer demo -- the latter complains once again that
there is no valid extractor:</p>
<p> Caused by:
com.google.android.exoplayer2.source.UnrecognizedInputFormatException:
None of the available extractors (MatroskaExtractor,
FragmentedMp4Extractor, Mp4Extractor, Mp3Extractor, AdtsExtractor,
Ac3Extractor, TsExtractor, FlvExtractor, OggExtractor,
PsExtractor, WavExtractor, AmrExtractor, FlacExtractor) could read
the stream.<br>
at
com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractorHolder.selectExtractor(ExtractorMediaPeriod.java:941)<br>
at
com.google.android.exoplayer2.source.ExtractorMediaPeriod$ExtractingLoadable.load(ExtractorMediaPeriod.java:863)<br>
at
com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:317)<br>
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)<br>
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)<br>
at java.lang.Thread.run(Thread.java:761)<br>
05-24 14:29:13.010 16486-16486/com.google.android.</p>
<p>Of note there is now a branch of ExoPlayer (which I'm using in
this test) that can *directly* hit the same webcam over UDP on the
same local network via RTSP (it cannot, however, use TCP as a
transport so it's worthless over the Internet as a whole) and it
displays just fine -- so the H.264 codec in question has to be ok,
or I couldn't view the stream live.</p>
<p>The command I'm using to try to get the H.264 stream is <br>
</p>
<p> openRTSP -v
'rtsp://192.168.4.212/cam/realmonitor?channel=1&subtype=0'
> vid.h264</p>
<p>Which, if my understanding of the docs is correct, should produce
only the video track in the native format, which in this case is
set on the camera as H.264.</p>
<p>The negotiation displayed by openRTSP is:</p>
<p>Received a complete DESCRIBE response:<br>
RTSP/1.0 200 OK<br>
CSeq: 4<br>
x-Accept-Dynamic-Rate: 1<br>
Content-Base:
rtsp://192.168.4.212/cam/realmonitor?channel=1&subtype=0/<br>
Cache-Control: must-revalidate<br>
Content-Length: 506<br>
Content-Type: application/sdp<br>
<br>
v=0<br>
o=- 2252171298 2252171298 IN IP4 0.0.0.0<br>
s=Media Server<br>
c=IN IP4 0.0.0.0<br>
t=0 0<br>
a=control:*<br>
a=packetization-supported:DH<br>
a=rtppayload-supported:DH<br>
a=range:npt=now-<br>
m=video 0 RTP/AVP 96<br>
a=control:trackID=0<br>
a=framerate:10.000000<br>
a=rtpmap:96 H264/90000<br>
a=fmtp:96
packetization-mode=1;profile-level-id=4D0032;sprop-parameter-sets=Z00AMppkASAFH/gLcBAQFAAAD6AAATiDoYAaGAAaGC7y40MANDAANDBd5cKAAA==,aO48gAA=<br>
a=recvonly<br>
m=audio 0 RTP/AVP 8<br>
a=control:trackID=1<br>
a=rtpmap:8 PCMA/16000<br>
a=recvonly<br>
</p>
<p>Which looks ok.....</p>
<p>Any ideas as to what's going on and why the resulting output file
is considered invalid?<br>
</p>
<div class="moz-signature">-- <br>
Karl Denninger<br>
<a href="mailto:karl@denninger.net">karl@denninger.net</a><br>
<i>The Market Ticker</i><br>
<font size="-2"><i>[S/MIME encrypted email preferred]</i></font>
</div>
</body>
</html>