
Recherche avancée
Médias (1)
-
La conservation du net art au musée. Les stratégies à l’œuvre
26 mai 2011
Mis à jour : Juillet 2013
Langue : français
Type : Texte
Autres articles (45)
-
Automated installation script of MediaSPIP
25 avril 2011, parTo overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
The documentation of the use of this installation script is available here.
The code of this (...) -
Other interesting software
13 avril 2011, parWe don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
We don’t know them, we didn’t try them, but you can take a peek.
Videopress
Website : http://videopress.com/
License : GNU/GPL v2
Source code : (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;
Sur d’autres sites (7170)
-
How to play ffmpeg dash ?
30 janvier 2024, par Roshan OjhaI 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 insidemedia/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 invlc 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 inGET
. Please help.

-
MPEG-DASH MPD file not playing correctly
24 juin 2017, par CMOSSo 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