Re: [Dspace-tech] Help with Video Streaming using files stored on Dspace

2015-01-29 Thread Evelthon Prodromou

Hi Bruno,


Not sure if this helps, I did an implementation a few years back that 
had the ability to move your player seek bar forward (pseudo-seek) for 
dspace 1.7.0/Mirage theme. Have a look at 
http://sourceforge.net/p/dspace/mailman/message/29547581/


You can see an example at 
http://lekythos.library.ucy.ac.cy/handle/10797/5826


All the best,

Evelthon Prodromou




On 01/28/2015 07:39 PM, Peter Dietz wrote:

Hi Bruno,

It's been discussed, but never solved. Currently, many sites have done 
"psuedo streaming", which is actually progressive download (wait, and 
let the video buffer, and then start playback, but does not allow you 
to seek/jump beyond what has been buffered).


https://wiki.duraspace.org/pages/viewpage.action?pageId=45548591

An approach that I/others have thought of is to have a video streaming 
service that can encode/streaming-serve video files for you. Either 
have it encode/stream on the fly, or on submission to DSpace, or a 
cron media filter process, have the video be sent to a 
streaming/encoding service that can process the video in the 
background, and maybe give you a url for where a streamable version of 
the file might reside. I'm thinking, what if you built an integration 
with YouTube, that original video's submitted to DSpace, then get 
uploaded to youtube in the background. Once YouTube is ready, the 
curation task could add some metadata to your item, and your UI just 
plays a youtube video. Your repository would still have an archival 
copy of the video.




Peter Dietz
Longsight
www.longsight.com <http://www.longsight.com>
pe...@longsight.com <mailto:pe...@longsight.com>
p: 740-599-5005 x809 

On Wed, Jan 28, 2015 at 12:27 PM, Bruno Zanette 
mailto:brunonzane...@gmail.com>> wrote:


Does someone have any experience on streaming videos that are stored
on Dspace in a way that is possible to seek a timestamp?

I've done some tests and i've managed to play the video, but i
couldn't seek a specific timestamp. I've did some research and found
out that it's because the methods which answers the requests don't
have support for "byte-range headers". Is this right?

I've also found this article/library [1] that implements these kind of
responses, and i'm thinking about trying to append it to Dspace code,
but first i would like to know if someone have already done this (or
something like this), and also if there is an easier way to achieve
this.

[1] -
http://balusc.blogspot.co.uk/2009/02/fileservlet-supporting-resume-and.html

Any help is very welcome!!!

Thanks!

--
Bruno Nocera Zanette
+55 41 9992-2508 


--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot
Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and
more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
<mailto:DSpace-tech@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette:
https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette




--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/


___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette


--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech
List Etiquette: https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

Re: [Dspace-tech] Pseudo flash streaming with seeking in Mirage

2012-07-17 Thread Evelthon Prodromou
Hi Tom,


Haven't tried it, You would need to alter the xsl file and somehow use a
for-each statement.


All the best,


Evelthon


On 07/16/2012 06:15 PM, Thomas Misilo wrote:
>
> Hi Evelthon,
>
>  
>
> I was wondering if this supports having more than 1 video file per item?
>
>  
>
> Thanks,
>
>  
>
> Tom
>
>  
>
> *From:*Evelthon Prodromou [mailto:prodromou.evelt...@ucy.ac.cy]
> *Sent:* Monday, July 16, 2012 7:57 AM
> *To:* 
> *Subject:* [Dspace-tech] Pseudo flash streaming with seeking in Mirage
>
>  
>
> Hello everyone,
>
> I 've written a small how-to on pseudo flash streaming with seeking
> <http://prodromou.eu/2012/07/flash-streaming-in-dspace/>, on Mirage
> theme. It's quite easy, and you should be able to reproduce it
> yourselves. What's nice in this case is the ability to move to parts
> of the video that were not downloaded.
>
> Not sure if this was described before, but i thought of sharing in
> case anyone else is interested.
>
>
> All the best,
>
> Evelthon
>

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] Pseudo flash streaming with seeking in Mirage

2012-07-16 Thread Evelthon Prodromou
Hello everyone,

