Recherche avancée

Médias (91)

Autres articles (35)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • Encodage et transformation en formats lisibles sur Internet

    10 avril 2011

    MediaSPIP transforme et ré-encode les documents mis en ligne afin de les rendre lisibles sur Internet et automatiquement utilisables sans intervention du créateur de contenu.
    Les vidéos sont automatiquement encodées dans les formats supportés par HTML5 : MP4, Ogv et WebM. La version "MP4" est également utilisée pour le lecteur flash de secours nécessaire aux anciens navigateurs.
    Les documents audios sont également ré-encodés dans les deux formats utilisables par HTML5 :MP3 et Ogg. La version "MP3" (...)

  • Les thèmes de MediaSpip

    4 juin 2013

    3 thèmes sont proposés à l’origine par MédiaSPIP. L’utilisateur MédiaSPIP peut rajouter des thèmes selon ses besoins.
    Thèmes MediaSPIP
    3 thèmes ont été développés au départ pour MediaSPIP : * SPIPeo : thème par défaut de MédiaSPIP. Il met en avant la présentation du site et les documents média les plus récents ( le type de tri peut être modifié - titre, popularité, date) . * Arscenic : il s’agit du thème utilisé sur le site officiel du projet, constitué notamment d’un bandeau rouge en début de page. La structure (...)

Sur d’autres sites (4027)

  • Piped FFMPEG won't write frames correctly

    12 novembre 2014, par user3180253

    I am using Python’s Image module to load JPEGs and modify them. After I have a modified image, I want to load that image in to a video, using more modified images as frames in my video.

    I have 3 programs written to do this :
    ImEdit (My image editing module that I wrote)
    VideoWriter (writes to an mp4 file using FFMPEG) and
    VideoMaker (The file I’m using to do everything)

    My VideoWriter looks like this...

    import subprocess as sp
    import os
    import Image
    FFMPEG_BIN = "ffmpeg"

    class VideoWriter():
      def __init__(self,xsize=480,ysize=360,FPS=29,
               outDir=None,outFile=None):

      if outDir is None:
         print("No specified output directory. Using default.")
         outDir = "./VideoOut"
      if outFile is None:
         print("No specified output file. Setting temporary.")
         outFile = "temp.mp4"
      if (outDir and outFile) is True:
         if os.path.exists(outDir+outFile):
            print("File path",outDir+outFile, "already exists:",
                  "change output filename or",
                  "overwriting will occur.")
      self.outDir = outDir
      self.outFile = outFile
      self.xsize,self.ysize,self.FPS = xsize,ysize,FPS

      self.buildWriter()

    def setOutFile(self,fileName):
      self.outFile = filename

    def setOutDir(self,dirName):
      self.outDir = dirName

    def buildWriter(self):
      commandWriter = [FFMPEG_BIN,
                       '-y',
                       '-f', 'rawvideo',
                       '-vcodec','mjpeg',
                       '-s', '480x360',#.format(480,
                       '-i', '-',
                       '-an', #No audio
                       '-r', str(29),
                       './{}//{}'.format(self.outDir,self.outFile)]
      self.pW = sp.Popen(commandWriter,
                         stdin = sp.PIPE)

    def writeFrame(self,ImEditObj):
      stringData = ImEditObj.getIm().tostring()
      im = Image.fromstring("RGB",(309,424),stringData)
      im.save(self.pW.stdin, "JPEG")
      self.pW.stdin.flush()

    def finish(self):
      self.pW.communicate()
      self.pW.stdin.close()

    ImEditObj.getIm() returns an instance of a Python Image object

    This code works to the extent that I can load one frame in to the video and no matter how many more calls to writeFrame that I do, the video only every ends up being one frame long. I have other code that works as far as making a video out of single frames and that code is nearly identical to this code. I don’t know what difference there is though that makes this code not work as intended where the other code does work.

    My question is...
    How can I modify my VideoWriter class so that I can pass in an instance of an Python’s Image object and write that frame to an output file ? I also would like to be able to write more than one frame to the video.

    I’ve spent 5 hours or more trying to debug this, having not found anything helpful on the internet, so if I missed any StackOverflow questions that would point me in the right direction, those would be appreciated...

    EDIT :
    After a bit more debugging, the issue may have been that I was trying to write to a file that already existed, however, this doesn’t make much sense with the -y flag in my commandWriter. the -y flag should overwrite any file that already exists. Any thoughts on that ?

  • html5 video client side optimization

    3 décembre 2014, par Withfriendship Hiox

    I am using flowplayer and doing video quality selection as in the following page :

    Flowplayer quality selection

    User choose a quality and plays the video like 160p, 260p, 530p etc depending on their Internet speed to load the video quickly. However in the server side I have to encode the original video using Ffmpeg into each of these resolutions and store them.

    So it doing like video_1234_low.mp4, video_1234_mid.mp4, video_1234_high.mp4, etc. and switch the source to that video depending on which the user selects. This consumes a lot of drive space for large videos.

    Is there any possibility to load the video quickly without storing these files. Dynamic conversion on demand is difficult because it takes time. I wonder is there any client side trick to reduce the download size and play low quality video.

  • ffmpeg rtmp and local file output

    19 mai 2016, par user3922282

    I’m new in stackoverflow =)
    I have a trouble with ffmpeg
    I receive a rtsp stream from a grabbing device (camera) and I stream-out it to rtmp (Youtube Live)
    I want to have a copy of the stream in my computer so I write at the same time in a local file

    I use this command :

    ffmpeg -y -i ’RTSP_SOURCE’ -c:v copy -c:a libvo_aacenc -map 0:v -bsf:v
    dump_extra -fflags +genpts -flags +global_header -movflags +faststart
    -map_metadata 0 -metadata title= -f tee -filter_complex aevalsrc=0 ’[f=mp4]/tmp/backup.mp4|[f=mpegts]/tmp/backup.ts|[f=flv]rtmp ://a.rtmp.youtube.com/live2/STREAM_ID’

    The problem is when I have some disconnections, ffmpeg exits and stop to recording
    Is there any flag or option for telling to ffmpeg to continue recording in local files even there is not internet ?

    Thank you very much for your help =)