Opened 11 years ago
Last modified 11 years ago
#2907 new defect
RTMPE Support
Reported by: | Mirko Puliafito | Owned by: | |
---|---|---|---|
Priority: | normal | Component: | avformat |
Version: | git-master | Keywords: | rtmp, rtmpe, flv |
Cc: | Blocked By: | ||
Blocking: | Reproduced by developer: | no | |
Analyzed by developer: | no |
Description
RTMPE demuxing seems not to work on current version using native implementation (ffrtmpcrypt)
How to reproduce:
ffmpeg -loglevel debug -probesize 4000 -i rtmpe://127.0.0.1/live/myStream -rtmp_swfverify http://127.0.0.1/test.swf -acodec copy -vcodec copy -f flv /home/mirkpul/Scrivania/test_audio.flv
Output:
ffmpeg version N-55765-g8d679bc Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 26 2013 14:46:16 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1)
configuration: --disable-everything --disable-shared --enable-static --enable-pic --enable-encoder=flv --enable-decoder=flv --enable-protocol=rtmp --enable-protocol=file --enable-muxer=flv --enable-demuxer=flv --enable-encoder=nellymoser --enable-decoder=nellymoser --enable-muxer=swf --enable-demuxer=swf --enable-encoder=adpcm_swf --enable-decoder=adpcm_swf --enable-protocol=rtmpe --enable-openssl --disable-stripping --enable-debug=3 --extra-cflags=-g --disable-optimizations
libavutil 52. 42.100 / 52. 42.100
libavcodec 55. 29.100 / 55. 29.100
libavformat 55. 14.102 / 55. 14.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 82.102 / 3. 82.102
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-probesize' ... matched as AVOption 'probesize' with argument '4000'.
Reading option '-i' ... matched as input file with argument 'rtmpe://127.0.0.1/live/myStream'.
Reading option '-rtmp_swfverify' ... matched as AVOption 'rtmp_swfverify' with argument 'http://127.0.0.1/test.swf'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'flv'.
Reading option '/home/mirkpul/Scrivania/test_audio.flv' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file rtmpe://127.0.0.1/live/myStream.
Successfully parsed a group of options.
Opening an input file: rtmpe://127.0.0.1/live/myStream.
[rtmpe @ 0x213bb00] Handshaking...
[rtmpe @ 0x213bb00] Type answer 6
[rtmpe @ 0x213bb00] Server version 0.0.0.0
[rtmpe @ 0x213bb00] Proto = rtmpe, path = /live/myStream, app = live, fname = myStream
rtmpe://127.0.0.1/live/myStream: Input/output error
Attachments (1)
Change History (6)
comment:1 by , 11 years ago
comment:2 by , 11 years ago
Sorry,
those were my settings. BTW I'm getting the same error with openssl:
ffmpeg version N-55765-g8d679bc Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 27 2013 12:19:50 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1)
configuration: --enable-openssl --enable-protocol=rtmpe
libavutil 52. 42.100 / 52. 42.100
libavcodec 55. 29.100 / 55. 29.100
libavformat 55. 14.102 / 55. 14.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 82.102 / 3. 82.102
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-probesize' ... matched as AVOption 'probesize' with argument '4000'.
Reading option '-i' ... matched as input file with argument 'rtmpe://127.0.0.1/live/myStream'.
Reading option '-rtmp_swfverify' ... matched as AVOption 'rtmp_swfverify' with argument 'http://127.0.0.1/test.swf'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'flv'.
Reading option '/home/mirkpul/Scrivania/test_audio.flv' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file rtmpe://127.0.0.1/live/myStream.
Successfully parsed a group of options.
Opening an input file: rtmpe://127.0.0.1/live/myStream.
[rtmpe @ 0x33d9b00] Handshaking...
[rtmpe @ 0x33d9b00] Type answer 6
[rtmpe @ 0x33d9b00] Server version 0.0.0.0
[rtmpe @ 0x33d9b00] Proto = rtmpe, path = /live/myStream, app = live, fname = myStream
rtmpe://127.0.0.1/live/myStream: Input/output error
and with gnutls:
ffmpeg version N-55765-g8d679bc Copyright (c) 2000-2013 the FFmpeg developers
built on Aug 27 2013 12:25:31 with gcc 4.7 (Ubuntu/Linaro 4.7.2-2ubuntu1)
configuration: --enable-gnutls --enable-protocol=rtmpe
libavutil 52. 42.100 / 52. 42.100
libavcodec 55. 29.100 / 55. 29.100
libavformat 55. 14.102 / 55. 14.102
libavdevice 55. 3.100 / 55. 3.100
libavfilter 3. 82.102 / 3. 82.102
libswscale 2. 5.100 / 2. 5.100
libswresample 0. 17.103 / 0. 17.103
Splitting the commandline.
Reading option '-loglevel' ... matched as option 'loglevel' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input file with argument 'rtmpe://127.0.0.1/live/myStream'.
Reading option '-rtmp_swfverify' ... matched as AVOption 'rtmp_swfverify' with argument 'http://127.0.0.1/test.swf'.
Reading option '-acodec' ... matched as option 'acodec' (force audio codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'.
Reading option '-f' ... matched as option 'f' (force format) with argument 'flv'.
Reading option '/home/mirkpul/Scrivania/test_audio.flv' ... matched as output file.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option loglevel (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input file rtmpe://127.0.0.1/live/myStream.
Successfully parsed a group of options.
Opening an input file: rtmpe://127.0.0.1/live/myStream.
[rtmpe @ 0x22b4320] Handshaking...
[rtmpe @ 0x22b4320] Type answer 6
[rtmpe @ 0x22b4320] Server version 0.0.0.0
[rtmpe @ 0x22b4320] Proto = rtmpe, path = /live/myStream, app = live, fname = myStream
rtmpe://127.0.0.1/live/myStream: Input/output error
comment:3 by , 11 years ago
Sometimes it also hangs on the "get_packet" just after the "gen_connect" on line 2493 libavformat/rtmpproto.c.
It seems that there's something wrong with the handshake and the server is no more replying to the client.
comment:5 by , 11 years ago
I tried both with red5 media server:
http://www.red5.org/red5-server/
and crtmpserver:
I used the attached flash app to publish the stream (you need to change the URL to rtmp://127.0.0.1/live and then connect, change the name after Publish video to myStream and then click Publish)
and then try to demux using the provided command.
Please test with
or
Generally, you should only use --disable-everything here if you want to report a specific problem about the option, please don't use when reporting missing features (or bugs).