I 've written a small how-to on pseudo flash streaming with seeking
, on Mirage
theme. It's quite easy, and you should be able to reproduce it
yourselves. What's nice in this case is the ability to move to parts of
the video that were not downloaded.

Not sure if this was described before, but i thought of sharing in case
anyone else is interested.


All the best,

Evelthon

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] Creating md5 sums for external links and lighttpd

2012-04-25 Thread Evelthon Prodromou
I don't think the generated bitstream checksum can be used in this
case.  The sum needed in lighttpd's case is the md5 sum of a
concatenated string. The string is made up of a secret pass, the file
name with a forward slash in front, and a time string that was
previously converted to it's hex value.

On the other hand i don't think one can trust the HTTP referer since it
can be manipulated.

Evelthon




On 04/25/2012 11:41 AM, helix84 wrote:
> On Wed, Apr 25, 2012 at 10:37, Evelthon Prodromou
>  wrote:
>> I'm working with lighttpd to host large video files. It seems to be
>> working but i still have to make some more checks. My "problem" is that
>> the url pointing to the file is viewable in the source code leading to
>> the possibility of a third party linkining to the file. By using the
>> secdownload module, links expire after a certain amount of time, thus
>> discouraging direct linking.
> You might want to prefer solving that on the file server side by
> checking HTTP referer instead of on the DSpace side.
>
> If you insist on doing that in DSpace, you can store the
> pre-calculated checksum of externally hosted files in metadata and
> only calculate the timestamp on page display.
>
> Regards,
> ~~helix84
>

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] Creating md5 sums for external links and lighttpd

2012-04-25 Thread Evelthon Prodromou
Hi Helix,

Thanks for the reply. I will look into it.

I'm working with lighttpd to host large video files. It seems to be
working but i still have to make some more checks. My "problem" is that
the url pointing to the file is viewable in the source code leading to
the possibility of a third party linkining to the file. By using the
secdownload module, links expire after a certain amount of time, thus
discouraging direct linking.



Evelthon


On 04/25/2012 11:14 AM, helix84 wrote:
> On Wed, Apr 25, 2012 at 07:54, Evelthon Prodromou
>  wrote:
>> If i was to use that, where should i add that piece of code and how
>> should i call it to have the generated hash value in item-view.xsl ?
> Hi Evelthon,
>
> actually there already is an MD5 checksum calculated for each
> bitstream. It's easy to construct the URL in XSL - in your stylesheet
> override the  from item-view.xsl.
> You'll need to add the
> xmlns:util="org.dspace.app.xmlui.utils.XSLUtils"
> xmlns:exdate="http://exslt.org/dates-and-times";
> attributes to the stylesheet tag
> and "util" and "exdate" to its "exclude-result-prefixes" attribute.
>
> To construct the URL, use these values down in "a href":
> 
> 
>
> That's the easy part - displaying the link. Now to actually make that
> link work, you have to change
> dspace-xmlui/dspace-xmlui-webapp/src/main/webapp/sitemap.xmap
> starting from
> 
> to include the new parameters - checksum and timestamp.
>
> Then you have to make use of those parameters in
> [dspace-src]/dspace-xmlui/dspace-xmlui-api/src/main/java/org/dspace/app/xmlui/cocoon/BitstreamReader.java
>
> That should be enough to point you in the right direction.
>
> Anyway, I'm wondering what's the reason you want to do this?
>
> Regards,
> ~~helix84
>

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] Creating md5 sums for external links and lighttpd

2012-04-24 Thread Evelthon Prodromou
Goodmorning everyone,


I am investigating the possibility of using lighttpd's secdownload
module to use expiring links. I'd like to use those in metadata, so that
a link will be valid if viewed within a dspace record, yet inaccessible
if hard linked directly. Just to be clear, these files are not hosted by
dspace.

At first i tried implementing lighttpd's instructions in item-view.xsl,
but creating and md5 sum seems to be next to impossible.

Lighttpd offers ready to use source codes for many languages, including
java, at
http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ModSecDownload#Examples.
If i was to use that, where should i add that piece of code and how
should i call it to have the generated hash value in item-view.xsl ?


