Recherche avancée

Médias (3)

Mot : - Tags -/collection

Autres articles (45)

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

  • Contribute to translation

    13 avril 2011

    You can help us to improve the language used in the software interface to make MediaSPIP more accessible and user-friendly. You can also translate the interface into any language that allows it to spread to new linguistic communities.
    To do this, we use the translation interface of SPIP where the all the language modules of MediaSPIP are available. Just subscribe to the mailing list and request further informantion on translation.
    MediaSPIP is currently available in French and English (...)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

Sur d’autres sites (3354)

  • Files such as libavcodec.so of the Unreal ffmpeg library cannot be packaged into the APK

    26 décembre 2023, par user1875144

    I currently use Unreal 4.23.1 to develop Android system programs. I currently use the ffmpeg library to dynamically convert the sampling rate of sound. I add the relevant SO libraries to my Build.cs code. I use UE to package the Android APK program.
There is no problem with packaging, but the SO file cannot be packaged into the APK file, which causes the Android system to crash as soon as I run it. Has anyone encountered such a problem ? The programming language I use is C++
Below is the code in my build.cs file

    


    using UnrealBuildTool;
using System.IO;
using System;

public class MIC : ModuleRules
{
    public MIC(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

        PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay", "AudioCapture", "AudioMixer", "WebSockets", "Json", "JsonUtilities", "MediaAssets", "Voice","OnlineSubsystem"});
        
        string ThirdPartyPath = Path.Combine(ModuleDirectory, "../../ThirdParty/ffmpeg");
        string LibrariesPath = Path.Combine(ThirdPartyPath, "lib");
        string BinariesPath = Path.Combine(ModuleDirectory, "../../Binaries/Win64");

        PublicIncludePaths.Add(Path.Combine(ThirdPartyPath, "include"));

        // 根据目标平台加载相应的库文件
        if (Target.Platform == UnrealTargetPlatform.Win64)
        {
            // Windows 使用的库和 DLL 文件
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "avcodec.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "avformat.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "avutil.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "swresample.lib"));
            PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "swscale.lib"));

            PublicDelayLoadDLLs.Add("avcodec-58.dll");
            PublicDelayLoadDLLs.Add("avformat-58.dll");
            PublicDelayLoadDLLs.Add("avutil-56.dll");
            PublicDelayLoadDLLs.Add("swresample-3.dll");
            PublicDelayLoadDLLs.Add("swscale-5.dll");

            if (!Directory.Exists(BinariesPath))
            {
                Directory.CreateDirectory(BinariesPath);
            }

            string[] DllNames = { "avcodec-58.dll", "avformat-58.dll", "avutil-56.dll", "swresample-3.dll", "swscale-5.dll" };
            foreach (string DllName in DllNames)
            {
                string SourcePath = Path.Combine(LibrariesPath, DllName);
                string DestinationPath = Path.Combine(BinariesPath, DllName);

                if (File.Exists(SourcePath))
                {
                    File.Copy(SourcePath, DestinationPath, true);
                }
            }

