Recherche avancée

Médias (3)

Mot : - Tags -/image

Autres articles (67)

  • Ajouter des informations spécifiques aux utilisateurs et autres modifications de comportement liées aux auteurs

    12 avril 2011, par

    La manière la plus simple d’ajouter des informations aux auteurs est d’installer le plugin Inscription3. Il permet également de modifier certains comportements liés aux utilisateurs (référez-vous à sa documentation pour plus d’informations).
    Il est également possible d’ajouter des champs aux auteurs en installant les plugins champs extras 2 et Interface pour champs extras.

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

Sur d’autres sites (9420)

  • Alfresco fails to create video thumbnail

    17 octobre 2019, par Deckard

    As error log says : Empty input file ... It turned out that the source image for ImageMagick is zero sized. (/data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_source_8718262212685093199.jpg). When I manually replace the source image to normal image and execute the command again, there’s no error.

    command:    /data/was/alfresco/common/bin/convert /data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_source_8718262212685093199.jpg[0] -auto-orient -resize "100x100>" -strip -quiet /data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_target_7652060684136589026.png

    So I think the source image is maybe made by FFMPEG by capturing some frame of the video.
    And the FFMPEG somehow failed to do it. Not sure my guess is right...

    But my FFMPEG works good as ffmpeg -version shows proper version info. And FFMPEG is run by root and the Alfresco daemon instance is run by root. It seems that there’s nothing wrong.

    Please review it. Here’s the whole Alfresco-share log :

    Caused by: org.alfresco.service.cmr.repository.ContentIOException: 09160037 Content conversion failed:
      reader: ContentAccessor[ contentUrl=store:///data/was/alfresco/tomcat/temp/Alfresco/ComplextTransformer_intermediate_mp4_262176879279399174.jpg, mimetype=image/jpeg, size=0, encoding=UTF-8, locale=en_US]
      writer: ContentAccessor[ contentUrl=store:///data/was/alfresco/tomcat/temp/Alfresco/FailoverTransformer_intermediate_ComplexContentTransformer_5223852355212570043.png, mimetype=image/png, size=0, encoding=UTF-8, locale=en_US]
      options: {use=doclib, contentReaderNodeRef=null, contentWriterNodeRef=null, sourceContentProperty=null, imageAutoOrient=true, targetContentProperty=null, commandOptions=, imageResizeOptions=ImageResizeOptions [width=100, height=100, maintainAspectRatio=true, percentResize=false, resizeToThumbnail=false, allowEnlargement=false], includeEmbedded=null}
      limits: {timeoutMs=120000, pageLimit=1}
           at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:350)
           at org.alfresco.repo.content.transform.ComplexContentTransformer.transformInternal(ComplexContentTransformer.java:492)
           at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:272)
           ... 32 more
    Caused by: org.alfresco.service.cmr.repository.ContentIOException: 09160036 Failed to perform ImageMagick transformation:
    Execution result:
      os:         Linux
      command:    /data/was/alfresco/common/bin/convert /data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_source_8718262212685093199.jpg[0] -auto-orient -resize "100x100>" -strip -quiet /data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_target_7652060684136589026.png
      succeeded:  false
      exit code:  1
      out:
      err:        .convert.bin: Empty input file `/data/was/alfresco/tomcat/temp/Alfresco/ImageMagickContentTransformerWorker_source_8718262212685093199.jpg' @ error/jpeg.c/JPEGErrorHandler/331.
    .convert.bin: NoImageForProperty "%w" @ warning/property
           at org.alfresco.repo.content.transform.magick.ImageMagickContentTransformerWorker.transformInternal(ImageMagickContentTransformerWorker.java:205)
           at org.alfresco.repo.content.transform.magick.AbstractImageMagickContentTransformerWorker.transform(AbstractImageMagickContentTransformerWorker.java:284)
           at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
           at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
           at java.lang.reflect.Method.invoke(Method.java:498)
           at org.alfresco.repo.management.subsystems.SubsystemProxyFactory$1.invoke(SubsystemProxyFactory.java:79)
           at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
           at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
           at com.sun.proxy.$Proxy28.transform(Unknown Source)
           at org.alfresco.repo.content.transform.ProxyContentTransformer.transformInternal(ProxyContentTransformer.java:107)
           at org.alfresco.repo.content.transform.AbstractContentTransformer2.transform(AbstractContentTransformer2.java:272)
           ... 34 more

    In alfresco-global.properties : ffmpeg.exe=/usr/local/bin/ffmpeg/ffmpeg

    * Update As Robert suggested, TransFormer log level changed to debug.
    But the log is too long to paste here. There’s 30,000 characters limit of body in SO which github doesn’t have.
    So please refer to github issue, I pasted the log there.
    https://github.com/Alfresco/share/issues/127

  • 5 Key Benefits of Using a Tag Manager

    12 décembre 2021, par erin — Analytics Tips, Marketing

    Websites today have become very complex to manage, and as you continue to look for ways to optimise your website, you’ll want to consider using a Tag Manager

    A Tag Manager will help your marketing team seamlessly track how your visitors are engaging with your website’s elements. Without a Tag Manager, you are missing out on business-altering insights.

    In this blog, we’ll cover :

    Tag Manager overview 

    A Tag Manager (AKA Tag Management System or TMS) is a centralised system for implementing, managing and tracking events. A tag is just another word for a piece of code on a website that tracks a specific event. 

    An example of a tag tracking code might be Facebook pixels, ad conversions and other website activities such as signing up to a newsletter or PDF download. 

    Triggers are the actual actions that website visitors take that activate the tag. Examples of triggers are things like : 

    • A thank you page view to show that a visitor has completed a conversion action
    • Clicking a download or sign up button 
    • Scroll depth or how far down users are scrolling on your webpage 

    Each of these will give you insights into how your website is performing and how your users are engaging with your content. Going back to the scroll depth trigger example, this would be particularly helpful for validating bounce rate and finding out where users are dropping off on a page. Discover other ways to take advantage of tags and event tracking

    Tag Manager

    5 key benefits of a Tag Manager

    1. Removes the risks of website downtime 

    Tags are powerful for in-depth web analytics. However, tagging opens up the potential for non-technical team members to break the front-end of your website in a couple of clicks. 

    A Tag Manager reduces that risk. For example, Matomo Tag Manager lets you preview tags to see if they are firing before pushing them live. You can also give specific users restricted access so you can approve any tagging before it goes live. 

    Tag Managers protect the functionality of your website and ensure that there is no downtime.

    2. Your website will load faster 

    When it comes to the success of your website, page speed is one of the most important factors. 

    Each time you add a tag to your site, you run the risk of slowing down the page speed. This can quickly build up to a poor performing site and frustrate your visitors.

    You can’t track tags if visitors won’t even stay long enough for your site to load. In fact, 1 in 4 visitors would abandon a website that takes more than 4 seconds to load. According to Deloitte, just a 0.1 second difference in loading speed can affect every step of your customer journey. 

    A Tag Manager, on the other hand, is a lightweight option only requiring one single tag. Using a Tag Manager to track events can make all the difference to your website’s performance and user experience.

    3. Greater efficiency for marketing

    Time is critical in marketing. The longer it takes for a campaign to launch, the greater the chances are that you’re missing out on sales opportunities.

    Waiting for the IT team to tag a thank you page before setting an ad live is inefficient and impacts your bottom line.

    Equipping marketing with a Tag Manager means that they’ll be able to launch campaigns faster and more effectively.

    Check out our Marketer’s Guide to Successful Website Event Tracking for more.

    4. Control all of your tracking and marketing tags in one place 

    Keeping track of what tags are on your site and where they’re located is a complicated task if you aren’t using a Tag Manager. Unmanaged tags can quickly pile up and result in errors with your analytics, like counting conversions twice. 

    Using a Tag Manager to centralise your tags in one easy to manage place reduces the chances of human errors. Instead, your team will be able to quickly see what tags are already in place so they aren’t doubling up on tracking.

    5. Reduce work for the IT team 

    Let’s face it, the IT team has more critical tasks at hand than adding tags to the website. Freeing up your IT team to focus on higher priority tasks should always be a goal.

    Tagging, while crucial for marketing, has the potential to create a lot of extra work for your website developers. Inserting code for each individual tag is time-consuming and means you aren’t collecting data in the meantime.

    Rather than overloading your IT team, empower your marketing team with the ability to add tags with a few clicks. 

    How to choose a Tag Management System

    There are many tools to choose from and the default option tends to be Google Tag Manager (GTM). But before you implement GTM or any other Tag Management Solution, we highly recommend asking these questions :

    1. What are my goals for a Tag Manager ? Before purchasing a Tag Manager, or any tool for that matter, understanding your goals upfront is best practice.
    2. Does the solution offer Tag Manager training resources ? If online Tag Manager training and educational resources are available for the tool, then you’ll be able to hit the ground running and start to see an ROI instantly.
    3. Can I get online support ? In case you need any help with the tool, having access to online support is a big bonus. 
    4. Is it compliant with privacy regulations ? If your business is already compliant, in the process of becoming compliant or future-proofing your tech stack for looming privacy regulations, then researching this is crucial. 
    5. How much does it cost ? If it’s “free”, find out how and why. In most cases, free solutions are just vehicles for collecting data to advertise to your users. 
    6. What do others think about the Tag Manager ? Check out reviews on sites like Capterra or G2 to find out how other businesses rate the tool. 

    Google Tag Manager alternative

    As privacy becomes a greater concern globally for end-users and governments, many businesses are looking for alternatives to the world’s largest advertising company – Google.

    Matomo Tag Manager is more than a Google Tag Manager alternative. With Matomo Tag Manager, you get a GDPR, HIPAA, CCPA and PECR compliant, open source Tag Manager and your data is 100% yours to own.

    Plus, with Matomo Tag Manager you only need one single tracking code for all of your website and tag analytics. No matter what you are tracking (scrolls, clicks, downloads, Heatmaps, visits, etc.), you will only ever need one piece of code on your website and one tool to manage it all. 

    The takeaway 

    Tagging is powerful but can quickly become complicated, risky and time-consuming. Tag Managers reduce these obstacles allowing you to set tags and triggers effortlessly. It empowers marketing teams, streamlines processes and removes the reliance on IT.

    Ready to try Matomo Tag Manager ? Start your 21-day free trial now – no credit card required. 

  • Thread in Thread

    28 mai 2014, par user3679963

    My company is working for visual effects and we set up an internal shot playback via a browser for our clients. For that we need to upload the video file to a FTP server.

    I want to convert a image sequence to mp4 and upload this file directly after the rendering will finish.

    For that I use :

    • one command prompt to convert
    • one command prompt to get an `md5hash
    • one for uploading the file

    I already achieved that on my local computer, where I just chained os.system('command').

    After recognizing that the program freezes very long with longer image sequences I changed the script to spawn a thread using the os.system chain.
    But on the Render Farm Server this script does not actually work.

    The RenderFarm Server runs Python 2.5

    There are some code examples :

    class CopraUpload(threading.Thread):

       # initializing Thread
       # via super constructor
       def __init__(self):
           threading.Thread.__init__(self)


       # return the size of the
       # created mp4 file
       #
       # @return: the file size in byte
       def _getFileSize(self):


       # creates a random id for organising
       # the server upload used as flag
       #
       # @return: a hash
       def _getHash(self):
               self.fileLoc = str(self.outputfileName + '.mp4')
               self.fileLoc = os.path.normpath(self.fileLoc)
               return str(os.path.getsize(self.fileLoc))

       # integrates the "missing" data for the xml file
       # generated post render from the mp4 file
       def _setPreviewDataToXML(self):
           self.xmlFile = str(self.outputfileName + '_copraUpload.xml')
           self.xmlFile = os.path.normpath(self.xmlFile)

           ett = ET.parse(self.xmlFile)
           root = ett.getroot()
           for child in root.getiterator('preview_size'):
               child.text = self._getFileSize()
           for child in root.getiterator('preview_md5hash'):
               child.text = self._getHash()
           ett.write(self.xmlFile)


       # create a connection to a ftp server
       # and copies the mp4 file and the xml file
       # on the server
       def _uploadToCopra(self):

           os.system(self.uploadCommand)
           #process = Popen(self.uploadCommand)


       # the main function of the program
       # called via start from a Thread Object
       def run(self):

           # the command which will be send to the commando shell
           # for further adjustments see ffmpeg help with ffmpeg.exe -h
           FinalCommand = self.ffmpegLocation + " -r "+ self.framerate + " -i " + self.inputPath + " -an -strict experimental -s hd720 -vcodec libx264 -preset slow -profile:v baseline -level 31 -refs 1 -maxrate 6M -bufsize 10M -vb 6M -threads 0 -g 8 -r " + self.framerate + " " + self.outputfileName + ".mp4 -y"
           FinalCommandList = FinalCommand.split(" ")


           # calling the program
           print "Start ffmpeg convertion"

           outInfo = os.path.normpath("C:\\Users\\sarender\\Desktop\\stdoutFFMPEG.txt")
           outError = os.path.normpath("C:\\Users\\sarender\\Desktop\\stderrFFMPEG.txt")
           stdoutFile = open(outInfo,"w")
           stderrFile = open(outError,"w")

           handle = subp.check_all(FinalCommandList,stdout = stdoutFile,stderr = stderrFile)
           handle.communicate()
           stdoutFile.close()
           stderrFile.close()
           print "Convertion from ffmpeg done"

           # fill the xml file with the missing data
           # - preview file size
           # - preview md5hash
           self._setPreviewDataToXML()
           self._uploadToCopra()
           print "---------------------------------->FINISHED------------------------------------------------------>"


       # Creates a callable Thread for the Copra Upload.
       # start is calling the run method which will start the Uploading

    and the main start :

       if "$(RenderSet.writenode)" == "PREVIEW":
           print "---------------------------------->Initializing Script------------------------------------------------------>"
           process = CopraUpload()
           process.start()

    What happens :

    The script starts after the rendering and ffmpeg converts the image sequence and creates an mp4. But it stops after that. It does not print "Conversion from ffmpeg complet". Just stops the script.

    It actually should create the Thread converting with ffmpeg and wait until it finishes. After it should write some stuff in an xml file and upload both to the server.

    Do I miss something ? Is subprocess within a thread not the way to go ? But I need a Thread because I can not deadlock the render management server.