Opened 12 years ago
Closed 12 years ago
#2651 closed defect (invalid)
Input RTMP Stream, Output JPEG Stream
Reported by: | DIogo Sota | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | undetermined |
Version: | unspecified | Keywords: | rtmp h264 |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description (last modified by )
I am trying to receive as input a RTMP stream from Flash Media Server, encoded with h.264(BASELINE, Level 3.1) and save a sequence of JPEG images in realtime.
If I try this kind of conversion when streaming without h.264 (With Sorenson codec), the command works just fine.
Command:
ffmpeg -y -re -loglevel verbose -i "(RTMP STREAM) app=myapp conn=S:ffmpeg playpath=mp4:stream54.f4v live=1" -an -r 15 -f image2 ./imgs/image%04d.jpg ffmpeg version N-53811-gc8faa47 Copyright (c) 2000-2013 the FFmpeg developers built on Jun 3 2013 13:01:58 with gcc 4.1.2 (GCC) 20080704 (Red Hat 4.1.2-54) configuration: --enable-version3 --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-librtmp --enable-gpl --enable-postproc --enable-nonfree libavutil 52. 34.100 / 52. 34.100 libavcodec 55. 15.100 / 55. 15.100 libavformat 55. 8.102 / 55. 8.102 libavdevice 55. 2.100 / 55. 2.100 libavfilter 3. 74.101 / 3. 74.101 libswscale 2. 3.100 / 2. 3.100 libswresample 0. 17.102 / 0. 17.102 libpostproc 52. 3.100 / 52. 3.100 This is the log I am getting: Parsing... Parsed protocol: 0 Parsed host : localhost Parsed app : RTMP_Connect1, ... connected, handshaking HandShake: Type Answer : 03 HandShake: Server Uptime : 18848860 HandShake: FMS Version : 4.5.1.1 HandShake: Handshaking finished.... RTMP_Connect1, handshaked Invoking connect HandleServerBW: server BW = 2500000 HandleClientBW: client BW = 2500000 2 HandleChangeChunkSize, received: chunk size change to 4096 RTMP_ClientPacket, received: invoke 242 bytes (object begin) Property: <Name: no-name., STRING: _result> Property: <Name: no-name., NUMBER: 1.00> Property: <Name: no-name., OBJECT> (object begin) Property: <Name: fmsVer, STRING: FMS/4,5,1,8003> Property: <Name: capabilities, NUMBER: 255.00> Property: <Name: mode, NUMBER: 1.00> (object end) Property: <Name: no-name., OBJECT> (object begin) Property: <Name: level, STRING: status> Property: <Name: code, STRING: NetConnection.Connect.Success> Property: <Name: description, STRING: Connection succeeded.> Property: <Name: objectEncoding, NUMBER: 0.00> Property: <Name: data, OBJECT> (object begin) Property: <Name: version, STRING: 4,5,1,8003> (object end) (object end) (object end) HandleInvoke, server invoking <_result> HandleInvoke, received result for method call <connect> sending ctrl. type: 0x0003 Invoking createStream FCSubscribe: mp4:stream54.f4v Invoking FCSubscribe RTMP_ClientPacket, received: invoke 29 bytes (object begin) Property: <Name: no-name., STRING: _result> Property: <Name: no-name., NUMBER: 2.00> Property: NULL Property: <Name: no-name., NUMBER: 1.00> (object end) HandleInvoke, server invoking <_result> HandleInvoke, received result for method call <createStream> SendPlay, seekTime=0, stopTime=0, sending play: mp4:stream54.f4v Invoking play sending ctrl. type: 0x0003 RTMP_ClientPacket, received: invoke 21 bytes (object begin) Property: <Name: no-name., STRING: _result> Property: <Name: no-name., NUMBER: 3.00> Property: NULL Property: NULL (object end) HandleInvoke, server invoking <_result> HandleInvoke, received result for method call <FCSubscribe> HandleChangeChunkSize, received: chunk size change to 4096 HandleCtrl, received ctrl. type: 0, len: 6 HandleCtrl, Stream Begin 1 RTMP_ClientPacket, received: invoke 166 bytes (object begin) Property: <Name: no-name., STRING: onStatus> Property: <Name: no-name., NUMBER: 0.00> Property: NULL Property: <Name: no-name., OBJECT> (object begin) Property: <Name: level, STRING: status> Property: <Name: code, STRING: NetStream.Play.Reset> Property: <Name: description, STRING: Playing and resetting stream54.f4v.> Property: <Name: details, STRING: stream54.f4v> Property: <Name: clientid, STRING: oAAIAAAA> (object end) (object end) HandleInvoke, server invoking <onStatus> HandleInvoke, onStatus: NetStream.Play.Reset RTMP_ClientPacket, received: invoke 160 bytes (object begin) Property: <Name: no-name., STRING: onStatus> Property: <Name: no-name., NUMBER: 0.00> Property: NULL Property: <Name: no-name., OBJECT> (object begin) Property: <Name: level, STRING: status> Property: <Name: code, STRING: NetStream.Play.Start> Property: <Name: description, STRING: Started playing stream54.f4v.> Property: <Name: details, STRING: stream54.f4v> Property: <Name: clientid, STRING: oAAIAAAA> (object end) (object end) HandleInvoke, server invoking <onStatus> HandleInvoke, onStatus: NetStream.Play.Start RTMP_ClientPacket, received: notify 24 bytes (object begin) Property: <Name: no-name., STRING: |RtmpSampleAccess> Property: <Name: no-name., BOOLEAN: FALSE> Property: <Name: no-name., BOOLEAN: TRUE> (object end) HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 ignoring too small video packet: size: 2 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 ignoring too small video packet: size: 2 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 ignoring too small audio packet: size: 0 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 HandleCtrl, received ctrl. type: 31, len: 6 HandleCtrl, Stream BufferEmpty 1 HandleCtrl, received ctrl. type: 32, len: 6 HandleCtrl, Stream BufferReady 1 ignoring too small video packet: size: 5 ignoring too small audio packet: size: 0 RTMP_ClientPacket, received: invoke 149 bytes (object begin) Property: <Name: no-name., STRING: onStatus> Property: <Name: no-name., NUMBER: 0.00> Property: NULL Property: <Name: no-name., OBJECT> (object begin) Property: <Name: level, STRING: status> Property: <Name: code, STRING: NetStream.Play.UnpublishNotify> Property: <Name: description, STRING: stream54.f4v is now unpublished.> Property: <Name: clientid, STRING: oAAIAAAA> (object end) (object end) HandleInvoke, server invoking <onStatus> HandleInvoke, onStatus: NetStream.Play.UnpublishNotify Invoking deleteStream Got Play. Complete or Play. Stop from server. Assuming stream is complete [flv @ 0x296ee00] Stream discovered after head already parsed [h263 @ 0x2ac80c0] Bad marker [h263 @ 0x2ac80c0] header damaged [flv @ 0x296ee00] decoding for stream 1 failed [flv @ 0x296ee00] Could not find codec parameters for stream 1 (Video: h263, yuv420p): unspecified size Consider increasing the value for the 'analyzeduration' and 'probesize' options Input #0, flv, from '(RTMP STREAM) app=myapp conn=S:ffmpeg playpath=mp4:stream54.f4v live=1': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: h264 (Baseline), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 15 tbr, 1k tbn, 30 tbc Stream #0:1: Video: h263, yuv420p, 1k tbr, 1k tbn [graph 0 input from stream 0:0 @ 0x295fce0] w:320 h:240 pixfmt:yuv420p tb:1/1000 fr:15/1 sar:1/1 sws_param:flags=2 [auto-inserted scaler 0 @ 0x2aa43e0] w:iw h:ih flags:'0x4' interl:0 [format @ 0x2a15ee0] auto-inserting filter 'auto-inserted scaler 0' between the filter 'Parsed_null_0' and the filter 'format' [auto-inserted scaler 0 @ 0x2aa43e0] w:320 h:240 fmt:yuv420p sar:1/1 -> w:320 h:240 fmt:yuvj420p sar:1/1 flags:0x4 Output #0, image2, to './imgs/image%04d.jpg': Metadata: encoder : Lavf55.8.102 Stream #0:0: Video: mjpeg, yuvj420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 90k tbn, 15 tbc Stream mapping: Stream #0:0 -> #0:0 (h264 -> mjpeg) Press [q] to stop, [?] for help *** drop! Last message repeated 28 times [h264 @ 0x2bb0860] Cannot use next picture in error concealment [h264 @ 0x2bb0860] concealing 53 DC, 53 AC, 53 MV errors in P frame *** drop! Last message repeated 3 times No more output streams to write to, finishing. [image2 @ 0x2a5b980] Could not open file : ./imgs/image0001.jpg av_interleaved_write_frame(): Input/output error
Change History (4)
comment:1 by , 12 years ago
Keywords: | flash media server removed |
---|
comment:2 by , 12 years ago
Description: | modified (diff) |
---|
comment:3 by , 12 years ago
I had to completely remove FFMPEG, and the I compiled it with only libx264. Now it works! Thanks
Version 0, edited 12 years ago by (next)
Note:
See TracTickets
for help on using tickets.
Does it work if you compile without librtmp? If not, does it fail differently?