Recherche avancée

Médias (0)

Mot : - Tags -/page unique

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (74)

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

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

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

Sur d’autres sites (14347)

  • ffmpeg detects a videofile path when it does not exist

    17 novembre 2020, par Nejc Kejzar

    this is boggling my mind. I am using ffmpeg to compress videos within the following python script :

    


    import re
import os

kage = 'MH5'
year = '2020'
month = '11'
day = '10'

# Set output dir; create it if it doesn't exist yet
downsampled_video_dir = home_data_dir + f'piCamera/downsampled_videos/{kage}/{year}/{month}/{day}/'
Path(downsampled_video_dir).mkdir(parents=True, exist_ok=True)
    
for i, video in enumerate(videos):
        # Set ffmpeg video compression terminal command and output directory for downsampled videos
        video_name = re.findall('\d+_\d+.mp4', video)[0]
        ds_output = downsampled_video_dir + video_name
        compress_command = f"ffmpeg -i {video} -vf scale={video_res[0]}:-2 {ds_output}"
        
        # Run ffmpeg video compression
        os.system(compress_command)


    


    videos is a list of full video paths of the videos that I wish to compress, and ds_output is a full path of where to write the compressed video. video_res[0] contains the desired height of the video with the following -2 automatically calculating the width so that the aspect ratio is preserved.

    


    For some reason when running this, ffmpeg detects some of the videos in the output directory as already existing and asks if I wish to overwrite them. The videos of course aren't there yet, so when I pass y, ffmpeg complains that no such file exists. Here is an example output for one of the problematic videos :

    


    ffmpeg -y -i '/home/piCamera/MH4/2020/11/10/20201110_085451.mp4' -vf scale=400:300  '/home/piCamera/downsampled_videos/MH4/2020/11/10/20201110_085451.mp4'
ffmpeg version 4.2.4-1ubuntu0.1 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.3.0-10ubuntu2)
  configuration: --prefix=/usr --extra-version=1ubuntu0.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-nvenc --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/piCamera/MH4/2020/11/10/20201110_085451.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.20.100
  Duration: 00:03:58.84, start: 0.000000, bitrate: 1190 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 960x720, 1190 kb/s, 5 fps, 5 tbr, 10240 tbn, 20480 tbc (default)
    Metadata:
      handler_name    : VideoHandler
/home/piCamera/downsampled_videos/MH4/2020/11/10/20201110_085451.mp4: No such file or directory


    


    This happens with about 3 videos out of 53, the rest run normally. I've tried restarting the terminal, deleted the whole created downsampled_video_dir and run again, but no matter how many times I restart, the same videos are the problem. The only thing that appears to help is if I change the output directory name. Any ideas of why this strange error is happening ?

    


    This is being run on Ubuntu20 with python3.7.9 in a Jupyter Notebook.

    


    Many, many thanks for all the insights !

    


  • App crashes on Google TV when playing MP4 videos

    14 avril 2023, par fab

    I am having problems with an Android app that was developed for me. The issue occurs when playing MP4 videos ; the app plays them correctly, but at some point, the app crashes and exits. I have been reviewing errors using Android Studio, and the only error that appears is the following :

    


    2023-04-14 00:45:45.846 7221-7650 SurfaceUtils com.app.X D connecting to surface 0xbf0d2808, reason connectToSurface(reconnect) 2023-04-14 00:45:45.848 7221-7654 ACodec com.app.X E [OMX.amlogic.avc.decoder.awesome2] setPortMode on output to DynamicANWBuffer failed w/ err -2147483648 2023-04-14 00:45:45.855 7221-7334 com.app.X com.app.X I get_buffer_dataspace_setting get_metadata return 0 dataspace:268500992 2023-04-14 00:45:45.875 7221-7334 NdkImageReader com.app.X D acquireImageLocked: Overriding buffer format YUV_420_888 to 0x11. 2023-04-14 00:45:45.877 7221-7334 com.app.X com.app.X I get_buffer_dataspace_setting get_metadata return 0 dataspace:268500992 2023-04-14 00:45:45.887 7221-7280 MediaCodec com.app.X D keep callback message for reclaim 2023-04-14 00:45:45.896 7221-7334 com.app.X com.app.X I get_buffer_dataspace_setting get_metadata return 0 dataspace:268500992 2023-04-14 00:45:45.914 7221-7334 com.app.X com.app.X I get_buffer_dataspace_setting get_metadata return 0 dataspace:268500992 2023-04-14 00:45:45.915 7221-7654 SurfaceUtils com.app.X D disconnecting from surface 0xbf0d2808, reason setNativeWindowSizeFormatAndUsage 2023-04-14 00:45:45.915 7221-7654 SurfaceUtils com.app.X D connecting to surface 0xbf0d2808, reason setNativeWindowSizeFormatAndUsage 2023-04-14 00:45:45.915 7221-7654 SurfaceUtils com.app.X D set up nativeWindow 0xbf0d2808 for 1920x1080, color 0x11, rotation 0, usage 0x402b00 2023-04-14 00:45:45.915 7221-7654 ACodec com.app.X W [OMX.amlogic.avc.decoder.awesome2] setting nBufferCountActual to 9 failed: -1010 2023-04-14 00:45:45.922 7221-7654 ion com.app.X E ioctl c0084905 failed with code -1: Invalid argument 2023-04-14 00:45:45.928 7221-7654 ion com.app.X E ioctl c0084905 failed with code -1: Invalid argument 2023-04-14 00:45:45.943 7221-7334 com.app.X com.app.X I get_buffer_dataspace_setting get_metadata return 0 dataspace:268500992 2023-04-14 00:45:45.954 7221-7654 ion com.app.X E ioctl c0084905 failed with code -1: Invalid argument 2023-04-14 00:45:45.960 7221-7654 ion com.app.X E ioctl c0084905 failed with code -1: Invalid argument 2023-04-14 00:45:45.962 7221-7654 ion com.app.X E ioctl c0084905 failed with code -1: Invalid argument 2023-04-14 00:45:45.969 7221-7654 ion com.app.X E ioctl c0084905 failed with code -1: Invalid argument 2023-04-14 00:45:45.979 7221-7654 ion com.app.X E ioctl c0084905 failed with code -1: Invalid argument 2023-04-14 00:45:45.986 7221-7654 ion com.app.X E ioctl c0084905 failed with code -1: Invalid argument

    


    One clarification is that the app is built with IONIC and Angular.

    


    The FFMPEG code that converts the video in golang is as follows :

    


    func ConvertVideoFile(inputFileName, outputFileName string) error { err := ffmpeg_go.Input(inputFileName). Filter("scale", ffmpeg_go.Args{"800:600"}). Output(outputFileName, ffmpeg_go.KwArgs{ "c:v": "libx264", "profile:v": "high", "level": "3.1", "pix_fmt": "yuv420p", "preset": "medium", "crf": "23", "b:v": "782k", "r": "25", "c:a": "aac", "b:a": "2k", "ar": "48000", "movflags": "+faststart", "max_muxing_queue_size": "1024", }, ). OverWriteOutput().ErrorToStdOut().Run() return err }

    


    Remove this error 2023-04-14 00:45:45.848 7221-7654 ACodec com.app.X E [OMX.amlogic.avc.decoder.awesome2

    


  • Programming Language Levels

    20 mai 2011, par Multimedia Mike — Programming

    I’ve been doing this programming thing for some 20 years now. Things sure do change. One change I ponder from time to time is the matter of programming language levels. Allow me to explain.

    The 1990s
    When I first took computer classes in the early 1990s, my texts would classify computer languages into 3 categories, or levels. The lower the level, the closer to the hardware ; the higher the level, the more abstract (and presumably, easier to use). I recall that the levels went something like this :

    • High level : Pascal, BASIC, Logo, Fortran
    • Medium level : C, Forth
    • Low level : Assembly language

    Keep in mind that these were the same texts which took the time to explain the history of computers from mainframes -> minicomputers -> a relatively recent phenomenon called microcomputers or "PCs".

    Somewhere in the mid-late 1990s, when I was at university, I was introduced to a new tier :

    • Very high level : Perl, shell scripting

    I think there was some debate among my peers about whether C++ and Java were properly classified as high or very high level. The distinction between high and very high, in my observation, seemed to be that very high level languages had more complex data structures (at the very least, a hash / dictionary / associative array / key-value map) built into the language, as well as implicit memory management.

    Modern Day
    These days, the old hierarchy is apparently forgotten (much like minicomputers). I observe that there is generally a much simpler 2-tier classification :

    • Low level : C, assembly language
    • High level : absolutely every other programming language in wide use today

    I find myself wondering where C++ and Objective-C fit in this classification scheme. Then I remember that it doesn’t matter and this is all academic.

    Relevancy
    I think about this because I have pretty much stuck to low-level programming all of my life, mostly due to my interest in game and multimedia-type programming. But the trends in computing have favored many higher level languages and programming paradigms. I woke up one day and realized that the kind of work I often do — lower level stuff — is not very common.

    I’m not here to argue that low or high level is superior. You know I’m all about using the appropriate tool for the job. But I sometimes find myself caught between worlds, having the defend and explain one to the other.

    • On one hand, it’s not unusual for the multitudes of programmers working at the high level to gasp and wonder why I or anyone else would ever use C or assembly language for anything when there are so many beautiful high level languages. I patiently explain that those languages have to be written in some other language (at first) and that they need to run on some operating system and that most assuredly won’t be written in a high level language. For further reading, I refer them to Joel Spolsky’s great essay called Back to Basics which describes why it can be useful to know at least a little bit about how the computer does what it does at the lowest levels.
    • On the other hand, believe it or not, I sometimes have to defend the merits of high level languages to my low level brethren. I’ll often hear variations of, "Any program can be written in C. Using a high level language to achieve the same will create a slow and bloated solution." I try to explain that the trade-off in time to complete the programming task weighed against the often-negligible performance hit of what is often an I/O-bound operation in the first place makes it worthwhile to use the high level language for a wide variety of tasks.

      Or I just ignore them. That’s actually the best strategy.