Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (59)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains 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 ;

  • Emballe médias : à quoi cela sert ?

    4 février 2011, par

    Ce plugin vise à gérer des sites de mise en ligne de documents de tous types.
    Il crée des "médias", à savoir : un "média" est un article au sens SPIP créé automatiquement lors du téléversement d’un document qu’il soit audio, vidéo, image ou textuel ; un seul document ne peut être lié à un article dit "média" ;

Sur d’autres sites (9322)

  • C# server problem with FFmpeg Visual Studio 2022

    16 mai 2024, par seanofdead

    Hello everyone I've spent countless hours on my server I'm trying to create that will share video from one stream to another client computer. That is the goal anyway. I'm using Visual Studio 2022 most recent update. Currently this is my code

    


    using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Threading.Tasks;
using FFmpeg.AutoGen;
using NLog;

public class VideoStreamServer
{
    private const int Port = 5000;
    private TcpListener server;
    private FFmpegVideoEncoder encoder;
    private static readonly Logger logger = LogManager.GetCurrentClassLogger();

    public VideoStreamServer()
    {
        // Initialize FFmpeg network components
        Console.WriteLine("Initializing FFmpeg network components...");
        int result = ffmpeg.avformat_network_init();
        if (result != 0)
        {
            throw new ApplicationException($"Failed to initialize FFmpeg network components: {result}");
        }

        // Initialize encoder
        encoder = new FFmpegVideoEncoder(1920, 1080, AVCodecID.AV_CODEC_ID_H264); // Screen size & codec
    }

    public static void Main()
    {
        // Initialize NLog
        var logger = LogManager.GetCurrentClassLogger();
        logger.Info("Application started");

        var server = new VideoStreamServer();
        server.Start().Wait();
    }

    public async Task Start()
    {
        server = new TcpListener(IPAddress.Any, Port);
        server.Start();
        logger.Info($"Server started on port {Port}...");

        try
        {
            while (true)
            {
                TcpClient client = await server.AcceptTcpClientAsync();
                logger.Info("Client connected...");
                _ = HandleClientAsync(client);
            }
        }
        catch (Exception ex)
        {
            logger.Error(ex, "An error occurred");
        }
    }

    private async Task HandleClientAsync(TcpClient client)
    {
        using (client)
        using (NetworkStream netStream = client.GetStream())
        {
            try
            {
                await encoder.StreamEncodedVideoAsync(netStream);
            }
            catch (IOException ex)
            {
                logger.Error(ex, $"Network error: {ex.Message}");
                // Additional logging and recovery actions
            }
            catch (Exception ex)
            {
                logger.Error(ex, $"Unexpected error: {ex.Message}");
                // Log and handle other exceptions
            }
            finally
            {
                // Ensure all resources are cleaned up properly
                client.Close();
                logger.Info("Client connection closed properly.");
            }
        }
    }
}

public class FFmpegVideoEncoder
{
    private readonly int width;
    private readonly int height;
    private readonly AVCodecID codecId;
    private static readonly Logger logger = LogManager.GetCurrentClassLogger();

    public FFmpegVideoEncoder(int width, int height, AVCodecID codecId)
    {
        this.width = width;
        this.height = height;
        this.codecId = codecId;
        InitializeEncoder();
    }

    private void InitializeEncoder()
    {
        // Initialize FFmpeg encoder here
        logger.Debug("FFmpeg encoder initialized");
    }

    public async Task StreamEncodedVideoAsync(NetworkStream netStream)
    {
        // Initialize reusable buffers for efficiency
        byte[] buffer = new byte[4096];

        // Capture and encode video frames
        while (true)
        {
            try
            {
                // Simulate capture and encoding
                byte[] videoData = new byte[1024]; // This would come from the encoder

                // Simulate streaming
                for (int i = 0; i < videoData.Length; i += buffer.Length)
                {
                    int chunkSize = Math.Min(buffer.Length, videoData.Length - i);
                    Buffer.BlockCopy(videoData, i, buffer, 0, chunkSize);
                    await netStream.WriteAsync(buffer, 0, chunkSize);
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex, "Error streaming video data");
                throw; // Rethrow to handle in the calling function
            }

            await Task.Delay(1000 / 30); // For 30 FPS
        }
    }
}


    


    When I build no issues but when i run it in debug mode I get this error

    


    System.DllNotFoundException
  HResult=0x80131524
  Message=Unable to load DLL 'avformat.59 under C:\Users\phlfo\Downloads\cfolder\server\ConsoleApp\bin\Debug\': The specified module could not be found.
  Source=FFmpeg.AutoGen
  StackTrace:
   at FFmpeg.AutoGen.ffmpeg.LoadLibrary(String libraryName, Boolean throwException)
   at FFmpeg.AutoGen.ffmpeg.<>c.<.cctor>b__7_0(String libraryName)
   at FFmpeg.AutoGen.ffmpeg.<>c.<.cctor>b__7_242()
   at FFmpeg.AutoGen.ffmpeg.avformat_network_init()
   at VideoStreamServer..ctor() in C:\Users\phlfo\Downloads\cfolder\server\ConsoleApp\Program.cs:line 20
   at VideoStreamServer.Main() in C:\Users\phlfo\Downloads\cfolder\server\ConsoleApp\Program.cs:line 36


    


    I have FFmpeg.AutoGen package installed through VS i originally started with 7.0 but then switched to 5.0 to see if an older version might work (it did not). I also have the files in the same directory as the .exe for testing purposes as seen in the screenshot. Can someone please help me figure out this error.
