Recherche avancée

Médias (2)

Mot : - Tags -/map

Autres articles (95)

  • Multilang : améliorer l’interface pour les blocs multilingues

    18 février 2011, par

    Multilang est un plugin supplémentaire qui n’est pas activé par défaut lors de l’initialisation de MediaSPIP.
    Après son activation, une préconfiguration est mise en place automatiquement par MediaSPIP init permettant à la nouvelle fonctionnalité d’être automatiquement opérationnelle. Il n’est donc pas obligatoire de passer par une étape de configuration pour cela.

  • Gestion des droits de création et d’édition des objets

    8 février 2011, par

    Par défaut, beaucoup de fonctionnalités sont limitées aux administrateurs mais restent configurables indépendamment pour modifier leur statut minimal d’utilisation notamment : la rédaction de contenus sur le site modifiables dans la gestion des templates de formulaires ; l’ajout de notes aux articles ; l’ajout de légendes et d’annotations sur les images ;

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (6719)

  • Parse dynamic mpd file with Media Source Extensions

    17 février 2023, par FrankC

    I just started learning about adaptive streaming, and currently I'm working on a project that needs showing a live video. In order to control some of the elements in mpd file, I determined to use MSE instead of dash.js. I refer to the code at the following URL :https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/samples/dn551368(v=vs.85)
But I found out that there is no "Initialization" tag or "range" attribute in my mpd file. I don't find any relative attribute as well. By the way I'm use nginx-rtmp + ffmpeg to generate dash file.
So here is my dash file looks like

    


    &lt;?xml version="1.0"?>&#xA; &#xA;  <period start="PT0S">&#xA;    &#xA;      &#xA;        &#xA;          <segmenttimeline>&#xA;             <s t="0" d="10000"></s>&#xA;             <s t="10000" d="10000"></s>&#xA;             <s t="20000" d="5000"></s>&#xA;             <s t="25000" d="10000"></s>&#xA;          </segmenttimeline>&#xA;        &#xA;      &#xA;    &#xA;  </period>&#xA;&#xA;

    &#xA;

    My question is :&#xA;1.Did I have any missing parameters in using ffmpeg or nginx-rtmp resulting in losting tag in mpd file ?&#xA;2.Or there is other way to setup "Initialization"/"range" attribute and let my program work ?&#xA;3.I also curious about why my mpd file doesn't have a baseURL element ?

    &#xA;

    ※My mpd file works fine with dash.js, I can see the video properly

    &#xA;

    THANKS A LOT

    &#xA;

  • online free media hosting for live streaming

    30 novembre 2013, par Abdul Ali

    wanted to ask two things :

    1- How can we put the output of FFMPEG to a stream (online address to put the stream).

    2- Is there any free service (for testing purpose) to use FFMPEG and pass the output to it for live streaming .

    apologies if am unable to explain properly what is intended.

    to summarize, wish to convert images to video using FFMPEG (have tried the image to video conversion locally and seems to be working) and put the output to an online resource for live streaming and possibly also have VOD (so users who later logon can view at least from some point behind which they have missed).

    regards,

  • How to save media files to Heroku local storage with Django ?

    25 juillet 2022, par Diyan Kalaydzhiev

    Im having a Django REST app with React for client. Im recording a file with React and sending in to Django. When i save it i modify it with ffmpeg and save it again in the same folder with a new name, the ffmpeg command looks like this :

    &#xA;

    os.system(f"ffmpeg -i {audio_path} -ac 1 -ar 16000 {target_path}")

    &#xA;

    Because i need a path for my audio both for opening and saving, i can't use cloud stores like "Bucket S3, Cloudinary etc.". And the fact that im using it only for a few seconds and then deleting it makes Heroku (the app is deployed there) the perfect place to save it non-persistent. The problem is that the file isn't getting saved in my library with media files. It saves in the postgre db but doesn't in my filesystem and when i try to access it my program returns that there isn't a file with that name. My question is How can i save media files in Heroku file system and how to access them ?

    &#xA;

    settings.py

    &#xA;

    MEDIA_ROOT = os.path.join(BASE_DIR,&#x27;EmotionTalk/AI_emotion_recognizer/recordings&#x27;)&#xA;MEDIA_URL = &#x27;/&#x27;&#xA;

    &#xA;

    urls.py

    &#xA;

    urlpatterns = [&#xA;path(&#x27;admin/&#x27;, admin.site.urls),&#xA;path(&#x27;&#x27;, include(&#x27;EmotionTalk.emotion_talk_app.urls&#x27;)),&#xA;path(&#x27;auth/&#x27;, include(&#x27;EmotionTalk.auth_app.urls&#x27;)),&#xA;path(&#x27;api-token-auth/&#x27;, views.obtain_auth_token),&#xA;] &#x2B; static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) \&#xA;&#x2B; static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)&#xA;

    &#xA;

    views.py

    &#xA;

        def post(self, request):&#xA;    file_serializer = RecordingSerializer(data=request.data)&#xA;&#xA;    if file_serializer.is_valid():&#xA;        file_serializer.save()&#xA;&#xA;        file_name = file_serializer.data.get(&#x27;recording&#x27;)&#xA;        owner_id = file_serializer.data.get(&#x27;owner_id&#x27;)&#xA;&#xA;        current_emotions_count = len(Profile.objects.get(user_id=owner_id).last_emotions)&#xA;&#xA;        print(file_name)&#xA;        recognize_emotion.delay(file_name, owner_id)&#xA;&#xA;        return Response({&#xA;            &#x27;data&#x27;: file_serializer.data,&#xA;            &#x27;current_emotions_count&#x27;: current_emotions_count&#xA;        }, status=status.HTTP_201_CREATED)&#xA;&#xA;    return Response(file_serializer.errors, status=status.HTTP_400_BAD_REQUEST)&#xA;

    &#xA;

    tasks.py

    &#xA;

    def parse_arguments(filename):&#xA;import argparse&#xA;parser = argparse.ArgumentParser()&#xA;&#xA;new_filename = filename.lstrip(&#x27;v&#x27;)&#xA;&#xA;parser.add_argument("audio_path")&#xA;parser.add_argument("target_path")&#xA;&#xA;args = parser.parse_args([f&#x27;EmotionTalk/AI_emotion_recognizer/recordings/{filename}&#x27;,&#xA;                          f&#x27;EmotionTalk/AI_emotion_recognizer/recordings/{new_filename}&#x27;])&#xA;audio_path = args.audio_path&#xA;target_path = args.target_path&#xA;&#xA;if os.path.isfile(audio_path) and audio_path.endswith(".wav"):&#xA;    if not target_path.endswith(".wav"):&#xA;        target_path &#x2B;= ".wav"&#xA;    convert_audio(audio_path, target_path)&#xA;    return target_path&#xA;else:&#xA;    raise TypeError("The audio_path file you specified isn&#x27;t appropriate for this operation")&#xA;

    &#xA;

    parse_arguments is called from recognize_emotion

    &#xA;