Recherche avancée

Médias (1)

Mot : - Tags -/ticket

Autres articles (36)

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • Other interesting software

    13 avril 2011, par

    We 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 : (...)

  • Keeping control of your media in your hands

    13 avril 2011, par

    The vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
    While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
    MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
    MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...)

Sur d’autres sites (7184)

  • Python can't access FFmpeg binary in /data/user/0/com.app.name/files/ in Android Studio

    18 octobre 2024, par Dudek 3D

    I'm a beginner in android development (and java). I'm making a hybrid application in java which runs python (using chaquopy).
MainActivity.java runs the python script fine, the only problem is that the yt_dlp library that I've used can't access FFmpeg.
The FFmpeg binary file (for linuxarm64, I don't think that's the problem) is located in the assets folder (src/main/assets), then it's copied to /data/user/0/com.app.name/files :

    


    //FileUtils.java
public class FileUtils {
    public static void copyAsset(Context context, String assetName, String outputPath) {
        AssetManager assetManager = context.getAssets();
        try {
            InputStream in = assetManager.open(assetName);
            File outFile = new File(outputPath);
            OutputStream out = new FileOutputStream(outFile);
            byte[] buffer = new byte[1024];
            int read;
            while ((read = in.read(buffer)) != -1) {
                out.write(buffer, 0, read);
            }
            in.close();
            out.close();

            // Set executable permissions for the binary
            outFile.setExecutable(true);  // Ensure the file is executable
            outFile.setReadable(true);
            outFile.setWritable(true);
            Log.d("FileUtils", "FFmpeg File - Exists: " + outFile.exists() +
                    ", Executable: " + outFile.canExecute());

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}


//MainActivity.java
public class MainActivity extends AppCompatActivity {
    private pyRun pyrun;
    private static final int REQUEST_CODE_PERMISSION = 123;
    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.d("YTDownloader", "onCreate: Starting...");
        String ffmpegPath = getFilesDir() + "/ffmpeg";

        // Copy the binary
        FileUtils.copyAsset(this, "ffmpeg", ffmpegPath);

        // Check if file exist and log
        Log.d(TAG, "FFmpeg exists: " + new File(ffmpegPath).exists());
        Log.d(TAG, "PATH: "+ffmpegPath);

        //load python
        //load webview
    }
    //other functions
}


    


    And finally it should be loaded by yt_dlp in python :

    


    import os
import yt_dlp as youtube_dl
ffmpeg_path='/data/user/0/com.dudek3d.ytdownloader/files/ffmpeg'

ydl_opts = {
'ffmpeg_location': ffmpeg_path,
'format': 'bestvideo+bestaudio/best',
'postprocessors': [{
        'key': 'FFmpegVideoConvertor',
        'preferedformat': 'mp4'}],
'noplaylist': True,
'quiet': True,
'merge_output_format': 'mp4',
'outtmpl': filename+'.%(ext)s',
}

with youtube_dl.YoutubeDL(ydl_opts) as ydl:
    ydl.download([url])


    


    The downloaded file is corrupted because FFmpeg is not found.
I've found out that ffmpeg file cannot be accessed from neither Java nor Python.

    


    I've tried :

    


    1)
Changing the paths to cache : ffmpeg_path='/data/user/0/com.dudek3d.ytdownloader/cache/ffmpeg'
Changing the paths to data : ffmpeg_path='/data/data/com.dudek3d.ytdownloader/files/ffmpeg'
Changing the paths to data cache : ffmpeg_path='/data/data/com.dudek3d.ytdownloader/cache/ffmpeg'

    


    2)
Accessing ffmpeg path from MainActivity.java and got "Permission Denied" Error, so I added

    


    



    


    to AndroidManifest.xml but still the same error occurs.

    


    3)
Using ffmpeg implementations in dependecies in build.gradle (app Module) such as : 'com.arthenica:ffmpeg-kit-full:4.5'
but this won't work because I think that's accessible by java and not python.

    


    4)
I've changed location of ffmpeg to src/main/jniLibs/arc64-v8a :
ffmpegPath = getApplicationInfo().nativeLibraryDir + "/ffmpeg";
passed that to python :

    


    def run(format_choice, listt, ffmpeg_pat, ffprobe_pat):
    global ffmpeg_path, ffprobe_path
    ffmpeg_path, ffprobe_path= ffmpeg_pat, ffprobe_pat


    


    but I got :
WARNING: ffmpeg-location /data/app/~~42sSKOephY26jjdLYW7wmw==/com.dudek3d.ytdownloader-OWqWbazkZobYNlsqTsxfyA==/lib/x86_64/ffmpeg does not exist!

    


    I hope it's clear, thanks in advance.

    


  • How to enable HTTPS protocol in ffmpeg.wasm ?

    19 septembre 2022, par Vinh Nguyen

    I am using ffmpeg.wasm, I have referenced this link (https://github.com/ffmpegwasm/ffmpeg.wasm).
In my code : await ffmpeg.run("-protocols"), it only shows HTTP protocol, not HTTPS protocol. But when I ran ffmpeg -protocols command manually on the command line, it shows both HTTP and HTTPS. How to enable HTTPS protocol in ffmpeg.wasm ?
I tried to recompile ffmpeg.wasm-core to enable HTTPS protocol based on these links (ffmpeg over https fails and https://github.com/ffmpegwasm/ffmpeg.wasm-core) but I got error in this image : https://user-images.githubusercontent.com/37976868/148655326-b6d25c87-0416-4524-a749-9f369893fa9c.png.
Please help me enable HTTPS protocol in ffmpeg.wasm

    


  • All : Use https

    7 avril 2017, par vanillajonathan
    All : Use https
    

    * Update core.js
    * Update accept.js
    * Update creditcard.js
    * Update package.json
    * Update bower.json
    * Update CONTRIBUTING.md

    Closes #1889