Recherche avancée

Médias (0)

Mot : - Tags -/utilisateurs

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (85)

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • 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.

  • MediaSPIP version 0.1 Beta

    16 avril 2011, par

    MediaSPIP 0.1 beta est la première version de MediaSPIP décrétée comme "utilisable".
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Pour avoir une installation fonctionnelle, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (16239)

  • How to play ffmpeg dash ?

    30 janvier 2024, par Roshan Ojha

    I have following code to create chunk of video.

    


    permission_classes=[AllowAny]
video_serializer = serializers.video_serializer

def process_video(self, video_path, video_id):
    # Set the path where the processed videos will be saved
    output_dir = os.path.join(settings.MEDIA_ROOT, 'processed_videos')

     # Create the output directory if it doesn't exist
    os.makedirs(output_dir, exist_ok=True)

    # Add your ffmpeg_streaming code here to process the video
    full_video_path =  os.path.join(settings.MEDIA_ROOT, str(video_path))
    print(video_path)
    video = ffmpeg_streaming.input(full_video_path)
    print(video)

      # Add your ffmpeg_streaming code here to process the video
    _144p  = Representation(Size(256, 144), Bitrate(95 * 1024, 64 * 1024))
    _240p  = Representation(Size(426, 240), Bitrate(150 * 1024, 94 * 1024))
    _360p  = Representation(Size(640, 360), Bitrate(276 * 1024, 128 * 1024))
    _480p  = Representation(Size(854, 480), Bitrate(750 * 1024, 192 * 1024))
    _720p  = Representation(Size(1280, 720), Bitrate(2048 * 1024, 320 * 1024))

    dash = video.dash(Formats.h264())
    dash.representations(_144p, _240p, _360p, _480p, _720p)
    dash.output(os.path.join(output_dir, f'dash-stream-{video_id}.mpd'))


def post(self,request):
    try:
        video_data = self.video_serializer(data=request.data)
        video_data.is_valid(raise_exception=True)
        data = video_data.validated_data

        video_instance = Video.objects.create(
            id = data.get('id'),
            saved_location = data.get('video')
        )
        video_instance.save()

        self.process_video(video_instance.saved_location, video_instance.id)
        return Response({"success":True})
    except Exception as e:
        return Response({"success":False,"message":str(e)})


    


    This code is working well as it has created different chunk files as well as a .mpd file of a video inside media/processed_video folder.

    


    Then I wrote following code to stream that video using that .mpd folder.

    


        def get (self,request,video_id):
    try:
        mpd_path = os.path.join(settings.MEDIA_ROOT, 'processed_videos', f'dash-stream-{video_id}.mpd')
        
        with open(mpd_path, 'rb') as f:
            mpd_content = f.read()
            response = HttpResponse(mpd_content, content_type='application/dash+xml')

            # Set Content-Disposition header to make the response downloadable
            response['Content-Disposition'] = f'attachment; filename="dash-stream-{video_id}.mpd"'
            
            # Optionally set Content-Length header to specify the size of the file
            response['Content-Length'] = len(mpd_content)
            
            return response
        
    except Exception as e:
        return Response({"success":False,"message":str(e)})


    


    When I make get request to the api it returns content of .mpd as it is (i.e xml). When I used that api in vlc network stream, vlc couldn't play the video. But when I dragged .mpd file directly to vlc, the video gets played with 144p only. I don't know where I got wrong in GET. Please help.

    


  • MPEG-DASH MPD file not playing correctly

    24 juin 2017, par CMOS

    So I am working on generating a very simple MPD manifest file for my MPEG-DASH videos and I cannot figure out what is wrong. Here is my current manifest file

    <?xml version="1.0" ?>
    <mpd xmlns="urn:mpeg:dash:schema:mpd:2011" minbuffertime="PT1.500S" type="static" mediapresentationduration="PT0H9M21.795S" maxsegmentduration="PT0H0M1.001S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011">
       <period>
           <baseurl>https://mysite/uploads/sources/resolution_640/bitrate_1400/</baseurl>
           <adaptationset mimetype="video/mp4">
               <contentcomponent contenttype="video"></contentcomponent>
               <representation bandwidth="1400000">
                 <segmentlist duration="119">
                   <initialization sourceurl="https://mysite/uploads/sources/resolution_640/bitrate_1400/640x360_1400Kpbs_0.mp4"></initialization>
                   <segmenturl media="https://mysite/uploads/sources/resolution_640/bitrate_1400/640x360_1400Kpbs_1.mp4"></segmenturl>
                   <segmenturl media="https://mysite/uploads/sources/resolution_640/bitrate_1400/640x360_1400Kpbs_2.mp4"></segmenturl>
                   <segmenturl media="https://mysite/uploads/sources/resolution_640/bitrate_1400/640x360_1400Kpbs_3.mp4"></segmenturl>
                 </segmentlist>
               </representation>
           </adaptationset>
       </period>
    </mpd>

    This MPD file validates using every validator I can find. The urls for the segments are obscured for security reasons but they are all open, public and viewable individually. But when I try to run the manifest file, depending on the player I get. "No supported source found within manifest" or simply nothing happens.

    Any idea how this could be wrong ? I am currently using media url’s as absolute paths but I have also tried paths relative to the BaseURL with no luck. Any info on how I can make a very simple MPEG-Dash manifest structure would be great. I am using FFMPEG to split my video up into 150 frame segments. Thanks !

  • fate/vpx : Move webm-dash-manifest tests to a new file

    28 avril 2022, par Andreas Rheinhardt
    fate/vpx : Move webm-dash-manifest tests to a new file
    

    These tests have basically nothing to do with VPX (they do not even
    require the decoder).

    Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@outlook.com>

    • [DH] tests/Makefile
    • [DH] tests/fate/vpx.mak
    • [DH] tests/fate/webm-dash-manifest.mak