Re: [Dspace-tech] Help with Video Streaming using files stored on Dspace
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 tel:740-599-5005%20x809 On Wed, Jan 28, 2015 at 12:27 PM, Bruno Zanette brunonzane...@gmail.com 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 tel:%2B55%2041%209992-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
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:* dspace-tech@lists.sourceforge.net *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
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] Creating md5 sums for external links and lighttpd
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. attachment: prodromou_evelthon.vcf-- 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
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 prodromou.evelt...@ucy.ac.cy 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 xsl:template match=mets:file 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: xsl:value-of select=@CHECKSUM/ xsl:value-of select=exdate:date-time()/ 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 map:match pattern=bitstream/handle/*/*/** 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
Re: [Dspace-tech] Creating md5 sums for external links and lighttpd
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 prodromou.evelt...@ucy.ac.cy 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] How to clear all monthly reports and start from the beginning
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.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
Re: [Dspace-tech] How to clear all monthly reports and start from the beginning
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 attachment: prodromou_evelthon.vcf-- 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
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 attachment: prodromou_evelthon.vcf-- 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