Recherche avancée

Médias (1)

Mot : - Tags -/MediaSPIP 0.2

Autres articles (42)

  • Websites made ​​with MediaSPIP

    2 mai 2011, par

    This page lists some websites based on MediaSPIP.

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • 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

Sur d’autres sites (6646)

  • Cutting a live stream into separate mp4 files

    9 juin 2017, par Fearhunter

    I am doing a research for cutting a live stream in piece and save it as mp4 files. I am using this source for the proof of concept :

    https://docs.microsoft.com/en-us/azure/media-services/media-services-dotnet-creating-live-encoder-enabled-channel#download-sample

    And this is the example code I use :

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.IO;
    using System.Linq;
    using System.Net;
    using System.Security.Cryptography;
    using System.Text;
    using System.Threading.Tasks;
    using Microsoft.WindowsAzure.MediaServices.Client;
    using Newtonsoft.Json.Linq;

    namespace AMSLiveTest
    {
       class Program
       {
           private const string StreamingEndpointName = "streamingendpoint001";
           private const string ChannelName = "channel001";
           private const string AssetlName = "asset001";
           private const string ProgramlName = "program001";

           // Read values from the App.config file.
           private static readonly string _mediaServicesAccountName =
           ConfigurationManager.AppSettings["MediaServicesAccountName"];
           private static readonly string _mediaServicesAccountKey =
           ConfigurationManager.AppSettings["MediaServicesAccountKey"];

           // Field for service context.
           private static CloudMediaContext _context = null;
           private static MediaServicesCredentials _cachedCredentials = null;

           static void Main(string[] args)
           {
               // Create and cache the Media Services credentials in a static class variable.
               _cachedCredentials = new MediaServicesCredentials(
               _mediaServicesAccountName,
               _mediaServicesAccountKey);
               // Used the cached credentials to create CloudMediaContext.
               _context = new CloudMediaContext(_cachedCredentials);

               IChannel channel = CreateAndStartChannel();

               // Set the Live Encoder to point to the channel's input endpoint:
               string ingestUrl = channel.Input.Endpoints.FirstOrDefault().Url.ToString();

               // Use the previewEndpoint to preview and verify
               // that the input from the encoder is actually reaching the Channel.
               string previewEndpoint = channel.Preview.Endpoints.FirstOrDefault().Url.ToString();

               IProgram program = CreateAndStartProgram(channel);
               ILocator locator = CreateLocatorForAsset(program.Asset, program.ArchiveWindowLength);
               IStreamingEndpoint streamingEndpoint = CreateAndStartStreamingEndpoint();
               GetLocatorsInAllStreamingEndpoints(program.Asset);

               // Once you are done streaming, clean up your resources.
               Cleanup(streamingEndpoint, channel);
           }

           public static IChannel CreateAndStartChannel()
           {
               //If you want to change the Smooth fragments to HLS segment ratio, you would set the ChannelCreationOptions’s Output property.

               IChannel channel = _context.Channels.Create(
               new ChannelCreationOptions
               {
               Name = ChannelName,
               Input = CreateChannelInput(),
               Preview = CreateChannelPreview()
               });

               //Starting and stopping Channels can take some time to execute. To determine the state of operations after calling Start or Stop, query the IChannel.State .

               channel.Start();

               return channel;
           }

           private static ChannelInput CreateChannelInput()
           {
               return new ChannelInput
               {
                   StreamingProtocol = StreamingProtocol.RTMP,
                   AccessControl = new ChannelAccessControl
                   {
                       IPAllowList = new List<iprange>
                               {
                               new IPRange
                           {
                               Name = "TestChannelInput001",
                               // Setting 0.0.0.0 for Address and 0 for SubnetPrefixLength
                               // will allow access to IP addresses.
                               Address = IPAddress.Parse("0.0.0.0"),
                               SubnetPrefixLength = 0
                           }
                       }
                   }
               };
           }

           private static ChannelPreview CreateChannelPreview()
           {
               return new ChannelPreview
               {
                   AccessControl = new ChannelAccessControl
                   {
                       IPAllowList = new List<iprange>
                       {
                           new IPRange
                           {
                               Name = "TestChannelPreview001",
                               // Setting 0.0.0.0 for Address and 0 for SubnetPrefixLength
                               // will allow access to IP addresses.
                               Address = IPAddress.Parse("0.0.0.0"),
                               SubnetPrefixLength = 0
                           }
                       }
                   }
               };
           }

           public static void UpdateCrossSiteAccessPoliciesForChannel(IChannel channel)
           {
               var clientPolicy =
                   @"&lt;?xml version=""1.0"" encoding=""utf-8""?>
               
                   
                       <policy>
                           
                               <domain uri=""></domain>
                           
                           
                              <resource path=""></resource>"" include-subpaths=""true""/>
                           
                       </policy>
                   
               ";

               var xdomainPolicy =
                   @"&lt;?xml version=""1.0"" ?>
               
                   
               ";

               channel.CrossSiteAccessPolicies.ClientAccessPolicy = clientPolicy;
               channel.CrossSiteAccessPolicies.CrossDomainPolicy = xdomainPolicy;

               channel.Update();
           }

           public static IProgram CreateAndStartProgram(IChannel channel)
           {
               IAsset asset = _context.Assets.Create(AssetlName, AssetCreationOptions.None);

               // Create a Program on the Channel. You can have multiple Programs that overlap or are sequential;
               // however each Program must have a unique name within your Media Services account.
               IProgram program = channel.Programs.Create(ProgramlName, TimeSpan.FromHours(3), asset.Id);
               program.Start();

               return program;
           }

           public static ILocator CreateLocatorForAsset(IAsset asset, TimeSpan ArchiveWindowLength)
           {
               // You cannot create a streaming locator using an AccessPolicy that includes write or delete permissions.            

               var locator = _context.Locators.CreateLocator
                   (
                       LocatorType.OnDemandOrigin,
                       asset,
                       _context.AccessPolicies.Create
                       (
                           "Live Stream Policy",
                           ArchiveWindowLength,
                           AccessPermissions.Read
                       )
                   );

               return locator;
           }

           public static IStreamingEndpoint CreateAndStartStreamingEndpoint()
           {
               var options = new StreamingEndpointCreationOptions
               {
                   Name = StreamingEndpointName,
                   ScaleUnits = 1,
                   AccessControl = GetAccessControl(),
                   CacheControl = GetCacheControl()
               };

               IStreamingEndpoint streamingEndpoint = _context.StreamingEndpoints.Create(options);
               streamingEndpoint.Start();

               return streamingEndpoint;
           }

           private static StreamingEndpointAccessControl GetAccessControl()
           {
               return new StreamingEndpointAccessControl
               {
                   IPAllowList = new List<iprange>
                   {
                       new IPRange
                       {
                           Name = "Allow all",
                           Address = IPAddress.Parse("0.0.0.0"),
                           SubnetPrefixLength = 0
                       }
                   },

                   AkamaiSignatureHeaderAuthenticationKeyList = new List<akamaisignatureheaderauthenticationkey>
                   {
                       new AkamaiSignatureHeaderAuthenticationKey
                       {
                           Identifier = "My key",
                           Expiration = DateTime.UtcNow + TimeSpan.FromDays(365),
                           Base64Key = Convert.ToBase64String(GenerateRandomBytes(16))
                       }
                   }
               };
           }

           private static byte[] GenerateRandomBytes(int length)
           {
               var bytes = new byte[length];
               using (var rng = new RNGCryptoServiceProvider())
               {
                   rng.GetBytes(bytes);
               }

               return bytes;
           }

           private static StreamingEndpointCacheControl GetCacheControl()
           {
               return new StreamingEndpointCacheControl
               {
                   MaxAge = TimeSpan.FromSeconds(1000)
               };
           }

           public static void UpdateCrossSiteAccessPoliciesForStreamingEndpoint(IStreamingEndpoint streamingEndpoint)
           {
               var clientPolicy =
                   @"&lt;?xml version=""1.0"" encoding=""utf-8""?>
               
                   
                       <policy>
                           
                               <domain uri=""></domain>
                           
                           
                              <resource path=""></resource>"" include-subpaths=""true""/>
                           
                       </policy>
                   
               ";

               var xdomainPolicy =
                   @"&lt;?xml version=""1.0"" ?>
               
                   
               ";

               streamingEndpoint.CrossSiteAccessPolicies.ClientAccessPolicy = clientPolicy;
               streamingEndpoint.CrossSiteAccessPolicies.CrossDomainPolicy = xdomainPolicy;

               streamingEndpoint.Update();
           }

           public static void GetLocatorsInAllStreamingEndpoints(IAsset asset)
           {
               var locators = asset.Locators.Where(l => l.Type == LocatorType.OnDemandOrigin);
               var ismFile = asset.AssetFiles.AsEnumerable().FirstOrDefault(a => a.Name.EndsWith(".ism"));
               var template = new UriTemplate("{contentAccessComponent}/{ismFileName}/manifest");
               var urls = locators.SelectMany(l =>
                           _context
                               .StreamingEndpoints
                               .AsEnumerable()
                               .Where(se => se.State == StreamingEndpointState.Running)
                               .Select(
                                   se =>
                                       template.BindByPosition(new Uri("http://" + se.HostName),
                                       l.ContentAccessComponent,
                                           ismFile.Name)))
                           .ToArray();

           }

           public static void Cleanup(IStreamingEndpoint streamingEndpoint,
                                       IChannel channel)
           {
               if (streamingEndpoint != null)
               {
                   streamingEndpoint.Stop();
                   streamingEndpoint.Delete();
               }

               IAsset asset;
               if (channel != null)
               {

                   foreach (var program in channel.Programs)
                   {
                       asset = _context.Assets.Where(se => se.Id == program.AssetId)
                                               .FirstOrDefault();

                       program.Stop();
                       program.Delete();

                       if (asset != null)
                       {
                           foreach (var l in asset.Locators)
                               l.Delete();

                           asset.Delete();
                       }
                   }

                   channel.Stop();
                   channel.Delete();
               }
           }
       }
    }
    </akamaisignatureheaderauthenticationkey></iprange></iprange></iprange>

    Now I want to make a method to cut a live stream for example every 15 minutes and save it as mp4 but don’t know where to start.

    Can someone point me in the right direction ?

    Kind regards

    UPDATE :

    I want to save the mp4 files on my hard disk.

  • Improve ffmpeg CPU usage by compromising quality

    29 septembre 2016, par Hardik Juneja

    I am using FFMpeg for screen capturing.
    I am looking for a screen capturing tool that will run on 1000 of VMs (windows and mac).The VMs have limited CPU (1 core) and 2GB ram and No GPU.

    Currently I invoke ffmpeg with

    ffmpeg  -y -framerate 8 -f dshow -f gdigrab -i "desktop"  -c:v libx264  -crf 0 -preset ultrafast -threads 0 temp.mkv

    I am using gdigrab to capture screen ? Is there any better options that might reduce cpu usage ? or changing the encoder or format ?

    I am aiming for 4-5% reduction in CPU usage.

    Thanks in advance

  • Anomalie #3018 (Résolu) : Gestion des plugins inutilisable avec PostgreSQL

    28 juin 2013, par Clo Castello

    Installation toute propre SPIP 3.0.10 (20600) avec PostGreSQL 8.4.
    Page : ecrire/ ?exec=admin_plugin
    Erreur SQL rencontrée :

    Erreur SQL 1000
    errcode : 1000 : invalid input syntax for integer : "" at character 191
    SELECT pa.id_paquet, pl.prefixe, pa.version, pa.etatnum, pa.obsolete FROM spip_paquets AS pa, spip_plugins AS pl WHERE pa.id_plugin = pl.id_plugin AND id_depot=’0’ AND ((pl.id_plugin IN (’’))) GROUP BY pa.id_paquet,pl.prefixe,pa.version,pa.etatnum,pa.obsolete
    


    Effectivement spip_paquets (id_plugin) est un bigint

    Affichage de la page :

    Warning : array_keys() expects parameter 1 to be array, null given in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 871 Warning : join() : Invalid arguments passed in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 871 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : strpos() : Empty delimiter in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 1033 Warning : pg_query() : Query failed : ERROR : syntax error at or near "," at character 356 in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 168 Warning : pg_query() : Query failed : ERROR : invalid input syntax for integer : "" at character 191 in /home/sites/positel-map.com/website/ecrire/req/pg.php on line 168