FAQ  •  Register  •  Login

implementing swf verification

<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Thu Aug 30, 2012 1:40 pm

implementing swf verification

So the Wiki on Servio Plugins says "Some rtmp streams require swf verification (not implementing that usually means the stream is cut after a period of time, like 1 minute)"

And that is the stage I am at with my plugin development. I have my feeds all stopping after 2 mins or so.

Now with rtmpdump I can download the whole video

  Code:
rtmpdump --rtmp rtmp://cp53909.edgefcs.net:1935 --app 'ondemand?auth=daEdSaLdkajbJavaLdodNbZcPaAaebPdabB-bqp17M-8-nks_rEAoK&aifp=v001' --playpath mp4:flash/playback/_definst_/catalyst_13_15.mp4 --swfUrl http://www.abc.net.au/iview/images/iview.jpg --swfVfy 1 --swfsize 2122 --swfhash 96cc76f1d5385fb5cda6e2ce5c73323a399043d0bb6c687edd807e5c73c42b37 -o /home/god/Videos/catalyst2.mp4


Even though rtmpdump reports "ERROR: RTMP_HashSWF: couldn't contact swfurl 1 (HTTP error -1)" it downloads the whole video.

The URL my plugin constructs is of the form shown below

  Code:
 rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEdWbvbNc0a_dJcKdvbXccdYaebkbRaUai-bqp1Zr-8-rlm_AGtnI&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4


That form of the URL works with ffmpeg -i to get the metadata. But if I use it to try and download the video as shown below it works for a bit and stops - just like the stream does on my console with my plugin.

  Code:
ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEdWbvbNc0a_dJcKdvbXccdYaebkbRaUai-bqp1Zr-8-rlm_AGtnI&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4"  ~/catalist2.mp4


So I figure I need to add some of the other parameters that my RTMP dump command uses.

If I try the swfhash option ffmpeg reports "Unknown option swfhash"
If I try the swfVfy=1 option ffmpeg reports "HandleCtrl: Ignoring SWFVerification request, use --swfVfy!"
If I try --swfVfy it also reports "HandleCtrl: Ignoring SWFVerification request, use --swfVfy!"
if I try swfVfy=true it also reports "HandleCtrl: Ignoring SWFVerification request, use --swfVfy!"

So how does one go about implementing this swf verification?

My feed items do require an auth string which you need to get each time. It gets supplied as the ?auth=<authstring> part of the URL. But my plug in does this. Is this what is meant by swf verification?

Help - I am so close to a working plugin I can smell it :x
--
linux/Humax HDR-3000T
<<

jhb50

DLNA master

Posts: 2843

Joined: Thu Jun 30, 2011 9:32 pm

Post Thu Aug 30, 2012 4:22 pm

Re: implementing swf verification

for swf add swfVfy=0 or swfUrl=http://www.abc.net.au/iview/images/iview.jpg to your plugin url
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Thu Aug 30, 2012 9:58 pm

Re: implementing swf verification

  Code:
ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEckb4dXcZcMaFaJcFa5d4bRaWcgcZdFcs-bqp92D-8-jlr_AGspN&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=http://www.abc.net.au/iview/images/iview.jpg"

 libavutil      51. 70.100 / 51. 70.100
  libavcodec     54. 54.100 / 54. 54.100
  libavformat    54. 25.104 / 54. 25.104
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 11.101 /  3. 11.101
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
[image2 @ 0xaa74510] Could not find codec parameters for stream 0 (Video: mjpeg): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEckb4dXcZcMaFaJcFa5d4bRaWcgcZdFcs-bqp92D-8-jlr_AGspN&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=http://www.abc.net.au/iview/images/iview.jpg: could not find codec parameters



or

  Code:

ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEdjdIdpbaaIcBdVbnapaTdDcDdad7dMcg-bqp94T-8-snp_wFrnJ&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=0"

  libavutil      51. 70.100 / 51. 70.100
  libavcodec     54. 54.100 / 54. 54.100
  libavformat    54. 25.104 / 54. 25.104
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 11.101 /  3. 11.101
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
Metadata:
  duration              1624.33
  moovPosition          36.00
  width                 640.00
  height                360.00
  videocodecid          avc1
  audiocodecid          mp4a
  avcprofile            77.00
  avclevel              31.00
  aacaot                2.00
  videoframerate        25.00
  audiosamplerate       44100.00
  audiochannels         2.00
trackinfo:
  length                974616.00
  timescale             600.00
sampledescription:
  sampletype            avc1
  length                71632858.00
  timescale             44100.00
sampledescription:
  sampletype            mp4a
  length                600.00
  timescale             600.00
sampledescription:
  length                600.00
  timescale             600.00
sampledescription:
Input #0, flv, from 'rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEdjdIdpbaaIcBdVbnapaTdDcDdad7dMcg-bqp94T-8-snp_wFrnJ&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=0':
  Metadata:
    moovPosition    : 36
    avcprofile      : 77
    avclevel        : 31
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
  Duration: 00:27:04.32, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 25 tbr, 1k tbn, 50 tbc
    Stream #0:1: Audio: aac, 44100 Hz, stereo, s16
At least one output file must be specified



or if I try and save the stream with swfVfy=0 option I get "HandleCtrl: Ignoring SWFVerification request, use --swfVfy!"
and it saves for a while and then

"RTMP_ReadPacket, failed to read RTMP packet header:01:01.99"


  Code:
god@DESKTOP-TOYROOM:/usr/bin/serviio-0.6.2$ ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEbXd8cZd5cxd6c3bwaVa8bybQbAddazcz-bqp.cS-8-snl_sHypI&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=0" ~/catalist4.mp4

  libavutil      51. 70.100 / 51. 70.100
  libavcodec     54. 54.100 / 54. 54.100
  libavformat    54. 25.104 / 54. 25.104
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 11.101 /  3. 11.101
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
Metadata:
  duration              1624.33
  moovPosition          36.00
  width                 640.00
  height                360.00
  videocodecid          avc1
  audiocodecid          mp4a
  avcprofile            77.00
  avclevel              31.00
  aacaot                2.00
  videoframerate        25.00
  audiosamplerate       44100.00
  audiochannels         2.00
trackinfo:
  length                974616.00
  timescale             600.00
sampledescription:
  sampletype            avc1
  length                71632858.00
  timescale             44100.00
sampledescription:
  sampletype            mp4a
  length                600.00
  timescale             600.00
sampledescription:
  length                600.00
  timescale             600.00
sampledescription:
Input #0, flv, from 'rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEbXd8cZd5cxd6c3bwaVa8bybQbAddazcz-bqp.cS-8-snl_sHypI&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=0':
  Metadata:
    moovPosition    : 36
    avcprofile      : 77
    avclevel        : 31
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
  Duration: 00:27:04.32, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 25 tbr, 1k tbn, 50 tbc
    Stream #0:1: Audio: aac, 44100 Hz, stereo, s16
[libx264 @ 0x8f1bee0] using SAR=1/1
[libx264 @ 0x8f1bee0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle Cache64
[libx264 @ 0x8f1bee0] profile High, level 3.0
[libx264 @ 0x8f1bee0] 264 - core 120 r2151 a3f4407 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/home/god/catalist4.mp4':
  Metadata:
    moovPosition    : 36
    avcprofile      : 77
    avclevel        : 31
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
    encoder         : Lavf54.25.104
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=-1--1, 25 tbn, 25 tbc
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libx264)
  Stream #0:1 -> #0:1 (aac -> libfaac)
Press [q] to stop, [?] for help

RTMP_ReadPacket, failed to read RTMP packet header:01:01.99 bitrate= 601.8kbits/s dup=1 drop=0   
frame= 1614 fps= 26 q=-1.0 Lsize=    4741kB time=00:01:04.48 bitrate= 602.3kbits/s dup=1 drop=0   
video:3899kB audio:773kB subtitle:0 global headers:0kB muxing overhead 1.479152%

[libx264 @ 0x8f1bee0] frame I:34    Avg QP:17.46  size:  9237
[libx264 @ 0x8f1bee0] frame P:692   Avg QP:22.65  size:  4052
[libx264 @ 0x8f1bee0] frame B:888   Avg QP:26.27  size:   984
[libx264 @ 0x8f1bee0] consecutive B-frames: 18.3% 17.6% 22.5% 41.6%
[libx264 @ 0x8f1bee0] mb I  I16..4: 41.8% 37.4% 20.9%
[libx264 @ 0x8f1bee0] mb P  I16..4: 11.0% 13.1%  2.3%  P16..4: 36.9% 10.5%  4.0%  0.0%  0.0%    skip:22.1%
[libx264 @ 0x8f1bee0] mb B  I16..4:  0.7%  0.5%  0.1%  B16..8: 38.2%  3.3%  0.5%  direct: 1.3%  skip:55.3%  L0:38.9% L1:55.3% BI: 5.8%
[libx264 @ 0x8f1bee0] 8x8 transform intra:47.4% inter:72.7%
[libx264 @ 0x8f1bee0] coded y,uvDC,uvAC intra: 34.2% 60.4% 18.5% inter: 9.2% 16.1% 0.9%
[libx264 @ 0x8f1bee0] i16 v,h,dc,p: 46% 21% 13% 20%
[libx264 @ 0x8f1bee0] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 19% 30%  4%  4%  4%  4%  4%  5%
[libx264 @ 0x8f1bee0] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 18% 16%  5%  7%  6%  6%  5%  4%
[libx264 @ 0x8f1bee0] i8c dc,h,v,p: 46% 21% 23% 10%
[libx264 @ 0x8f1bee0] Weighted P-Frames: Y:9.4% UV:9.2%
[libx264 @ 0x8f1bee0] ref P L0: 68.0% 11.0% 15.7%  5.2%  0.2%
[libx264 @ 0x8f1bee0] ref B L0: 87.5% 10.9%  1.6%
[libx264 @ 0x8f1bee0] ref B L1: 96.0%  4.0%
[libx264 @ 0x8f1bee0] kb/s:494.60




But I am wondering about the http://www.abc.net.au/iview/images/iview.jpg

When I use that as a --swfUrl parameter to rtmpdump rtmpdump reports "ERROR: RTMP_HashSWF: couldn't contact swfurl 1 (HTTP error -1)"

Which seems bad. But RTMPDUMP still manages to download the video.

If I browse to http://www.abc.net.au/iview/images/iview.jpg my browser reports "the image at http://www.abc.net.au/iview/images/iview.jpg cannot be displayed because it contains errors"

My guess is that they put data that is not a .jpg into a .jpg file as some sort of obsufaction technique.

I pulled the http://www.abc.net.au/iview/images/iview.jpg URL from an ABC TV downloader so I don't know if it is correct or not. The ABC TV downloader passes this URL to rtmpdump as the --swfUrl parameter.

So I am still at a loss here. rtmpdump can do the job but ffmpeg can not at this stage.
--
linux/Humax HDR-3000T
<<

jhb50

DLNA master

Posts: 2843

Joined: Thu Jun 30, 2011 9:32 pm

Post Thu Aug 30, 2012 11:42 pm

Re: implementing swf verification

You need a url ending in .swf Use URL sniffer to see what the downloader uses.
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Fri Aug 31, 2012 7:46 am

Re: implementing swf verification

I have run my rtmpdump in verbose mode to see what it is doing. I can run it without passing --swfsize and --swfhash parameters and under this it fails to complete the download. With --swfsize and --swfhash parameters the dowload completes.
When you look at the handshaking output from the -verbose mode you see a big difference between them

hand shaking WITHOUT the --swfsize --swfhash
  Code:

DEBUG: timeout  : 30 sec
DEBUG: Setting buffer time to: 36000000ms
Connecting ...
DEBUG: RTMP_Connect1, ... connected, handshaking
DEBUG: HandShake: Type Answer   : 03
DEBUG: HandShake: Server Uptime : 912190918
DEBUG: HandShake: FMS Version   : 3.5.7.1
DEBUG: HandShake: Handshaking finished....
DEBUG: RTMP_Connect1, handshaked
DEBUG: Invoking connect
INFO: Connected...
DEBUG: HandleServerBW: server BW = 1250000
DEBUG: HandleClientBW: client BW = 1250000 2
DEBUG: HandleCtrl, received ctrl. type: 26, len: 3
DEBUG: HandleCtrl, SWFVerification ping received:
ERROR: HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
DEBUG: RTMP_ClientPacket, received: invoke 242 bytes


Handshaking WITH the --swfsize --swfhash in play
  Code:
DEBUG: timeout  : 30 sec
DEBUG: SWFSHA256:
DEBUG: 96 cc 76 f1 d5 38 5f b5 cd a6 e2 ce 5c 73 32 3a
DEBUG: 39 90 43 d0 bb 6c 68 7e dd 80 7e 5c 73 c4 2b 37
DEBUG: SWFSize  : 2122
DEBUG: Setting buffer time to: 36000000ms
Connecting ...
DEBUG: RTMP_Connect1, ... connected, handshaking
DEBUG: HandShake: Client type: 03
DEBUG: HandShake: Client digest offset: 430
DEBUG: HandShake: Initial client digest:
DEBUG: 79 65 42 b7 2d 62 8b 79 1e 12 be b7 c6 0d fb a7
DEBUG: 9b df bc 33 1e ba 65 35 75 42 15 39 c2 16 6b b7
DEBUG: HandShake: Type Answer   : 03
DEBUG: HandShake: Server Uptime : 912375646
DEBUG: HandShake: FMS Version   : 3.5.7.1
DEBUG: HandShake: Calculated digest key from secure key and server digest:
DEBUG: b1 c5 99 13 c4 3d 67 1b a4 ae b3 ec 9a c9 e4 63
DEBUG: 79 cb 4e 5c 04 4c e0 90 c2 3e 97 f8 76 c4 c4 64
DEBUG: HandShake: Client signature calculated:
DEBUG: d0 db 32 1f 86 e2 45 28 79 2f ac c6 cf 5e 85 59
DEBUG: 09 68 66 89 38 f2 2f 6c ff 19 e0 98 c7 0d ca 62
DEBUG: HandShake: Server sent signature:
DEBUG: 9c 1a 62 9c 6f eb 1e 8a 5e 85 25 db 7f cd 48 f1
DEBUG: 4e 42 59 3b 35 6a 7a ad 2b 4d ea 4b 73 51 e1 11
DEBUG: HandShake: Digest key:
DEBUG: bb de 65 ca ae 8f 30 31 da 5f 43 5b fe 6e fa 62
DEBUG: 80 c9 f4 5a d2 75 c4 57 57 f0 40 e7 09 5a 75 54
DEBUG: HandShake: Signature calculated:
DEBUG: 9c 1a 62 9c 6f eb 1e 8a 5e 85 25 db 7f cd 48 f1
DEBUG: 4e 42 59 3b 35 6a 7a ad 2b 4d ea 4b 73 51 e1 11
DEBUG: HandShake: Genuine Adobe Flash Media Server
DEBUG: HandShake: Handshaking finished....
DEBUG: RTMP_Connect1, handshaked
DEBUG: Invoking connect
INFO: Connected...
DEBUG: HandleServerBW: server BW = 1250000
DEBUG: HandleClientBW: client BW = 1250000 2
DEBUG: HandleCtrl, received ctrl. type: 26, len: 3
DEBUG: HandleCtrl, SWFVerification ping received:
DEBUG: sending ctrl. type: 0x001b
DEBUG: Sending SWFVerification response:
DEBUG: 00 1b 01 01 00 00 08 4a 00 00 08 4a bb bc 4b df
DEBUG: 73 6c 82 95 7a 31 af cd 61 ce da 06 3d ed 0e 08
DEBUG: bb 14 93 2b 07 53 89 d3 cd 5a 1b ac
DEBUG: RTMP_ClientPacket, received: invoke 242 bytes