Many thanks,


Evelthon.
<>--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


Re: [Dspace-tech] How to clear all monthly reports and start from the beginning

2011-11-29 Thread Evelthon Prodromou
Hello Stuart,

Thank you for your reply. I followed you suggestion. There was indeed a
"rogue" SQL query, the one below.

SELECT COUNT(*) AS num FROM item WHERE in_archive = true AND withdrawn =
false  AND item_id IN ( SELECT item_id FROM metadatavalue WHERE
metadata_field_id = ( SELECT metadata_field_id  FROM
metadatafieldregistry  WHERE element = 'date'  AND qualifier =
'accessioned')  AND text_value::timestamp > '2011-11-01'::timestamp  AND
text_value::timestamp < '2011-11-30'::timestamp )  AND item_id IN (
SELECT item_id FROM metadatavalue WHERE text_value LIKE '%Thesis or
Dissertation%' AND metadata_field_id = ( SELECT metadata_field_id  FROM
metadatafieldregistry  WHERE element = 'type'  AND qualifier IS NULL) )

The last subquery, SELECT metadata_field_id  FROM metadatafieldregistry 
WHERE element = 'type'  AND qualifier IS NULL, return two results
instead of one. I don't think this error was caused by dspace itself (
running v 1.7.0) but due to a plug-in installed for Europeana, a few
months back. The plug-in adds another namespace for Europeana. The two
(hint!) rows returned are the following:

- element = type, qualifier = null, scope_note = Nature or genre of content
- element = type, qualifier = null, scope_note = The element's type
(TEXT, IMAGE, SOUND, VIDEO)

This query does not take into account the metadata_schema_id column,
which is the only difference between the two rows above. The first one
has a metadata_schema_id =1, and the second one equals 2.

The europeana schema has another "type" field. I changed the qualifier
for  that to 1 (just so it is not NULL), to test it out, and all scripts
related to statistics worked like a charm.


I will do some tests to see if it plays well with europeana during
future weeks and see how it goes.


Thanks again,

Evelthon


On 11/28/2011 07:39 PM, Stuart Lewis wrote:
> Hi Evelthon,
>
> If you enable DEBUG logging in DSpace, and then re-run the command, the 
> dspace.log file should show the SQL that is failing.  If you could show us 
> that, it might help to work out where the error is.  My guess is a bad value 
> in the dspace statistics config file, but the SQL should help.
>
>  - 
> https://wiki.duraspace.org/display/DSPACE/TechnicalFaq#TechnicalFaq-SettingloggingleveluptoDEBUG
>
> Thanks,
>
>
> Stuart Lewis
> Digital Development Manager
> Te Tumu Herenga The University of Auckland Library
> Auckland Mail Centre, Private Bag 92019, Auckland 1142, New Zealand
> Ph: +64 (0)9 373 7599 x81928
>
>
>
> On 29/11/2011, at 1:42 AM, Evelthon Prodromou wrote:
>
>> Hello again,
>>
>> I am asking once more in case someone missed my last email. It will be 
>> really helpful if anyone can point me to the right direction.
>>
>> I did the following since my last email. I edited dstat.cfg and changed 
>> start.year to 2001 and start.month to 11. I then cleared  /[dspace]/reports 
>> and executed dspace stat-initial. Still the same problem.
>>
>>
>> Many thanks,
>>
>>
>> Evelthon
>>
>> On 11/19/2011 11:58 PM, Evelthon Prodromou wrote:
>>> Hello everyone,
>>>
>>> I am facing an issue with dspace 17.0 and monthly reports. We are moving
>>> collections from greenstone to dspace. The monthly reports worked fine
>>> up to 02/2011.  Seems like whenever a stat-* command is run it returns
>>> the error below.
>>> -
>>> Exception: ERROR: more than one row returned by a subquery used as an
>>> expression
>>> org.postgresql.util.PSQLException: ERROR: more than one row returned by
>>> a subquery used as an expression
>>> at
>>> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1531)
>>> at
>>> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1313)
>>> at
>>> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
>>> at
>>> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
>>> at
>>> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354)
>>> at
>>> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:258)
>>> at
>>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>>> at
>>> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
>>> at
>>> org.apache.commons.dbcp.DelegatingPrepared