enter image description here

    


  • Android Studio - Append two videos but showing black screen

    6 septembre 2020, par Darkhmar

    First of all hello,

    


    When I add another mp4 file at the end of an mp4 file, the video looks completely black screen but I can get the video sounds.

    


    If I add a copy of a video to the end of it, I saw that there was no problem, but this is not a scenario I want.

    


    I am getting the "text relocations" error when merging with the FFmpeg library. (This problem is fixed when I change this library version, but I have other problems. Therefore, mp4parser is an alternative I see.)

    


    The piece of code that allows the videos to be merged is as follows. Thank you from now.

    


    private void appendTwoVideos(String firstVideoPath, String secondVideoPath) {&#xA;    try {&#xA;        Movie[] inMovies = new Movie[2];&#xA;&#xA;        inMovies[0] = MovieCreator.build(firstVideoPath);&#xA;        inMovies[1] = MovieCreator.build(secondVideoPath);&#xA;&#xA;        List<track> videoTracks = new LinkedList&lt;>();&#xA;        List<track> audioTracks = new LinkedList&lt;>();&#xA;&#xA;        for (Movie m : inMovies) {&#xA;            for (Track t : m.getTracks()) {&#xA;                if (t.getHandler().equals("soun")) {&#xA;                    audioTracks.add(t);&#xA;                }&#xA;                if (t.getHandler().equals("vide")) {&#xA;                    videoTracks.add(t);&#xA;                }&#xA;            }&#xA;        }&#xA;&#xA;        Movie result = new Movie();&#xA;&#xA;        if (audioTracks.size() > 0) {&#xA;            result.addTrack(new AppendTrack(audioTracks&#xA;                    .toArray(new Track[audioTracks.size()])));&#xA;        }&#xA;        if (videoTracks.size() > 0) {&#xA;            result.addTrack(new AppendTrack(videoTracks&#xA;                    .toArray(new Track[videoTracks.size()])));&#xA;        }&#xA;&#xA;        BasicContainer out = (BasicContainer) new DefaultMp4Builder().build(result);&#xA;&#xA;        @SuppressWarnings("resource")&#xA;        FileChannel fc = new RandomAccessFile(DIRECTORY_PATH &#x2B; "output.mp4", "rw").getChannel();&#xA;        out.writeContainer(fc);&#xA;        fc.close();&#xA;    } catch (FileNotFoundException e) {&#xA;        e.printStackTrace();&#xA;    } catch (IOException e) {&#xA;        e.printStackTrace();&#xA;    }&#xA;}&#xA;</track></track>

    &#xA;

  • couldn't find "liblicense-jni.so lib using Android Studio

    15 novembre 2016, par Virani Ashish

    i have crated gif maker app using ffmpeg lib

    but zenfone 5 (asus t00j) not couldn’t find "liblicense-jni.so in app lib folder and other devicecan load lib perfect.

    if any one can idea to solve this error ?

    11-15 10:15:28.947 15471-15471/com.aspiration.gifmaker E/AndroidRuntime: FATAL EXCEPTION: main
        Process: com.aspiration.gifmaker, PID: 15471
        java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.aspiration.gifmaker-1/base.apk"],nativeLibraryDirectories=[/data/app/com.aspiration.gifmaker-1/lib/x86, /vendor/lib, /system/lib]]] couldn't find "liblicense-jni.so"
            at java.lang.Runtime.loadLibrary(Runtime.java:366)
            at java.lang.System.loadLibrary(System.java:989)
            at com.netcompss.ffmpeg4android.LicenseCheckJNI.<clinit>(LicenseCheckJNI.java:42)
            at com.netcompss.ffmpeg4android.GeneralUtils.isLicenseValid(GeneralUtils.java:509)
            at com.aspiration.gifmaker.activity.VideoSpeedActivity.onCreate(VideoSpeedActivity.java:210)
            at android.app.Activity.performCreate(Activity.java:5975)
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2269)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2376)
            at android.app.ActivityThread.access$800(ActivityThread.java:147)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1281)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.app.ActivityThread.main(ActivityThread.java:5253)
            at java.lang.reflect.Method.invoke(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:372)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
    </clinit>