Hi Dan,
If you look at
org.red5.server.stream.DefaultStreamFilenameGenerator.java you find that
it use getStreamDirectory function to to get full path scope :

    private String getStreamDirectory(IScope scope) {
        final StringBuilder result = new StringBuilder();
        final IScope app = ScopeUtils.findApplication(scope);
        while (scope != null && scope != app) {
            result.insert(0, scope.getName() + "/");
            scope = scope.getParent();
        }
        return result.toString();
    }



, I use the same in my CustomFilenameGenerator but apparently doesn't
work properly.
Any idea, why scope still empty when used with the service
IStreamFilenameGenerator  ?
Thanks


Dan Rossi a écrit :
> Here is what I have, maybe its not creating the room directory properly 
> anymore ? I havent tried it for a while.
>
> public String generateFilename(IScope scope, String name,
>             String extension, GenerationType type) {
>        
>         String filename;
>         if (type == GenerationType.RECORD)
>             filename = recordPath + formatRecordName(name);
>         else
>             filename = playbackPath + name;
>        
>         if (extension != null)
>             // Add extension
>             filename += extension;
>        
>         log.info("Generated FilePath: " + filename);
>        
>         return filename;
>    
>     }
>    
>     private String formatRecordName(String name)
>     {
>         if (!dateFormat.equals(""))
>         {
>             DateFormat date = new SimpleDateFormat(dateFormat);
>             String appendDate = date.format(new Date());
>             name += "_" + appendDate + "-" + streamBitrate;
>         }
>         return name;
>     }
>
>
> [EMAIL PROTECTED] wrote:
>   
>> Hi,
>> Dan Rossi a écrit :
>>   
>>     
>>>  public String recordPath = "file:/home/streams/"; ?
>>>   
>>>     
>>>       
>> Hi Dan,
>> Inside the Bean definition  I set the path to file://... but the
>> absolute path is not the issue, the streams ares saved to 
>> '/home/streams/myvideo.flv' instead of
>> '/home/streams/room1/room2/myvideo.flv'.
>> :)
>> Thanks
>>
>> :)
>>   
>>     
>>> [EMAIL PROTECTED] wrote:
>>>   
>>>     
>>>       
>>>> Hi,
>>>> I'm using CustomFilenameGenerator to create a custom record stream
>>>> (/home/streams/) and I try to keep a full path scope to for path.
>>>> For example if i'm record stream with this url :
>>>> rtmp://my_server/my_appliation/room1/room3/  i'll have
>>>> :/home/streams/room1/room2/myStream.flv.
>>>> Unfortunately it seems that it doesn't work, here is my
>>>> CustomFilenameGenerator class. Any idea ?
>>>>
>>>> package actusite.recorder;
>>>>
>>>> import org.red5.server.api.IScope;
>>>> import org.red5.server.api.ScopeUtils;
>>>> import org.red5.server.api.stream.IStreamFilenameGenerator;
>>>>
>>>>
>>>> public class CustomFilenameGenerator implements IStreamFilenameGenerator {
>>>>
>>>>        /** Path that will store recorded videos. */
>>>>     public String recordPath = "/home/streams/";
>>>>
>>>>     public void setRecordPath(String path) {
>>>>         recordPath = path;
>>>>     }
>>>>
>>>>     private String getStreamDirectory(IScope scope) {
>>>>         final StringBuilder result = new StringBuilder();
>>>>         final IScope app = ScopeUtils.findApplication(scope);
>>>>         while (scope != null && scope != app) {
>>>>             result.insert(0, scope.getName() + "/");
>>>>             scope = scope.getParent();
>>>>         }
>>>>         return result.toString();
>>>>     }
>>>>
>>>>     public String generateFilename(IScope scope, String name,
>>>>             GenerationType type) {
>>>>         // Generate filename without an extension.
>>>>         return generateFilename(scope, name, null, type);
>>>>     }
>>>>
>>>>     public String generateFilename(IScope scope, String name, String
>>>> extension, GenerationType type) {
>>>>         String filename;
>>>>             filename = recordPath + getStreamDirectory(scope) + name;
>>>>         if (extension != null)
>>>>             // Add extension
>>>>             filename += extension;
>>>>         return filename;
>>>>     }
>>>>
>>>> }
>>>>
>>>> Thanks
>>>>   
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> Red5 mailing list
>>>> [email protected]
>>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>>   
>>>>     
>>>>       
>>>>         
>>> _______________________________________________
>>> Red5 mailing list
>>> [email protected]
>>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>>
>>>   
>>>     
>>>       
>> _______________________________________________
>> Red5 mailing list
>> [email protected]
>> http://osflash.org/mailman/listinfo/red5_osflash.org
>>
>>   
>>     
>
>
> _______________________________________________
> Red5 mailing list
> [email protected]
> http://osflash.org/mailman/listinfo/red5_osflash.org
>
>   


_______________________________________________
Red5 mailing list
[email protected]
http://osflash.org/mailman/listinfo/red5_osflash.org

Reply via email to