So I think that I have to somehow get the info from --swfsize and --swfhash switches into the ffmpeg command
but swfhash is not a switch in ffmpeg
  Code:
ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEaHb8cfc8c6aFaIdXcybgc2cvavcSaDc4-bqp2b9-8-mll_wGrpN&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfhash=96cc76f1d5385fb5cda6e2ce5c73323a399043d0bb6c687edd807e5c73c42b37"
Unknown option swfhash


ffmpeg does not seem to have teh same SWFverification facilities that RTMPDump has. Or I just don't know how to envoke them.
--
linux/Humax HDR-3000T
<<

Illico

User avatar

DLNA master

Posts: 4646

Joined: Fri Jul 23, 2010 8:08 am

Location: France

Post Fri Aug 31, 2012 8:46 am

Re: implementing swf verification

Do you try with :
swfUrl=http://www.abc.net.au/iview/iview_383.swf
Illico
Sony 2010 KDL-46EX501 | BDP-S373 | SMP-N100 | Windows 8-i7 | Network DD HD-CE1.5TLU2 | Livebox2-UHD86 | ServiiDroid | ServiiGo | BubbleUPnP
Serviio beta tester - Moderator
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Fri Aug 31, 2012 11:53 am

Re: implementing swf verification

Illico wrote:Do you try with :
swfUrl=http://www.abc.net.au/iview/iview_383.swf


I have now. [I use it as swfVfy not swfUrl. With it as swfUrl it generates ERROR: RTMP_HashSWF: couldn't contact swfurl 1 (HTTP error -1) and the file stops download after 1 min ]

It has progressed things but not got me to the solution.

When I use this as swfVfy I get handshaking and no complaining about the URL but the file does not download at all.

I am slowly coming to understand what is going on here.

When I run the rtmpdump command that has the --swfsize and --swfhash parameters filled in I am overiding the need to supply the URL to the players .swf file. rtmpdump needs the URL to the players .swf file in order to calculate a swfhash and swfsize in order to perform some sort of verification hand shake with the server. But you can overide this need - if you have calcluated the swfhash and swfsize before hand and pass the values as parameters. I pulled the swfhash and swfsize parameters that work for me from python ABC iView downloader. The author of that app must have found the correct .swf .

Now when I run rtmpdump with the --swfVfy http://www.abc.net.au/iview/iview_383.swf instead of the swfhash and swfsize I see that it performs handshaking like it does when I do use the swfhash and swfsize parameter. However, I note that the SWFSize reported back from swfVfy http://www.abc.net.au/iview/iview_383.swf is 340960. And this is different to the 2122 size that I know works.

So perhaps http://www.abc.net.au/iview/iview_383.swf is not the real .swf file in use. Maybe I need to figure out what the real one is.


  Code:
$ rtmpdump -V --rtmp rtmp://cp53909.edgefcs.net:1935 --app 'ondemand?auth=daEaBcMaVdidMdQcYckcfcIa1bFdEcFb3aG-bqqkbJ-8-qmt_yHzqN&aifp=v001' --playpath mp4:flash/playback/_definst_/catalyst_13_15.mp4 --swfVfy http://www.abc.net.au/iview/iview_383.swf  -o /home/god/Videos/catalyst3.mp4
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
DEBUG: Parsing...
DEBUG: Parsed protocol: 0
DEBUG: Parsed host    : cp53909.edgefcs.net
WARNING: No application or playpath in URL!
DEBUG: Protocol : RTMP
DEBUG: Hostname : cp53909.edgefcs.net
DEBUG: Port     : 1935
DEBUG: Playpath : mp4:flash/playback/_definst_/catalyst_13_15.mp4
DEBUG: tcUrl    : rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEaBcMaVdidMdQcYckcfcIa1bFdEcFb3aG-bqqkbJ-8-qmt_yHzqN&aifp=v001
DEBUG: swfUrl   : http://www.abc.net.au/iview/iview_383.swf
DEBUG: app      : ondemand?auth=daEaBcMaVdidMdQcYckcfcIa1bFdEcFb3aG-bqqkbJ-8-qmt_yHzqN&aifp=v001
DEBUG: live     : no
DEBUG: timeout  : 30 sec
DEBUG: SWFSHA256:
DEBUG: 98 70 a8 0f 1c 38 df 14 e5 9f a1 fa 08 8b 39 55
DEBUG: 6c dd 26 38 a7 fc f4 a4 66 28 ce 8d d2 a5 a3 38
DEBUG: SWFSize  : 340960
DEBUG: Setting buffer time to: 36000000ms
Connecting ...
DEBUG: RTMP_Connect1, ... connected, handshaking
DEBUG: HandShake: Client type: 03
DEBUG: HandShake: Client digest offset: 430
DEBUG: HandShake: Initial client digest:
DEBUG: 2f 52 d5 4c 6d 5d f9 1b e6 99 5b 81 86 ea e3 5f
DEBUG: ef 46 d7 09 18 80 d3 31 fc 43 07 46 4a c1 0a f9
DEBUG: HandShake: Type Answer   : 03
DEBUG: HandShake: Server Uptime : 926994537
DEBUG: HandShake: FMS Version   : 3.5.7.1
DEBUG: HandShake: Calculated digest key from secure key and server digest:
DEBUG: 2d 34 26 7e 4a 8c 5b 59 be 5c 50 ae 8f 80 fb a9
DEBUG: f8 2f 46 11 50 fa 7a 3a 80 8c df 30 b3 a8 7e c0
DEBUG: HandShake: Client signature calculated:
DEBUG: ef d5 d2 9d 24 c0 2b 6e c3 9c 5b e8 1b 51 5a 46
DEBUG: 7b 1b e4 b1 f9 8b c5 1b 05 3e 18 da c0 8e 44 fb
DEBUG: HandShake: Server sent signature:
DEBUG: 67 2c 40 a1 31 3d eb 57 57 06 08 9b 72 3f 40 1e
DEBUG: c7 39 d6 37 a4 e7 fc 83 31 83 36 03 1c e0 5f a7
DEBUG: HandShake: Digest key:
DEBUG: 5a da 0f fe a4 63 34 c6 4e 79 8d 60 b8 33 5b 69
DEBUG: 88 e7 72 e6 f3 67 a0 da 1f 63 a2 37 e9 f1 d2 e4
DEBUG: HandShake: Signature calculated:
DEBUG: 67 2c 40 a1 31 3d eb 57 57 06 08 9b 72 3f 40 1e
DEBUG: c7 39 d6 37 a4 e7 fc 83 31 83 36 03 1c e0 5f a7
DEBUG: HandShake: Genuine Adobe Flash Media Server
DEBUG: HandShake: Handshaking finished....
DEBUG: RTMP_Connect1, handshaked
DEBUG: Invoking connect
INFO: Connected...
DEBUG: HandleServerBW: server BW = 1250000
DEBUG: HandleClientBW: client BW = 1250000 2
DEBUG: HandleCtrl, received ctrl. type: 26, len: 3
DEBUG: HandleCtrl, SWFVerification ping received:
DEBUG: sending ctrl. type: 0x001b
DEBUG: Sending SWFVerification response:
DEBUG: 00 1b 01 01 00 05 33 e0 00 05 33 e0 6a b9 1a 4b
DEBUG: 54 79 75 bb ee b9 c8 c8 e7 46 86 a4 e9 ef 20 f7
DEBUG: e2 e1 13 a8 f3 d1 75 59 79 d1 47 4d
DEBUG: RTMP_ClientPacket, received: invoke 242 bytes
DEBUG: (object begin)
DEBUG: (object begin)
DEBUG: Property: <Name:             fmsVer, STRING:   FMS/3,5,7,7024>
DEBUG: Property: <Name:       capabilities, NUMBER:   127.00>
DEBUG: Property: <Name:               mode, NUMBER:   1.00>
DEBUG: (object end)
DEBUG: (object begin)
DEBUG: Property: <Name:              level, STRING:   status>
DEBUG: Property: <Name:               code, STRING:   NetConnection.Connect.Success>
DEBUG: Property: <Name:        description, STRING:   Connection succeeded.>
DEBUG: Property: <Name:     objectEncoding, NUMBER:   0.00>
DEBUG: Property: <Name:               data, OBJECT>
DEBUG: (object begin)
DEBUG: Property: <Name:            version, STRING:   3,5,7,7024>
DEBUG: (object end)
DEBUG: (object end)
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <_result>
DEBUG: HandleInvoke, received result for method call <connect>
DEBUG: sending ctrl. type: 0x0003
DEBUG: Invoking createStream
DEBUG: RTMP_ClientPacket, received: invoke 21 bytes
DEBUG: (object begin)
DEBUG: Property: NULL
DEBUG: (object end)
DEBUG: HandleInvoke, server invoking <onBWDone>
DEBUG: Invoking _checkbw
DEBUG: RTMPSockBuf_Fill, recv returned -1. GetSockError(): 104 (Connection reset by peer)
ERROR: RTMP_ReadPacket, failed to read RTMP packet header
DEBUG: Closing connection.

--
linux/Humax HDR-3000T
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Fri Aug 31, 2012 12:18 pm

Re: implementing swf verification

So I went back to my old URL of http://www.abc.net.au/iview/images/iview.jpg - which is not really a jpeg.

But this time I used it as swfVfy (as suggested previously - but last time I only tried it with ffmpeg and it did not work).
But this time I used it with rtmpdump and with out the --swfsize --swfhash values. And this does download the complete file. And rtmpdump reports a SWFSize of 2122 - the same value I was passing in before. So it seems to me that this iview.jpg is really the file to verify on for the iView application.

  Code:
rtmpdump -V --rtmp rtmp://cp53909.edgefcs.net:1935 --app 'ondemand?auth=daEcFbsaNajcBbxc3c0d3dmczbRaNaucaa5-bqqkDZ-8-klt_AEApM&aifp=v001' --playpath mp4:flash/playback/_definst_/catalyst_13_15.mp4 --swfVfy http://www.abc.net.au/iview/images/iview.jpg  -o /home/god/Videos/catalyst3.mp4

DEBUG: timeout  : 30 sec
DEBUG: SWFSHA256:
DEBUG: 96 cc 76 f1 d5 38 5f b5 cd a6 e2 ce 5c 73 32 3a
DEBUG: 39 90 43 d0 bb 6c 68 7e dd 80 7e 5c 73 c4 2b 37
DEBUG: SWFSize  : 2122
DEBUG: Setting buffer time to: 36000000ms
Connecting ...
DEBUG: RTMP_Connect1, ... connected, handshaking
DEBUG: HandShake: Client type: 03
DEBUG: HandShake: Client digest offset: 430
DEBUG: HandShake: Initial client digest:
DEBUG: 66 62 f8 ea cc 1a cf 9d 03 ee 56 de 9b 20 3d b6
DEBUG: 5a 52 36 6b cd 59 cd 92 b2 f8 55 96 55 f9 9f fb
DEBUG: HandShake: Type Answer   : 03
DEBUG: HandShake: Server Uptime : 928811811
DEBUG: HandShake: FMS Version   : 3.5.7.1
DEBUG: HandShake: Calculated digest key from secure key and server digest:
DEBUG: 24 7e d6 9f 9d 54 11 20 7e c9 12 fb be 19 8e 06
DEBUG: 41 17 c0 46 72 39 86 df 3c bb de 34 1a 7e a3 85
DEBUG: HandShake: Client signature calculated:
DEBUG: 81 8f 68 94 1b 98 b7 44 a5 13 19 9f 13 6b 33 a5
DEBUG: 57 0d cd 9e 67 ee 27 a7 ab d3 af 3f c5 6c 27 7a
DEBUG: HandShake: Server sent signature:
DEBUG: 12 b3 90 5b 57 ff 6b 3f 7e a7 28 f4 65 c2 8f af
DEBUG: a9 5e 88 cd 81 3d aa 95 3d 91 bc 18 8d 4f ed 24
DEBUG: HandShake: Digest key:
DEBUG: 12 e8 35 37 bf db 21 92 e6 54 dd 7f f6 83 19 57
DEBUG: 34 f4 80 31 d1 6f e3 ce 0b f5 ac 9c 8d 94 0b 25
DEBUG: HandShake: Signature calculated:
DEBUG: 12 b3 90 5b 57 ff 6b 3f 7e a7 28 f4 65 c2 8f af
DEBUG: a9 5e 88 cd 81 3d aa 95 3d 91 bc 18 8d 4f ed 24
DEBUG: HandShake: Genuine Adobe Flash Media Server
DEBUG: HandShake: Handshaking finished....
DEBUG: RTMP_Connect1, handshaked
DEBUG: Invoking connect
INFO: Connected...
DEBUG: HandleServerBW: server BW = 1250000
DEBUG: HandleClientBW: client BW = 1250000 2
DEBUG: HandleCtrl, received ctrl. type: 26, len: 3
DEBUG: HandleCtrl, SWFVerification ping received:
DEBUG: sending ctrl. type: 0x001b
DEBUG: Sending SWFVerification response:
DEBUG: 00 1b 01 01 00 00 08 4a 00 00 08 4a 2d 55 ec 2b
DEBUG: cf c3 11 0d a7 69 49 17 11 ec 30 72 c8 bf 9e c2
DEBUG: a5 83 7f c5 d8 10 63 74 a3 a0 cf 81
DEBUG: RTMP_ClientPacket, received: invoke 242 bytes



So armed with this I look again at ffmpeg and sending it swfVfy=http://www.abc.net.au/iview/images/iview.jpg
And here is the result

  Code:
$ ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEdNc.cyagbNcRa8cZcubYa4cUaLdmcnd7-bqqkIQ-8-smn_vExoO&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=http://www.abc.net.au/iview/images/iview.jpg" ~/catalyst5.mp4
ffmpeg version 0.11.1.git Copyright (c) 2000-2012 the FFmpeg developers
  built on Aug 22 2012 00:01:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --enable-static --disable-shared --bindir=/tmp/ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads --disable-mmx --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-librtmp --pkg-config=pkg-config
  libavutil      51. 70.100 / 51. 70.100
  libavcodec     54. 54.100 / 54. 54.100
  libavformat    54. 25.104 / 54. 25.104
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 11.101 /  3. 11.101
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
[image2 @ 0x9c15510] Could not find codec parameters for stream 0 (Video: mjpeg): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEdNc.cyagbNcRa8cZcubYa4cUaLdmcnd7-bqqkIQ-8-smn_vExoO&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=http://www.abc.net.au/iview/images/iview.jpg: could not find codec parameters


It seems to me that it not able to handle the non .swf file as the swfVfy file. It looks like it is trying to dow some decoding of it maybe.

So am I screwed - save for recoding ffmpeg ?
--
linux/Humax HDR-3000T
<<

jhb50

DLNA master

Posts: 2843

Joined: Thu Jun 30, 2011 9:32 pm

Post Fri Aug 31, 2012 1:36 pm

Re: implementing swf verification

swfVfy is boolean..a switch.. equal to 0 or 1 or true or false. swfUrl is the parameter for the .swf url. And as I said above You need a url ending in .swf so use URL sniffer to see what the downloader uses.
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Fri Aug 31, 2012 2:38 pm

Re: implementing swf verification

jhb50 wrote:swfVfy is boolean..a switch.. equal to 0 or 1 or true or false. swfUrl is the parameter for the .swf url. And as I said above You need a url ending in .swf so use URL sniffer to see what the downloader uses.


Well from the rtmpdump -h
--swfVfy|-W url URL to player swf file, compute hash/size automatically
--swfUrl|-s url URL to player swf file




But you see that if I use swfVfy as a URL in rtmpdump and I point it to the http://www.abc.net.au/iview/images/iview.jpg it all works.

And I know what the downloader uses - it envokes rtmpdump with these options.

--swfhash 96cc76f1d5385fb5cda6e2ce5c73323a399043d0bb6c687edd807e5c73c42b37 --swfsize 2122 --swfUrl http://www.abc.net.au/iview/images/iview.jpg

So it does not use swfVfy to compute hash/size automatically. It supplies them.

But from some help returned from a failed ffmpeg run:

swfVfy boolean Perform SWF Verification

Interesting (and anoying) how swfVfy means two different things to rtmpdump and ffmpeg.

I reckon I need to pass swfhash and swfsize to ffmpeg. The man page at http://ffmpeg.org/ffmpeg.html#rtmp says " the following parameters can be set via command line options (or in code via AVOptions):
‘rtmp_swfhash’ SHA256 hash of the decompressed SWF file (32 bytes).
‘rtmp_swfsize’ Size of the decompressed SWF file, required for SWFVerification.
‘rtmp_swfurl’ URL of the SWF player for the media. By default no value will be sent.
‘rtmp_swfverify’ URL to player swf file, compute hash/size automatically.
"
But when I try and use rtmp_swfhash it complains about no such option. Interesting too how rtmp_swfverify is a URL not a boolean.

Anyone know how to envoke these ffmpeg parameters ?

Here is the output using ffmpeg with swfVfy as a boolean switch (swfVfy=1) and supplying the player as swfUrl. Yes I know is is not a .swf file. But it is the file that rtmpdump can verify against so I am pretty sure it is the one.
  Code:
$ ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEaVdEaAcOdcdYaFaEdld3dRcDaHbXcIdL-bqqmOJ-8-qnl_xGrqH&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=1 swfUrl=http://www.abc.net.au/iview/images/iview.jpg"  ~/catalyst5.mp4
ffmpeg version 0.11.1.git Copyright (c) 2000-2012 the FFmpeg developers
  built on Aug 22 2012 00:01:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --enable-static --disable-shared --bindir=/tmp/ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads --disable-mmx --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-librtmp --pkg-config=pkg-config
  libavutil      51. 70.100 / 51. 70.100
  libavcodec     54. 54.100 / 54. 54.100
  libavformat    54. 25.104 / 54. 25.104
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 11.101 /  3. 11.101
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
[image2 @ 0x99f0510] Could not find codec parameters for stream 0 (Video: mjpeg): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEaVdEaAcOdcdYaFaEdld3dRcDaHbXcIdL-bqqmOJ-8-qnl_xGrqH&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=1 swfUrl=http://www.abc.net.au/iview/images/iview.jpg: could not find codec parameters


You need a url ending in .swf

Like I said - I think ABC iView is validating on the .jpg file (that is not a jpg). When RTMPDUMP verifies on that file it reports the same SWFSize as I know works to make RTMPDUMP work without a url to automatically compute hash sizes. So it really is that .jpg file. You might be right that ffmpeg requires it to be a .swf file. But that to me reveals a bug in ffmpeg. Or at least an enhancment request for ffmpeg.
--
linux/Humax HDR-3000T
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Fri Aug 31, 2012 3:01 pm

Re: implementing swf verification

So for ffmpeg swfVfy is a switch. And 0 means true right? And the .swf file could be http://www.abc.net.au/iview/iview_383.swf
So this command could do the job. Except I get this Ignoring SWFVerification request, use --swfVfy

  Code:
ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEdOcVbvagdCatazajaCazcidcdgb4cdcj-bqqm22-8-jms_sExqN&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=0 swfUrl=http://www.abc.net.au/iview/iview_383.swf"  ~/catalyst5.mp4
HandleCtrl: Ignoring SWFVerification request, use --swfVfy


But if I try and use a --swfVfy or a -swfVfy option it complains about it not being recognised. So maybe the above would work if only I could tell it to not ignore the SWFVerification request.

  Code:
$ ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEaGaucxaHbMbBavaJbVcJdecQdWc5cMa4-bqqncC-8-lkl_uEuoN&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/iview_383.swf" -swfVfy 0 ~/catalyst5.mp4
ffmpeg version 0.11.1.git Copyright (c) 2000-2012 the FFmpeg developers
 HandleCtrl: Ignoring SWFVerification request, use --swfVfy!
Metadata:
  timescale             600.00
sampledescription:
Input #0, flv, from 'rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEaGaucxaHbMbBavaJbVcJdecQdWc5cMa4-bqqncC-8-lkl_uEuoN&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/iview_383.swf':
 
    Stream #0:0: Video: h264 (Main), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 25 tbr, 1k tbn, 50 tbc
    Stream #0:1: Audio: aac, 44100 Hz, stereo, s16
Unrecognized option 'swfVfy'
Failed to set value '0' for option 'swfVfy'

--
linux/Humax HDR-3000T
<<

jhb50

DLNA master

Posts: 2843

Joined: Thu Jun 30, 2011 9:32 pm

Post Fri Aug 31, 2012 4:40 pm

Re: implementing swf verification

swfVfy=0 means false just as in any programming language and the parameter must be part of the url. ie: within the quotes. When you assign swfVfy=http:// etc, it is being interpreted as either true or false, probably false. If you don't want to try and find the correct .swf by sniffing, I can do no more to help you.
<<

Illico

User avatar

DLNA master

Posts: 4646

Joined: Fri Jul 23, 2010 8:08 am

Location: France

Post Fri Aug 31, 2012 6:45 pm

Re: implementing swf verification

ttguy wrote:So it really is that .jpg file. You might be right that ffmpeg requires it to be a .swf file. But that to me reveals a bug in ffmpeg. Or at least an enhancment request for ffmpeg.

Post your result to ffmpeg forum. It seems to be a bug with ffmpeg.
Illico
Sony 2010 KDL-46EX501 | BDP-S373 | SMP-N100 | Windows 8-i7 | Network DD HD-CE1.5TLU2 | Livebox2-UHD86 | ServiiDroid | ServiiGo | BubbleUPnP
Serviio beta tester - Moderator
<<

jhb50

DLNA master

Posts: 2843

Joined: Thu Jun 30, 2011 9:32 pm

Post Fri Aug 31, 2012 8:30 pm

Re: implementing swf verification

Yeesh. I give up. First you set svfVfy=0 which means ignore and it tells you it is ignored, and then you use -swfVfy 0 which is invalid and it tells you so and in the absense of a valid .swf file it tells you verification is ignored again. Isn't it reasonable to expect you to get it after being told multiple times? Get a sniffer and get the valid swfUrl which will compute the hash. That's the way ffmpeg works should you choose to read its documentation.

.
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Fri Aug 31, 2012 10:01 pm

Re: implementing swf verification

jhb50 wrote:Yeesh. I give up. First you set svfVfy=0 which means ignore and it tells you it is ignored, and then you use -swfVfy 0 which is invalid and it tells you so and in the absense of a valid .swf file it tells you verification is ignored again. Isn't it reasonable to expect you to get it after being told multiple times? Get a sniffer and get the valid swfUrl which will compute the hash. That's the way ffmpeg works should you choose to read its documentation.

.


I do sincerly thank you for trying to help out here. And I understand your frustrations. I still have a lot to learn about all this.

Yes I thought =0 probably meant false. But
jhb50 wrote:swfVfy is boolean..a switch.. equal to 0 or 1 or true or false.
kinda implied it meant true. So I tried it. I have tried it = 1 as shown below.
And yes I tried -swfVfy because right in the output from ffmpeg it said try --swfVfy.
And yes you have suggested sniffing my downloader. And I have. But there is no point sniffing the downloader because it is a python script and I can see eactly what it is doing - it using RTMPDUMP with --swfUrl http://www.abc.net.au/iview/images/iview.jpg

And my experiments with rtmpdump tell me that the swfUrl for validation (which in rtmpdump you can supply via the swfVfy parmamter) is a .jpeg file.

Can you explain why your think my conclusions about what the correct file is from rtmpdump are wrong?

If I use that file rtmpdump downloads the stream. If I use hash and size based on that file rtmpdump downloads the stream.



  Code:
$ ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEdqb5dpa8cha_bzarcjc.awcTc1c4bGa3-bqqs_h-8-pls_wErpM&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=1 swfUrl=http://www.abc.net.au/iview/images/iview.jpg"  ~/catalyst5.mp4
ffmpeg version 0.11.1.git Copyright (c) 2000-2012 the FFmpeg developers
  built on Aug 22 2012 00:01:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --enable-static --disable-shared --bindir=/tmp/ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads --disable-mmx --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-librtmp --pkg-config=pkg-config
  libavutil      51. 70.100 / 51. 70.100
  libavcodec     54. 54.100 / 54. 54.100
  libavformat    54. 25.104 / 54. 25.104
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 11.101 /  3. 11.101
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
[image2 @ 0xa32d510] Could not find codec parameters for stream 0 (Video: mjpeg): unspecified size
Consider increasing the value for the 'analyzeduration' and 'probesize' options
rtmp://cp53909.edgefcs.net:1935/ondemand?auth=daEdqb5dpa8cha_bzarcjc.awcTc1c4bGa3-bqqs_h-8-pls_wErpM&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfVfy=1 swfUrl=http://www.abc.net.au/iview/images/iview.jpg: could not find codec parameters


Illico wrote:Post your result to ffmpeg forum. It seems to be a bug with ffmpeg.


Will do. Thanks Illico.
--
linux/Humax HDR-3000T
<<

jhb50

DLNA master

Posts: 2843

Joined: Thu Jun 30, 2011 9:32 pm

Post Sat Sep 01, 2012 1:32 am

Re: implementing swf verification

OK. Seems strange but try these two command forms:

ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app='ondemand?auth=daEcFbsaNajcBbxc3c0d3dmczbRaNaucaa5-bqqkDZ-8-klt_AEApM&aifp=v001' playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1" /home/god/Videos/catalyst3.mp4



ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app=ondemand token=daEcFbsaNajcBbxc3c0d3dmczbRaNaucaa5-bqqkDZ-8-klt_AEApM&aifp=v001' playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1" /home/god/Videos/catalyst3.mp4
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Sat Sep 01, 2012 6:47 am

Re: implementing swf verification

jhb50 wrote:OK. Seems strange but try these two command forms:

ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app='ondemand?auth=daEcFbsaNajcBbxc3c0d3dmczbRaNaucaa5-bqqkDZ-8-klt_AEApM&aifp=v001' playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1" /home/god/Videos/catalyst3.mp4



Result:
  Code:
$ ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app='ondemand?auth=daEbncNcAc.bUb2cZanb_aYaWbid9bDbIao-bqqA1f-8-mmu_xGtoL&aifp=v001' playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1" /home/god/Videos/catalyst3.mp4
ffmpeg version 0.11.1.git Copyright (c) 2000-2012 the FFmpeg developers
  built on Aug 22 2012 00:01:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --enable-static --disable-shared --bindir=/tmp/ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads --disable-mmx --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-librtmp --pkg-config=pkg-config
  libavutil      51. 70.100 / 51. 70.100
  libavcodec     54. 54.100 / 54. 54.100
  libavformat    54. 25.104 / 54. 25.104
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 11.101 /  3. 11.101
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
rtmp server sent error
rtmp server requested close
rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app='ondemand?auth=daEbncNcAc.bUb2cZanb_aYaWbid9bDbIao-bqqA1f-8-mmu_xGtoL&aifp=v001' playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1: Unknown error occurred



jhb50 wrote:ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app=ondemand token=daEcFbsaNajcBbxc3c0d3dmczbRaNaucaa5-bqqkDZ-8-klt_AEApM&aifp=v001' playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1" /home/god/Videos/catalyst3.mp4


result:
  Code:
$ ffmpeg -i "rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app=ondemand token=daEdVaHdXcTcmaGbld2aSaZcMc_d9dsdgcL-bqqA4j-8-qko_AGwpH&aifp=v001' playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1" /home/god/Videos/catalyst3.mp4
ffmpeg version 0.11.1.git Copyright (c) 2000-2012 the FFmpeg developers
  built on Aug 22 2012 00:01:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --enable-static --disable-shared --bindir=/tmp/ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads --disable-mmx --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-librtmp --pkg-config=pkg-config
  libavutil      51. 70.100 / 51. 70.100
  libavcodec     54. 54.100 / 54. 54.100
  libavformat    54. 25.104 / 54. 25.104
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 11.101 /  3. 11.101
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
rtmp server sent error
rtmp server requested close
rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app=ondemand token=daEdVaHdXcTcmaGbld2aSaZcMc_d9dsdgcL-bqqA4j-8-qko_AGwpH&aifp=v001' playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1: Unknown error occurred



I think the iView service has just renamed a .swf file to .jpg to obsufacte a bit. And I think ffmpeg has a bug that is revealed by this situation.

Will follow it up on ffmpeg forums or with a bug report.
--
linux/Humax HDR-3000T
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Sat Sep 01, 2012 12:08 pm

Re: implementing swf verification

Running one of the jhb50 suggested commands with the -report parameter - gives a bit more info on the error. I am getting AccessManager.Reject ] : Access denied! but rtmpdump works !
  Code:
 ffmpeg -report -i "rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app='ondemand?auth=daEbQaza1aTbSa7dZbXdTavcLa9dVcEdhdX-bqqFHH-8-lkq_uEwoJ&aifp=v001' playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1" /home/god/Videos/catalyst3.mp4

Parsing...
Parsed protocol: 0
Parsed host    : cp53909.edgefcs.net
Parsed app     : mp4:flash/playback
RTMP_Connect1, ... connected, handshaking
HandShake: Client type: 03
HandShake: Client digest offset: 430
HandShake: Initial client digest:
09 9c a6 eb be 35 92 4f 3f e9 e8 ee c9 02 69 73
32 5c 46 b7 00 1a 92 43 25 d9 ba db 52 95 3c d1
HandShake: Type Answer   : 03
HandShake: Server Uptime : 1015081557
HandShake: FMS Version   : 3.5.7.1
HandShake: Calculated digest key from secure key and server digest:
ad 2f 28 53 92 36 bc 18 7e 3a 05 ae 4a 2e 6b 87
25 cb 7b 34 3e 95 25 40 60 38 47 0d e0 6c d4 be
HandShake: Client signature calculated:
c5 10 d6 4a 9e 2c 5d 0c 9f 66 53 86 93 7a 9d 35
1e 81 e7 41 8d c5 0e a6 24 ab 61 df e5 fe 64 15
HandShake: Server sent signature:
2a d8 8c 13 fe c6 4d cb 33 9f bd 48 e2 b6 d8 4c
33 aa 61 3e 22 8c 30 ea 4b 81 b6 97 f4 f3 63 0b
HandShake: Digest key:
68 67 12 7c 40 dc 3a 7f b1 44 6c dc 3f 71 17 cf
5d 55 5d 3f ac 75 d0 68 34 bf 0d 49 39 d1 57 a7
HandShake: Signature calculated:
2a d8 8c 13 fe c6 4d cb 33 9f bd 48 e2 b6 d8 4c
33 aa 61 3e 22 8c 30 ea 4b 81 b6 97 f4 f3 63 0b
HandShake: Genuine Adobe Flash Media Server
HandShake: Handshaking finished....
RTMP_Connect1, handshaked
Invoking connect
RTMP_ClientPacket, received: invoke 134 bytes
(object begin)
Property: <Name:           no-name., STRING:   _error>
Property: <Name:           no-name., NUMBER:   1.00>
Property: NULL
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:              level, STRING:   error>
Property: <Name:               code, STRING:   NetConnection.Connect.Rejected>
Property: <Name:        description, STRING:   [ AccessManager.Reject ] : Access denied!>
(object end)
(object end)
HandleInvoke, server invoking <_error>
rtmp server sent error
RTMP_ClientPacket, received: invoke 18 bytes
(object begin)
Property: <Name:           no-name., STRING:   close>
Property: <Name:           no-name., NUMBER:   0.00>
Property: NULL
(object end)
HandleInvoke, server invoking <close>
rtmp server requested close
rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app='ondemand?auth=daEbQaza1aTbSa7dZbXdTavcLa9dVcEdhdX-bqqFHH-8-lkq_uEwoJ&aifp=v001' playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1: Unknown error occurred

--
linux/Humax HDR-3000T
<<

jhb50

DLNA master

Posts: 2843

Joined: Thu Jun 30, 2011 9:32 pm

Post Sat Sep 01, 2012 1:32 pm

Re: implementing swf verification

Remove the single quote after v001. My error.
<<

ttguy

Serviio lover

Posts: 63

Joined: Sun May 27, 2012 10:52 am

Post Sat Sep 01, 2012 2:34 pm

Re: implementing swf verification

jhb50 wrote:Remove the single quote after v001. My error.


jhb50 you legend - almost. I had to remove two single quotes.

  Code:
ffmpeg -report -i "rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app=ondemand?auth=daEdzaBaJaNdmcyd3d0b9aIataUbEc8a7av-bqqHkc-8-oks_wEAqH&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1" /home/god/Videos/catalyst3.mp4


And then ... it downloads 17 mins of the file and then stops. But before it would only download 1 min.
I dunno why it stopped. Maybe just some network error or something. I am also trying this syntax in my plugin. And it appears to be working. Have 15 mins of a 30 min program to still watch from my plugin.

So it looks like I need a playpath in the rtrmp url and a playpath parameter and an app parameter. Very tricky to get this syntax right !!.

So thanks for persisting with me. !!

  Code:
$ ffmpeg -report -i "rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app=ondemand?auth=daEdzaBaJaNdmcyd3d0b9aIataUbEc8a7av-bqqHkc-8-oks_wEAqH&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1" /home/god/Videos/catalyst3.mp4
ffmpeg started on 2012-09-01 at 23:51:05
Report written to "ffmpeg-20120901-235105.log"
ffmpeg version 0.11.1.git Copyright (c) 2000-2012 the FFmpeg developers
  built on Aug 22 2012 00:01:08 with gcc 4.6 (Ubuntu/Linaro 4.6.3-1ubuntu5)
  configuration: --enable-static --disable-shared --bindir=/tmp/ffmpeg --disable-ffplay --disable-ffserver --enable-pthreads --disable-mmx --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-librtmp --pkg-config=pkg-config
  libavutil      51. 70.100 / 51. 70.100
  libavcodec     54. 54.100 / 54. 54.100
  libavformat    54. 25.104 / 54. 25.104
  libavdevice    54.  2.100 / 54.  2.100
  libavfilter     3. 11.101 /  3. 11.101
  libswscale      2.  1.101 /  2.  1.101
  libswresample   0. 15.100 /  0. 15.100
  libpostproc    52.  0.100 / 52.  0.100
Parsing...
Parsed protocol: 0
Parsed host    : cp53909.edgefcs.net
Parsed app     : mp4:flash/playback
RTMP_Connect1, ... connected, handshaking
HandShake: Client type: 03
HandShake: Client digest offset: 430
HandShake: Initial client digest:
b5 7b bb ee a5 af 85 94 a6 e9 93 e5 51 3a ed 85
db 80 0b d5 34 70 a8 f8 d6 a8 69 a9 5d ed 6a 90
HandShake: Type Answer   : 03
HandShake: Server Uptime : 1021779178
HandShake: FMS Version   : 3.5.7.1
HandShake: Calculated digest key from secure key and server digest:
87 f6 d0 7f 50 4c 7d 48 f6 71 d1 e3 88 19 7a ef
2a a9 16 01 ca be 16 a7 41 42 6c 9f 59 59 1b d3
HandShake: Client signature calculated:
67 11 5e 11 2d a7 bc 21 48 2d b8 79 9a 90 3c e1
51 a7 a6 8f 0b 35 37 92 62 2d 15 b2 d3 f6 71 2a
HandShake: Server sent signature:
73 8c 07 8a 68 f8 85 3a ba 5e 0d cc f4 2c 84 fb
6f b9 b8 33 40 fe 58 23 37 2c d7 6d df 1a 96 e5
HandShake: Digest key:
26 db 5f 5f b8 f9 93 75 ce 95 2b a4 8c f5 e3 ee
b3 ab e2 c7 e1 6e f6 98 48 c1 a3 be 46 17 c2 3a
HandShake: Signature calculated:
73 8c 07 8a 68 f8 85 3a ba 5e 0d cc f4 2c 84 fb
6f b9 b8 33 40 fe 58 23 37 2c d7 6d df 1a 96 e5
HandShake: Genuine Adobe Flash Media Server
HandShake: Handshaking finished....
RTMP_Connect1, handshaked
Invoking connect
HandleServerBW: server BW = 1250000
HandleClientBW: client BW = 1250000 2
HandleCtrl, received ctrl. type: 26, len: 3
HandleCtrl, SWFVerification ping received:
sending ctrl. type: 0x001b
Sending SWFVerification response:
00 1b 01 01 00 00 08 4a 00 00 08 4a 44 bc e1 25
c2 09 32 83 07 83 6a 78 a0 91 0f 9d f5 a5 50 8f
51 78 f9 8b 63 fb a8 ac 20 dc a1 e3
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/3,5,7,7024>
Property: <Name:       capabilities, NUMBER:   127.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:   3,5,7,7024>
(object end)
(object end)
(object end)
HandleInvoke, server invoking <_result>
HandleInvoke, received result for method call <connect>
sending ctrl. type: 0x0003
Invoking createStream
RTMP_ClientPacket, received: invoke 21 bytes
(object begin)
Property: <Name:           no-name., STRING:   onBWDone>
Property: <Name:           no-name., NUMBER:   0.00>
Property: NULL
(object end)
HandleInvoke, server invoking <onBWDone>
Invoking _checkbw
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:flash/playback/_definst_/catalyst_13_15.mp4
Invoking play
sending ctrl. type: 0x0003
RTMP_ClientPacket, received: invoke 10275 bytes
(object begin)
Property: <Name:           no-name., STRING:   _onbwcheck>
Property: <Name:           no-name., NUMBER:   2147492160.00>
Property: NULL
Property: <Name:           no-name., STRING:   : ) b I D 5 ( c @ A j / | s 2 ; ( Y r ; l E 8 3 p q z A 4 C " 5 h 9 $ 7 $ u z ]   ! , 3 \ - . ' H g 4 9 . { j s 2 O < ? T = > K H 7 ~ + $ K Z #   ! v 1 < m N % h 9 n G t % J M p 1 f # t % ^ u ( I ^ ) < 5 : ? @ a V O < S n [ * y N y T e * 3 P 1 F >
Property: <Name:           no-name., NUMBER:   0.00>
(object end)
HandleInvoke, server invoking <_onbwcheck>
Invoking _result
RTMP_ClientPacket, received: invoke 57 bytes
(object begin)
Property: <Name:           no-name., STRING:   onBWDone>
Property: <Name:           no-name., NUMBER:   0.00>
Property: NULL
Property: <Name:           no-name., NUMBER:   0.00>
Property: <Name:           no-name., NUMBER:   0.00>
Property: <Name:           no-name., NUMBER:   0.00>
Property: <Name:           no-name., NUMBER:   0.00>
(object end)
HandleInvoke, server invoking <onBWDone>
RTMP_ClientPacket, received: invoke 20 bytes
(object begin)
Property: <Name:           no-name., STRING:   _result>
Property: <Name:           no-name., NUMBER:   0.00>
Property: NULL
(object end)
HandleInvoke, server invoking <_result>
HandleInvoke, received result id 0 without matching request
HandleChangeChunkSize, received: chunk size change to 4096
HandleCtrl, received ctrl. type: 4, len: 6
HandleCtrl, Stream IsRecorded 1
HandleCtrl, received ctrl. type: 0, len: 6
HandleCtrl, Stream Begin 1
RTMP_ClientPacket, received: invoke 228 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 flash/playback/_definst_/catalyst_13_15.mp4.>
Property: <Name:            details, STRING:   flash/playback/_definst_/catalyst_13_15.mp4>
Property: <Name:           clientid, STRING:   R1ZAIEhx>
(object end)
(object end)
HandleInvoke, server invoking <onStatus>
HandleInvoke, onStatus: NetStream.Play.Reset
RTMP_ClientPacket, received: invoke 222 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 flash/playback/_definst_/catalyst_13_15.mp4.>
Property: <Name:            details, STRING:   flash/playback/_definst_/catalyst_13_15.mp4>
Property: <Name:           clientid, STRING:   R1ZAIEhx>
(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:   FALSE>
(object end)
ignoring too small audio packet: size: 0
RTMP_ClientPacket, received: notify 44 bytes
(object begin)
Property: <Name:           no-name., STRING:   onStatus>
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:               code, STRING:   NetStream.Data.Start>
(object end)
(object end)
RTMP_ClientPacket, received: notify 592 bytes
(object begin)
Property: <Name:           no-name., STRING:   onMetaData>
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:           duration, NUMBER:   1624.33>
Property: <Name:       moovPosition, NUMBER:   36.00>
Property: <Name:              width, NUMBER:   640.00>
Property: <Name:             height, NUMBER:   360.00>
Property: <Name:       videocodecid, STRING:   avc1>
Property: <Name:       audiocodecid, STRING:   mp4a>
Property: <Name:         avcprofile, NUMBER:   77.00>
Property: <Name:           avclevel, NUMBER:   31.00>
Property: <Name:             aacaot, NUMBER:   2.00>
Property: <Name:     videoframerate, NUMBER:   25.00>
Property: <Name:    audiosamplerate, NUMBER:   44100.00>
Property: <Name:      audiochannels, NUMBER:   2.00>
Property: <Name:          trackinfo, OBJECT>
(object begin)
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:             length, NUMBER:   974616.00>
Property: <Name:          timescale, NUMBER:   600.00>
Property: <Name:  sampledescription, OBJECT>
(object begin)
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:         sampletype, STRING:   avc1>
(object end)
(object end)
(object end)
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:             length, NUMBER:   71632858.00>
Property: <Name:          timescale, NUMBER:   44100.00>
Property: <Name:  sampledescription, OBJECT>
(object begin)
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:         sampletype, STRING:   mp4a>
(object end)
(object end)
(object end)
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:             length, NUMBER:   600.00>
Property: <Name:          timescale, NUMBER:   600.00>
Property: <Name:  sampledescription, OBJECT>
(object begin)
(object end)
(object end)
Property: <Name:           no-name., OBJECT>
(object begin)
Property: <Name:             length, NUMBER:   600.00>
Property: <Name:          timescale, NUMBER:   600.00>
Property: <Name:  sampledescription, OBJECT>
(object begin)
(object end)
(object end)
(object end)
(object end)
(object end)
Metadata:
  duration              1624.33
  moovPosition          36.00
  width                 640.00
  height                360.00
  videocodecid          avc1
  audiocodecid          mp4a
  avcprofile            77.00
  avclevel              31.00
  aacaot                2.00
  videoframerate        25.00
  audiosamplerate       44100.00
  audiochannels         2.00
trackinfo:
  length                974616.00
  timescale             600.00
sampledescription:
  sampletype            avc1
  length                71632858.00
  timescale             44100.00
sampledescription:
  sampletype            mp4a
  length                600.00
  timescale             600.00
sampledescription:
  length                600.00
  timescale             600.00
sampledescription:
Input #0, flv, from 'rtmp://cp53909.edgefcs.net:1935/mp4:flash/playback/_definst_/catalyst_13_15.mp4 app=ondemand?auth=daEdzaBaJaNdmcyd3d0b9aIataUbEc8a7av-bqqHkc-8-oks_wEAqH&aifp=v001 playpath=mp4:flash/playback/_definst_/catalyst_13_15.mp4 swfUrl=http://www.abc.net.au/iview/images/iview.jpg swfVfy=1':
  Metadata:
    moovPosition    : 36
    avcprofile      : 77
    avclevel        : 31
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
  Duration: 00:27:04.32, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuv420p, 640x360 [SAR 1:1 DAR 16:9], 25 tbr, 1k tbn, 50 tbc
    Stream #0:1: Audio: aac, 44100 Hz, stereo, s16
File '/home/god/Videos/catalyst3.mp4' already exists. Overwrite ? [y/N] y
w:640 h:360 pixfmt:yuv420p tb:1/1000 fr:25/1 sar:1/1 sws_param:flags=2
[graph 1 input from stream 0:1 @ 0xad8e220] tb:1/44100 samplefmt:s16 samplerate:44100 chlayout:0x3
[libx264 @ 0xadaa650] using SAR=1/1
[libx264 @ 0xadaa650] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle Cache64
[libx264 @ 0xadaa650] profile High, level 3.0
[libx264 @ 0xadaa650] 264 - core 120 r2151 a3f4407 - H.264/MPEG-4 AVC codec - Copyleft 2003-2011 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=3 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to '/home/god/Videos/catalyst3.mp4':
  Metadata:
    moovPosition    : 36
    avcprofile      : 77
    avclevel        : 31
    aacaot          : 2
    videoframerate  : 25
    audiochannels   : 2
    encoder         : Lavf54.25.104
    Stream #0:0: Video: h264 ([33][0][0][0] / 0x0021), yuv420p, 640x360 [SAR 1:1 DAR 16:9], q=-1--1, 25 tbn, 25 tbc
    Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 44100 Hz, stereo, s16, 128 kb/s
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> libx264)
  Stream #0:1 -> #0:1 (aac -> libfaac)
Press [q] to stop, [?] for help
*** 1 dup!
HandleCtrl, received ctrl. type: 6, len: 6 time=00:01:27.86 bitrate= 554.0kbits/s dup=1 drop=0   
HandleCtrl, Ping 1021871023
sending ctrl. type: 0x0007
HandleCtrl, received ctrl. type: 6, len: 6 time=00:06:40.54 bitrate= 519.1kbits/s dup=1 drop=0   
HandleCtrl, Ping 1022171964
sending ctrl. type: 0x0007
HandleCtrl, received ctrl. type: 6, len: 6 time=00:10:45.70 bitrate= 617.6kbits/s dup=1 drop=0   
HandleCtrl, Ping 1022471974
sending ctrl. type: 0x0007
HandleCtrl, received ctrl. type: 6, len: 6 time=00:14:36.36 bitrate= 675.3kbits/s dup=1 drop=0   
HandleCtrl, Ping 1022771985
sending ctrl. type: 0x0007
WriteN, RTMP send error 104 (5 bytes)275kB time=00:17:15.00 bitrate= 659.1kbits/s dup=1 drop=0 
--
linux/Humax HDR-3000T
Next

Return to Plugin development

Who is online

Users browsing this forum: No registered users and 22 guests

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.