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.jpgSo 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.