            foreach (string DllName in DllNames)
            {
                RuntimeDependencies.Add(Path.Combine(BinariesPath, DllName));
            }
        }
        else if (Target.Platform == UnrealTargetPlatform.Android)
        {
            // Android 使用的 SO 文件
            string AndroidLibrariesPath = Path.Combine(LibrariesPath, "android", "armeabi-v7a");
            PublicAdditionalLibraries.Add(Path.Combine(AndroidLibrariesPath, "libavcodec.so"));
            PublicAdditionalLibraries.Add(Path.Combine(AndroidLibrariesPath, "libavformat.so"));
            PublicAdditionalLibraries.Add(Path.Combine(AndroidLibrariesPath, "libavutil.so"));
            PublicAdditionalLibraries.Add(Path.Combine(AndroidLibrariesPath, "libswresample.so"));
            PublicAdditionalLibraries.Add(Path.Combine(AndroidLibrariesPath, "libswscale.so"));

            // 这里修改为动态加载 OnlineSubsystemGooglePlay
            DynamicallyLoadedModuleNames.Add("OnlineSubsystemGooglePlay");
            // 可能还需要保留对其他模块的私有依赖
            PrivateDependencyModuleNames.Add("OnlineSubsystem");
            //PrivateDependencyModuleNames.Add("AndroidAdvertising");
        }

        // 其他配置保持不变
    }
}


    


  • place audio on video using javacv android

    27 septembre 2018, par user364943

    i create video through sequence of images.
    5 images video length 10 seconds and audio file length is 4 mints. when i merge audio on video. video length is 4 mints. i want to length to only 10 sec.
    if i add and condition in while loop then only images shown but no audio voice
    here below is my code.
    thanks in advance.

    private String createMovie() {

           folder = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM);
           path = folder.getAbsolutePath() + "/Camera";
           millis = System.currentTimeMillis();
           videoFilePath = path + "/" + "test_sham_" + /*millis +*/ ".3gp";
           audioFilePath = path + "/qe.mp3";
           finalVideoPath = path + "/" + "test_shamm_" + /*millis +*/ ".3gp";

           try {
               FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(videoFilePath, 1280, 720);
               OpenCVFrameConverter converter = new OpenCVFrameConverter() {
                   @Override
                   public Frame convert(Object o) {
                       return null;
                   }

                   @Override
                   public Object convert(Frame frame) {
                       return null;
                   }
               };
               recorder.setVideoCodec(avcodec.AV_CODEC_ID_MPEG4);
               recorder.setVideoBitrate(10 * 1024 * 1024);
               recorder.setFrameRate(1);
               recorder.setVideoQuality(0);
               //recorder.setPixelFormat(avutil.AV_PIX_FMT_YUV420P);
               recorder.setFormat("mp4");

               recorder.start();
         //      publishProgress(0);
               int time = 2;
               int number_images = imagesEncodedList.size();
          //     number_images = number_images * 2;
               for (int i = 0; i < number_images; i++) {
                   for (int j = 0; j < time; j++) {
                    //   opencv_core.IplImage image = cvLoadImage(path + "/Camera/image" + i + ".jpg");
                       opencv_core.IplImage image = cvLoadImage(imagesEncodedList.get(i));
                       Frame frame = converter.convert(image);
                       recorder.record(frame);
                 //      publishProgress(25*(i+1));
                   }
               }

               recorder.stop();
           //    publishProgress(76);
               mergeAudioAndVideo(videoFilePath, audioFilePath, finalVideoPath);
           //    publishProgress(100);

           } catch (Exception e) {
               Log.e("problem", "problem", e);
           }
           return  /*videoFilePath; */  finalVideoPath;
       }
       private boolean mergeAudioAndVideo(String videoPath, String audioPath, String outPut)
               throws Exception {
           boolean isCreated = true;
           File file = new File(videoPath);
           if (!file.exists()) {
               return false;
           }
           try {
               FrameGrabber grabber1 = new FFmpegFrameGrabber(videoPath);
               FrameGrabber grabber2 = new FFmpegFrameGrabber(audioPath);
               grabber1.start();
               grabber2.start();


               FrameRecorder recorder = new FFmpegFrameRecorder(outPut, grabber1.getImageWidth(), grabber1.getImageHeight(), grabber2.getAudioChannels());
               recorder.setFrameRate(grabber1.getFrameRate());
               recorder.setFormat("mp4");
             //  recorder.setSampleFormat(grabber2.getSampleFormat());
               recorder.setSampleRate(grabber2.getSampleRate());
               recorder.start();
               Frame frame1, frame2 = null;
               while ((frame1 = grabber1.grabFrame()) != null
               || (frame2 = grabber2.grabFrame()) != null) {
                   recorder.record(frame1);
                   recorder.record(frame2);
               }
               recorder.stop();
               grabber1.stop();
               grabber2.stop();

           } catch (Exception e) {
               e.printStackTrace();
           }
           return isCreated;
       }
  • fate/all : fix multiple dependencies

    30 juin, par Nicolas Gaullier
    fate/all : fix multiple dependencies
    

    Signed-off-by : Nicolas Gaullier <nicolas.gaullier@cji.paris>
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] tests/fate/api.mak
    • [DH] tests/fate/cbs.mak
    • [DH] tests/fate/ffmpeg.mak
    • [DH] tests/fate/filter-audio.mak
    • [DH] tests/fate/filter-video.mak
    • [DH] tests/fate/fits.mak
    • [DH] tests/fate/gif.mak
    • [DH] tests/fate/h264.mak
    • [DH] tests/fate/image.mak
    • [DH] tests/fate/libavformat.mak
    • [DH] tests/fate/matroska.mak
    • [DH] tests/fate/ogg-flac.mak
    • [DH] tests/fate/pixfmt.mak
    • [DH] tests/fate/segment.mak
    • [DH] tests/fate/vcodec.mak
    • [DH] tests/fate/video.mak
    • [DH] tests/fate/voice.mak
    • [DH] tests/fate/xvid.mak