Re: [Dspace-tech] How to clear all monthly reports and start from the beginning

2011-11-28 Thread Evelthon Prodromou
Hello again,

I am asking once more in case someone missed my last email. It will be
really helpful if anyone can point me to the right direction.

I did the following since my last email. I edited dstat.cfg and changed
start.year to 2001 and start.month to 11. I then cleared 
/[dspace]/reports and executed /dspace stat-initial/. Still the same
problem.


Many thanks,


Evelthon


On 11/19/2011 11:58 PM, Evelthon Prodromou wrote:
> Hello everyone,
>
> I am facing an issue with dspace 17.0 and monthly reports. We are moving
> collections from greenstone to dspace. The monthly reports worked fine
> up to 02/2011.  Seems like whenever a stat-* command is run it returns
> the error below.
> -
> Exception: ERROR: more than one row returned by a subquery used as an
> expression
> org.postgresql.util.PSQLException: ERROR: more than one row returned by
> a subquery used as an expression
> at
> org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1531)
> at
> org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1313)
> at
> org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354)
> at
> org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:258)
> at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> at
> org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
> at
> org.dspace.storage.rdbms.DatabaseManager.query(DatabaseManager.java:284)
> at
> org.dspace.storage.rdbms.DatabaseManager.querySingle(DatabaseManager.java:330)
> at
> org.dspace.app.statistics.LogAnalyser.getNumItems(LogAnalyser.java:1249)
> at
> org.dspace.app.statistics.LogAnalyser.processLogs(LogAnalyser.java:498)
> at
> org.dspace.app.statistics.CreateStatReport.statInitial(CreateStatReport.java:259)
> at
> org.dspace.app.statistics.CreateStatReport.main(CreateStatReport.java:129)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:183)
>
> -
>  Since we have not yet gone public on dspace, it is of no problem to
> just clear everything out and start our monthly reports from scratch.
> Any pointers on how can that be accomplished?
>
> Thanks
>
>
>
> --
> All the data continuously generated in your IT infrastructure 
> contains a definitive record of customers, application performance, 
> security threats, fraudulent activity, and more. Splunk takes this 
> data and makes sense of it. IT sense. And common sense.
> http://p.sf.net/sfu/splunk-novd2d
>
>
> ___
> DSpace-tech mailing list
> DSpace-tech@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dspace-tech

<>--
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech


[Dspace-tech] How to clear all monthly reports and start from the beginning

2011-11-19 Thread Evelthon Prodromou
Hello everyone,

I am facing an issue with dspace 17.0 and monthly reports. We are moving
collections from greenstone to dspace. The monthly reports worked fine
up to 02/2011.  Seems like whenever a stat-* command is run it returns
the error below.
-
Exception: ERROR: more than one row returned by a subquery used as an
expression
org.postgresql.util.PSQLException: ERROR: more than one row returned by
a subquery used as an expression
at
org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1531)
at
org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1313)
at
org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:452)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:354)
at
org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:258)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at
org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96)
at
org.dspace.storage.rdbms.DatabaseManager.query(DatabaseManager.java:284)
at
org.dspace.storage.rdbms.DatabaseManager.querySingle(DatabaseManager.java:330)
at
org.dspace.app.statistics.LogAnalyser.getNumItems(LogAnalyser.java:1249)
at
org.dspace.app.statistics.LogAnalyser.processLogs(LogAnalyser.java:498)
at
org.dspace.app.statistics.CreateStatReport.statInitial(CreateStatReport.java:259)
at
org.dspace.app.statistics.CreateStatReport.main(CreateStatReport.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at
org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:183)

-
 Since we have not yet gone public on dspace, it is of no problem to
just clear everything out and start our monthly reports from scratch.
Any pointers on how can that be accomplished?

Thanks

-- 
Evelthon Prodromou
 

<>--
All the data continuously generated in your IT infrastructure 
contains a definitive record of customers, application performance, 
security threats, fraudulent activity, and more. Splunk takes this 
data and makes sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-novd2d___
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech