Recherche avancée

Médias (91)

Autres articles (88)

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

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

  • Dépôt de média et thèmes par FTP

    31 mai 2013, par

    L’outil MédiaSPIP traite aussi les média transférés par la voie FTP. Si vous préférez déposer par cette voie, récupérez les identifiants d’accès vers votre site MédiaSPIP et utilisez votre client FTP favori.
    Vous trouverez dès le départ les dossiers suivants dans votre espace FTP : config/ : dossier de configuration du site IMG/ : dossier des média déjà traités et en ligne sur le site local/ : répertoire cache du site web themes/ : les thèmes ou les feuilles de style personnalisées tmp/ : dossier de travail (...)

Sur d’autres sites (8906)

  • avcodec/ass : accurately preserve colours

    13 novembre 2022, par Oneric
    avcodec/ass : accurately preserve colours
    

    Colour values used in ASS files without a "YCbCr Matrix" header set to
    "None" are subject to colour mangling, due to how ASS was historically
    conceived. A more in-depth description can be found in the documetation
    inside libass' public ass_types.h header. The important part is, if this
    header is not set to "None", the final output colours can deviate from
    the literal value specified in the file. When converting from non-ASS
    formats we do not want any colour shift to happen, so let's set the
    appropiate header.

    NB : ffmpeg's subtitle filter, does not follow libass' documentation
    regarding colour mangling, thus hiding the bug. Anything based on
    VSFilter, XySubFilter or e.g. mpv do and might show the issue.
    (Of course native ASS subs, which _do_ rely on colour mangling won't
    work properly with the subtitle filter, but this can be fixed another
    time)

    • [DH] libavcodec/ass.c
    • [DH] tests/ref/fate/sub-aqtitle
    • [DH] tests/ref/fate/sub-cc
    • [DH] tests/ref/fate/sub-cc-realtime
    • [DH] tests/ref/fate/sub-cc-scte20
    • [DH] tests/ref/fate/sub-charenc
    • [DH] tests/ref/fate/sub-jacosub
    • [DH] tests/ref/fate/sub-microdvd
    • [DH] tests/ref/fate/sub-movtext
    • [DH] tests/ref/fate/sub-mpl2
    • [DH] tests/ref/fate/sub-mpsub
    • [DH] tests/ref/fate/sub-mpsub-frames
    • [DH] tests/ref/fate/sub-pjs
    • [DH] tests/ref/fate/sub-realtext
    • [DH] tests/ref/fate/sub-sami
    • [DH] tests/ref/fate/sub-sami2
    • [DH] tests/ref/fate/sub-scc
    • [DH] tests/ref/fate/sub-srt
    • [DH] tests/ref/fate/sub-srt-badsyntax
    • [DH] tests/ref/fate/sub-stl
    • [DH] tests/ref/fate/sub-subviewer
    • [DH] tests/ref/fate/sub-subviewer1
    • [DH] tests/ref/fate/sub-vplayer
    • [DH] tests/ref/fate/sub-webvtt
    • [DH] tests/ref/fate/sub-webvtt2
  • Compress video from Android before upload to server

    26 juillet 2016, par Rahul Patel

    I am working with compress video using FFmpeg library.

    selectedImagePath = getPath(selectedImage); // this is video path from gallery
    File dir = new File(Environment.getExternalStorageDirectory().getPath(), "MyAPP" + "/" + "Video");
                       if (!dir.exists()) {
                           dir.mkdirs();
                       }

    long time = System.currentTimeMillis();
    String ffmpegCode = "ffmpeg -y -i " + selectedImagePath + " -strict experimental -s 480x320 -r 25 -vcodec mpeg4 -b 900k -ab 48000 -ac 2 -ar 22050 " + dir + "/" + time + "out.mp4";

    using this code I can compress video, but if there is space between selected image path then this is not working.

    I found the below solution from this LINK.

    // Use this format to support files that contains spaces and special characters
    String[] complexCommand = {"ffmpeg","-y" ,"-i", selectedImagePath,"-strict","experimental","-s", "480x320","-r","25", "-vcodec", "mpeg4", "-b", "900k", "-ab","48000", "-ac", "2", "-ar", "22050", dir + "/" + time + "out.mp4"};

    Runtime.getRuntime().exec("chmod 744 "+dir + "/");

    Process p = Runtime.getRuntime().exec(complexCommand);

    and Logcat :

    07-26 18:59:24.609 29512-29535/com.examples.ffmpeg4android_demo I/OpenGLRenderer: Initialized EGL, version 1.4
    07-26 18:59:24.616 29512-30045/com.examples.ffmpeg4android_demo W/System.err: java.io.IOException: Error running exec(). Command: [ffmpeg, -y, -i, /storage/emulated/0/WhatsApp/Media/WhatsApp Video/VID-20160726-WA0001.mp4, -strict, experimental, -s, 480x320, -r, 25, -vcodec, mpeg4, -b, 900k, -ab, 48000, -ac, 2, -ar, 22050, /storage/emulated/0/MyAPP/Video/1469539764559out.mp4] Working Directory: null Environment: null
    07-26 18:59:24.622 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at java.lang.ProcessManager.exec(ProcessManager.java:211)
    07-26 18:59:24.622 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at java.lang.Runtime.exec(Runtime.java:174)
    07-26 18:59:24.623 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at java.lang.Runtime.exec(Runtime.java:129)
    07-26 18:59:24.623 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at com.examples.ffmpeg4android.SimpleExample$TranscdingBackground1.doInBackground(SimpleExample.java:577)
    07-26 18:59:24.623 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at com.examples.ffmpeg4android.SimpleExample$TranscdingBackground1.doInBackground(SimpleExample.java:531)
    07-26 18:59:24.623 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at android.os.AsyncTask$2.call(AsyncTask.java:295)
    07-26 18:59:24.623 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    07-26 18:59:24.623 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
    07-26 18:59:24.623 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
    07-26 18:59:24.623 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
    07-26 18:59:24.623 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at java.lang.Thread.run(Thread.java:818)
    07-26 18:59:24.623 29512-30045/com.examples.ffmpeg4android_demo W/System.err: Caused by: java.io.IOException: Permission denied
    07-26 18:59:24.624 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at java.lang.ProcessManager.exec(Native Method)
    07-26 18:59:24.624 29512-30045/com.examples.ffmpeg4android_demo W/System.err:     at java.lang.ProcessManager.exec(ProcessManager.java:209)
    07-26 18:59:24.624 29512-30045/com.examples.ffmpeg4android_demo W/System.err:   ... 10 more

    I already given permission android.permission.WRITE_EXTERNAL_STORAGE

    how can I compress video before upload to server like whatsapp and facebook ? Is there any other solution ?

    Please guide me.

  • PHP FFMPEG match the Instagram Video Requirements

    19 février 2021, par Linesofcode

    This are the Instagram requirements in order to upload a video :

    


    - Container: MOV or MP4 (MPEG-4 Part 14), no edit lists, moov atom at the front of the file.
- Audio codec: AAC, 48khz sample rate maximum, 1 or 2 channels (mono or stereo).
- Video codec: HEVC or H264, progressive scan, closed GOP, 4:2:0 chroma subsampling.
- Frame rate: 23-60 FPS.
- Picture size:
  - Maximum columns (horizontal pixels): 1920
  - Minimum aspect ratio [cols / rows]: 4 / 5
  - Maximum aspect ratio [cols / rows]: 16 / 9
  - Video bitrate: VBR, 5Mbps maximum
- Audio bitrate: 128kbps
- Duration: 60 seconds maximum, 3 seconds minimum
- File size: 100MB maximum


    


    I'm using the https://github.com/PHP-FFMpeg/PHP-FFMpeg library and I'm able to get the metadata of the video this way :

    


    $ffprobe = \FFMpeg\FFProbe::create();
$video = $ffprobe->streams('my_sample_video.mp4')->videos()->first();
$audio = $ffprobe->streams('my_sample_video.mp4')->audios()->first();


    


    Printing $video & $audio returns respectively the following data :

    


    --- video ---
[index] => 0
[codec_name] => h264
[codec_long_name] => H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[profile] => Baseline
[codec_type] => video
[codec_time_base] => 1/1200
[codec_tag_string] => avc1
[codec_tag] => 0x31637661
[width] => 848
[height] => 480
[coded_width] => 848
[coded_height] => 480
[has_b_frames] => 0
[sample_aspect_ratio] => 0:1
[display_aspect_ratio] => 0:1
[pix_fmt] => yuv420p
[level] => 31
[color_range] => tv
[color_space] => bt709
[color_transfer] => bt709
[color_primaries] => bt709
[chroma_location] => left
[refs] => 1
[is_avc] => 1
[nal_length_size] => 4
[r_frame_rate] => 25/1
[avg_frame_rate] => 25/1
[time_base] => 1/600
[start_pts] => 0
[start_time] => 0.000000
[duration_ts] => 57888
[duration] => 96.480000
[bit_rate] => 1436391
[bits_per_raw_sample] => 8
[nb_frames] => 2412

--- audio ---
[index] => 1
[codec_name] => aac
[codec_long_name] => AAC (Advanced Audio Coding)
[profile] => LC
[codec_type] => audio
[codec_time_base] => 1/44100
[codec_tag_string] => mp4a
[codec_tag] => 0x6134706d
[sample_fmt] => fltp
[sample_rate] => 44100
[channels] => 2
[channel_layout] => stereo
[bits_per_sample] => 0
[r_frame_rate] => 0/0
[avg_frame_rate] => 0/0
[time_base] => 1/44100
[start_pts] => 0
[start_time] => 0.000000
[duration_ts] => 4255744
[duration] => 96.502132
[bit_rate] => 62026
[max_bit_rate] => 64000
[nb_frames] => 4156


    


    Some things are easy to verify like the Video Codec, Audio Codec & Duration, but how to I manage to verify the rest ?

    


    I also noticed that all the MP4 & MOV video samples I use, the metadata of codec_long_name always returns "MPEG-4 part 10" and the requirement is "MPEG-4 Part 14".