Unable to get any programmes

dinkypumpkin dinkypumpkin at gmail.com
Fri Jan 20 07:16:47 EST 2012


On 20/01/2012 11:10, Foster, Stephen wrote:
> Ok - Its definitely my setup - well we knew that anyway, but its very strange....
>
> I hardcoded the path to rtmpdump.exe and added some debug to get_iplayer.pl
>
> This is what I added around line
>
> 7985       my $rtmpver = `"$bin->{flvstreamer}" --help 2>&1`;
>
>                  main::logger "INFO:*** $bin->{flvstreamer} --help    ***\n" if $opt->{verbose};
>                  main::logger "INFO:*** $rtmpver    ***\n" if $opt->{verbose};
>
>                  $rtmpver="2.4";
>
>
> This displayed some useful info. It showed the correct version of rtmpdump was being called and that its output was "" (that's nothing!!)
>
> But with the above hack to hardcode the actual version of rtmp I am using (2.4) it successfully downloaded the programme.
>
> So it seems that something is not quite working correctly when piping/capturing output from rtmpdump to perl.

As a double-check, you should also print the value of $? immediately 
after rtmpdump is run (it should be 0) to verify that it returned 
successfully.  The rtmpdump command to get the help output (parsed for 
the version number) is executed slightly differently [via backticks] 
than the command to actually perform the download [via 
IPC::Open3::open3()].  You've demonstrated that the latter works, but it 
might be useful to know if the former is actually failing or just not 
returning output for some reason.

> I checked I am running the correct (local) version of perl from get_iplayer and I am, but I'm not sure how the libraries are linked in - could they be picking up info from my default install in c:/perl.
>
> Whilst it works I'm not happy with this hack - why is the output from rtmpdump not being captured into $rtmpver?

Just to double-check, if you run "perl -V" from the get_iplayer window 
prompt, what's in @INC (at the end of the output)?  For a get_iplayer 
install, it should look like this:

   @INC:
     C:/Program Files/get_iplayer/lib
     .

This isn't necessarily diagnostic since backticks is a builtin, but 
would at least verify for us that you're not picking up the other Perl. 
  And as a paranoid check if you're on Windows 7, make sure these 
directories do not exist:

C:\Users\<username>\AppData\Local\VirtualStore\Program Files\get_iplayer

or for 64-bit Windows:

C:\Users\<username>\AppData\Local\VirtualStore\Program Files 
(x86)\get_iplayer

The installer should have removed them, but worth a quick check.



More information about the get_iplayer mailing list