SopCast

Internet TV, Radio, Podcasts
trevorsem
Posts: 30
Joined: Tue Jan 05, 2010 9:53 am

SopCast

Post by trevorsem »

Me again Eugene,

Does your wonderful program support the live playing of Sopcast files? Some sports are available via SopCast. I can view them on my PC by using the downloaded Sopcast application, but would be nice to watch them on my Sony TV.

Kind Regards
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Re: SopCast

Post by Eugene »

trevorsem wrote: Does your wonderful program support the live playing of Sopcast files? Some sports are available via SopCast. I can view them on my PC by using the downloaded Sopcast application, but would be nice to watch them on my Sony TV.
You must configure the view in VLC, then the flow can be redirected to the TV.
trevorsem
Posts: 30
Joined: Tue Jan 05, 2010 9:53 am

Re: SopCast

Post by trevorsem »

Sorry, I'm really lost on this one. Please can you give me instructions/screenshots step by step?

:oops:
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Re: SopCast

Post by Eugene »

trevorsem wrote:Sorry, I'm really lost on this one. Please can you give me instructions/screenshots step by step?

:oops:
I do not use sopcast, there will be news, I will inform.
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Re: SopCast

Post by Eugene »

1. Download and install SopCast SopFilter 3.0.3 (http://www.sopcast.com/download/)
2. Settings-Transcoder-Profiles-Add
Name: Internet-television (SopCast)
Execute mode: Transcoding
Language: PascalScript
Transcoding parameters:

Code: Select all

var
  sTranscoderParams: string; 
begin
  if WmsDirectShowAddSource(InputFileName, 'Source') = S_OK then begin
    mpInternetItem := False;
    sTranscoderParams := WmsTranscodingProfileParams('Movies (primary)') + ' "<OUTPUT FILE>"';
    TranscodingResult := WmsTranscodingExecute('WMSMPEG', sTranscoderParams, True,
                                 'http://localhost:8902/tv.asf', OutputFileName)
  end else                 
    TranscodingResult := False
end.
3. Ok-Ok-Ok
4. Select folder "Internet-televison", on right button mouse in List [Movies] - Add link
5. In field "Path": sop://....,
6. Ok
7. On right button mouse - Transcoding profile "Internet-Television (SopCast)"
8. On right button mouse - Test transcoding
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Re: SopCast

Post by Eugene »

Script for create sopcast channel list ('http://www.sopcast.com/chlist.xml') in Internet-television folder
1. Settings-Processing-Add
Name: SopCast Channels
Turn on "Button on the main form"
Expression:

Code: Select all

const
  CSIDL_LOCAL_APPDATA = $001c;
  mpiTranscodingProfile = 50;  

function GetItemValue(aItem: TXmlItem; const aValueName: string): string;
var
  Item: TXmlItem;  
begin
  Item := aItem.Find(aValueName);  
  if Item <> nil then begin
    Result := Item.Attributes['en'];
    if Result = '' then   
      Result := Item.Value
  end else
    Result := ''      
end;

var
  ChannelItem, GroupItem, SopAddressItem: TXmlItem;  
  SopItem: TWmsScriptMediaItem;
  sChannels, sFolderID, sGroupName, 
  sChannelInfo, sChannelAddress, sFolderPath, 
  sStreamType, sSubFolder, sTranscodingProfile: string;
  XmlDocument: TXmlDocument;
  i, iUnknownCount, j, k: Integer; 
begin
  XmlDocument := TXmlDocument.Create;  
  try                                  
    XmlDocument.LoadFromString(ReplaceStr(WmsDownloadURL('http://www.sopcast.com/chlist.xml'), #13#10, '  '));   
    iUnknownCount := 1;
    if SameText(XmlDocument.Root.Name, 'channels') then begin
      for i := 0 to XmlDocument.Root.Count - 1 do begin
        GroupItem := XmlDocument.Root.Items[i];
        if SameText(GroupItem.Name, 'group') then begin
          sGroupName := GroupItem.Attributes['en'];
          if sGroupName = '' then begin
            if (GroupItem.Count > 0) and (GroupItem.Items[0].Name = '') then
              sGroupName := Trim(GroupItem.Items[0].Value);
            if sGroupName = '' then begin 
              sGroupName := GroupItem.Attributes['cn'];            
              if sGroupName = '' then begin            
                sGroupName := Format('Unknown (%d)', [iUnknownCount]);              
                Inc(iUnknownCount)              
              end
            end                         
          end;
          sFolderPath := 'SopCast Channels\' + sGroupName + '\';            
          for j := 0 to GroupItem.Count - 1 do begin
            ChannelItem := GroupItem.Items[j];
            if SameText(ChannelItem.Name, 'channel') then begin            
              sChannelInfo := Format('%s; Class: %s; Region: %s; Language: %s', 
                                     [GetItemValue(ChannelItem, 'name'),
                                      GetItemValue(ChannelItem, 'class'),
                                      GetItemValue(ChannelItem, 'region'),
                                      ChannelItem.Attributes['language']]);
              sStreamType := GetItemValue(ChannelItem, 'stream_type');
              if SameText(sStreamType, 'mp3') or SameText(sStreamType, 'wma') then begin
                sFolderID := mfAudioInternetRadioItemID;
                sTranscodingProfile := 'Internet-radio (SopCast)'                    
              end else begin
                sFolderID := mfVideoInternetTelevisionItemID;
                sTranscodingProfile := 'Internet-television (SopCast)'
              end;                                                  
              SopAddressItem := ChannelItem.Find('sop_address');                
              if (SopAddressItem <> nil) and (SopAddressItem.Count >= 1) then begin
                for k := 0 to SopAddressItem.Count - 1 do begin                  
                  if SopAddressItem.Count > 1 then                    
                    sSubFolder := '\Item' + IntToStr(k + 1)                      
                  else            
                    sSubFolder := '';
                  SopItem := WmsCreateMediaItem(SopAddressItem.items[k].Value,
                                                sFolderID,
                                                sFolderPath + sSubFolder);                                                  
                  SopItem.Properties[mpiTitle] := sChannelInfo;                  
                  SopItem.Properties[mpiTranscodingProfile] := sTranscodingProfile
                end                             
              end
            end            
          end
        end
      end
    end;
    WmsDatabaseAutoSave       
  finally      
    XmlDocument.Free
  end;  
  ProcessMediaResult := True
end.
2. Ok,Ok,Ok
3. Press button "SopCast Channels"
ha100
Posts: 14
Joined: Mon Jan 25, 2010 11:53 pm

Re: SopCast

Post by ha100 »

I,ve tried this. Does not seem to work. Must be doing something wrong. I've WMS on Server 2008 x64. Maybe Sopcast filter does not work on x64?
Eugene
Posts: 2940
Joined: Tue Nov 17, 2009 8:05 pm

Re: SopCast

Post by Eugene »

ha100 wrote:I,ve tried this. Does not seem to work. Must be doing something wrong. I've WMS on Server 2008 x64. Maybe Sopcast filter does not work on x64?
Program 32-bit, uses 32-bit filter. Perhaps you first need to try SopCast player, but I did not install.
ha100
Posts: 14
Joined: Mon Jan 25, 2010 11:53 pm

Re: SopCast

Post by ha100 »

Player working fine on x64. What can I do? Does it work for you with that code you provided? When I test transcode nothing happens. Where does http://localhost:8902/tv.asf go to? Sop filter works fine with Windows Media Player.
ha100
Posts: 14
Joined: Mon Jan 25, 2010 11:53 pm

Re: SopCast

Post by ha100 »

Testtranscoding working now. I think it had to be enabled in Windows Media Player first or something . Streaming to tv or PS3 still not working though.
Post Reply