Recherche avancée

Médias (91)

Autres articles (89)

  • 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

  • Les tâches Cron régulières de la ferme

    1er décembre 2010, par

    La gestion de la ferme passe par l’exécution à intervalle régulier de plusieurs tâches répétitives dites Cron.
    Le super Cron (gestion_mutu_super_cron)
    Cette tâche, planifiée chaque minute, a pour simple effet d’appeler le Cron de l’ensemble des instances de la mutualisation régulièrement. Couplée avec un Cron système sur le site central de la mutualisation, cela permet de simplement générer des visites régulières sur les différents sites et éviter que les tâches des sites peu visités soient trop (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (10850)

  • ffmpeg with libopenh264 to get profile high422

    24 juillet 2023, par Андрей Тернити

    I have raw MJPEG video file. 3840x2160, 25fps, YUYV 4:2:2. I want use ffmpeg with encoder libopenh264. Why I can't use profile high422 ?

    


    ffmpeg -framerate 25 -i inFile.yuvj422p -profile:v high422 -c:v libopenh264 -q 2 -b 2500000 -allow_skip_frames 1 -maxrate 3500000 outFile.mkv


    


    Log

    


    ...
[libopenh264enc @ 0x56077580ed80] [Eval @ 0x7ffe78457230] Undefined constant or missing '(' in 'high422'


    


    Let's know encoder's capability

    


    # ffmpeg -h encoder=libopenh264&#xA;Encoder libopenh264 [OpenH264 H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10]:&#xA;    General capabilities: threads &#xA;    Threading capabilities: other&#xA;    Supported pixel formats: yuv420p&#xA;libopenh264enc AVOptions:&#xA;  -slice_mode        <int>        E..V......P set slice mode, use slices/max_nal_size (from 0 to 4) (default fixed)&#xA;     fixed           1            E..V....... a fixed number of slices&#xA;     dyn             3            E..V....... Size limited (compatibility name)&#xA;     sizelimited     3            E..V....... Size limited&#xA;  -loopfilter        <int>        E..V....... enable loop filter (from 0 to 1) (default 1)&#xA;  -profile           <int>        E..V....... set profile restrictions (from -99 to 65535) (default -99)&#xA;     constrained_baseline 578          E..V.......&#xA;     main            77           E..V.......&#xA;     high            100          E..V.......&#xA;  -max_nal_size      <int>        E..V....... set maximum NAL size in bytes (from 0 to INT_MAX) (default 0)&#xA;  -allow_skip_frames <boolean>    E..V....... allow skipping frames to hit the target bitrate (default false)&#xA;  -cabac             <int>        E..V......P Enable cabac(deprecated, use coder) (from 0 to 1) (default 0)&#xA;  -coder             <int>        E..V....... Coder type (from -1 to 1) (default default)&#xA;     default         -1           E..V.......&#xA;     cavlc           0            E..V.......&#xA;     cabac           1            E..V.......&#xA;     vlc             0            E..V.......&#xA;     ac              1            E..V.......&#xA;  -rc_mode           <int>        E..V....... Select rate control mode (from -1 to 3) (default quality)&#xA;     off             -1           E..V....... bit rate control off&#xA;     quality         0            E..V....... quality mode&#xA;     bitrate         1            E..V....... bitrate mode&#xA;     buffer          2            E..V....... using buffer status to adjust the video quality (no bitrate control)&#xA;     timestamp       3            E..V....... bit rate control based on timestamp&#xA;</int></int></int></boolean></int></int></int></int>

    &#xA;

    Looks like there is no high422 profile in libopenh264. But I can find&#xA;PRO_HIGH422 in several places of source code...

    &#xA;

    ffmpeg version

    &#xA;

    # ffmpeg -v&#xA;ffmpeg version N-111611-g5b11ee9429 Copyright (c) 2000-2023 the FFmpeg developers&#xA;  built with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)&#xA;  configuration: --prefix=/home/a/Downloads/myGitHub/FFmpeg_fixing/ffmpeg_openh264/ffmpeg_build/ --pkg-config-flags=--static --extra-cflags=-I/home/a/Downloads/myGitHub/FFmpeg_fixing/ffmpeg_openh264/ffmpeg_build/include --extra-ldflags=-L/home/a/Downloads/myGitHub/FFmpeg_fixing/ffmpeg_openh264/ffmpeg_build/lib --extra-libs=&#x27;-lpthread -lm&#x27; --ld=g&#x2B;&#x2B; --bindir=/home/a/bin --enable-gpl --enable-libopenh264&#xA;

    &#xA;

    Why I can't use profile high422 ?

    &#xA;

  • FFMPEG Fontconfig error : Cannot load default config file : No such file : (null) Abort trap

    28 juillet 2023, par FastNumbers

    /usr/local/bin/ffmpeg -loop 1 -t 11.14 -i 3339861349.jpg -filter_complex "drawtext=text=aaaaa" -r 25 -vcodec libx264 -preset veryfast -threads 8 -x264opts no-scenecut -b 850k -bt 850k -ac 2 -ab 32k -async 1 -y -f mp4 test.mp4&#xA;Give me result&#xA;Fontconfig error : Cannot load default config file : No such file : (null)&#xA;Abort trap

    &#xA;

    With path to font file :&#xA;/usr/local/bin/ffmpeg -loop 1 -t 11.14 -i 3339861349.jpg -filter_complex "drawtext=text=aaaaa:fontfile=/usr/local/share/fonts/Roboto-Regular.ttf" -r 25 -vcodec libx264 -preset veryfast -threads 8 -x264opts no-scenecut -b 850k -bt 850k -ac 2 -ab 32k -async 1 -y -f mp4 test.mp4&#xA;Give me result&#xA;Abort trap

    &#xA;

    Rebild ffmpeg with —enable-libfontconfig

    &#xA;

    ffmpeg version 6.0-6.0 Copyright (c) 2000-2023 the FFmpeg developers&#xA;built with FreeBSD clang version 13.0.0 (git@github.com:llvm/llvm-project.git llvmorg-13.0.0-0-gd7b669b3a303)&#xA;configuration : —enable-gpl —enable-gmp —enable-gnutls —enable-libdav1d —enable-libsvtav1 —enable-librav1e —enable-libvmaf —enable-libx264 —enable-chromaprint —enable-libx265 —enable-libvpx —enable-libxvid —enable-libvidstab —enable-libaom —enable-libzimg —enable-libmodplug —enable-libsoxr —enable-libmysofa —enable-lv2 —enable-libopencore_amrnb —enable-libopencore_amrwb —enable-libmp3lame —enable-libopus —enable-libvorbis —enable-libtwolame —enable-libspeex —enable-lv2 —enable-libtheora —enable-librubberband —enable-libgme —enable-libwebp —enable-libzmq —enable-libfribidi —enable-libfontconfig —enable-libfreetype —enable-libass —enable-runtime-cpudetect —cc=cc —cxx=cpp —disable-ffplay —disable-debug —disable-doc —disable-shared —enable-pthreads —enable-static —enable-small —enable-version3 —extra-cflags='-static -I/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/include -I/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/include/lilv-0 -I/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/include/lilv-0' —extra-cxxflags='-static -static-libstdc++' —extra-ldexeflags= —extra-ldflags=-L/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/lib —extra-libs='-static -lc++ -ldl -lpthread -lm -lmd -lz -lfftw3' —pkgconfigdir=/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/lib/pkgconfig —pkg-config-flags=—static —prefix=/usr/home/azureagent/vsts/_work/1/s/FFmpeg/workspace/done/ —extra-version=6.0

    &#xA;

  • Everytime I run my code ffmpeg responds with this instead of doing its function. How do I fix ?

    25 juillet 2023, par Oreo F
    Output from ffmpeg/avlib:&#xA;&#xA;ffmpeg version 2023-07-19-git-efa6cec759-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers&#xA;  built with gcc 12.2.0 (Rev10, Built by MSYS2 project)&#xA;  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libaribcaption --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-libharfbuzz --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libcodec2 --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint&#xA;  libavutil      58. 14.100 / 58. 14.100&#xA;  libavcodec     60. 22.100 / 60. 22.100&#xA;  libavformat    60. 10.100 / 60. 10.100&#xA;  libavdevice    60.  2.101 / 60.  2.101&#xA;  libavfilter     9.  8.102 /  9.  8.102&#xA;  libswscale      7.  3.100 /  7.  3.100&#xA;  libswresample   4. 11.100 /  4. 11.100&#xA;  libpostproc    57.  2.100 / 57.  2.100&#xA;

    &#xA;

    Everytime I run the code it does this.

    &#xA;

    code :

    &#xA;

    import praw&#xA;import requests&#xA;import cv2&#xA;import os&#xA;from pydub import AudioSegment&#xA;&#xA;def download_video(url, filename):&#xA;    response = requests.get(url)&#xA;    with open(filename, &#x27;wb&#x27;) as f:&#xA;        f.write(response.content)&#xA;&#xA;def combine_videos(video_urls, output_filename):&#xA;    video_clips = []&#xA;    audio_clips = []&#xA;    for i, url in enumerate(video_urls):&#xA;        temp_filename = f&#x27;temp_video_{i}.mp4&#x27;&#xA;        download_video(url, temp_filename)&#xA;        video_clip = cv2.VideoCapture(temp_filename)&#xA;        audio_clip = AudioSegment.from_file(temp_filename, format="mp4")&#xA;        video_clips.append(video_clip)&#xA;        audio_clips.append(audio_clip)&#xA;    &#xA;    if not video_clips:&#xA;        print("No video clips to combine.")&#xA;        return&#xA;&#xA;    frame_width = int(video_clips[0].get(cv2.CAP_PROP_FRAME_WIDTH))&#xA;    frame_height = int(video_clips[0].get(cv2.CAP_PROP_FRAME_HEIGHT))&#xA;    fps = int(video_clips[0].get(cv2.CAP_PROP_FPS))&#xA;&#xA;    fourcc = cv2.VideoWriter_fourcc(*&#x27;mp4v&#x27;)&#xA;    output_clip = cv2.VideoWriter(output_filename, fourcc, fps, (frame_width, frame_height))&#xA;&#xA;    for i, video_clip in enumerate(video_clips):&#xA;        while True:&#xA;            ret, frame = video_clip.read()&#xA;            if not ret:&#xA;                break&#xA;            output_clip.write(frame)&#xA;    &#xA;    for video_clip in video_clips:&#xA;        video_clip.release()&#xA;    &#xA;    output_clip.release()&#xA;&#xA;    # Combining audio using pydub&#xA;    combined_audio = sum(audio_clips)&#xA;    combined_audio.export("combined_audio.mp3", format="mp3")&#xA;&#xA;    # Merging audio with video using ffmpeg&#xA;    os.system(f&#x27;ffmpeg -i {output_filename} -i combined_audio.mp3 -c:v copy -c:a aac -strict experimental -map 0:v:0 -map 1:a:0 final_output.mp4&#x27;)&#xA;&#xA;    # Cleaning up temporary files&#xA;    os.remove("combined_audio.mp3")&#xA;&#xA;def main():&#xA;    reddit = praw.Reddit(&#xA;       client_id=&#x27;XXX&#x27;,&#xA;        client_secret=&#x27;XXX&#x27;,&#xA;        user_agent=&#x27;Reddit Video Downloader&#x27;&#xA;    )&#xA;    &#xA;    subreddit_name = input("Enter the name of the subreddit: ")&#xA;    limit = int(input("Enter the number of videos to download: "))&#xA;    &#xA;    subreddit = reddit.subreddit(subreddit_name)&#xA;    submissions = subreddit.hot(limit=limit)&#xA;    &#xA;    video_urls = [submission.url for submission in submissions if submission.media and &#x27;reddit_video&#x27; in submission.media]&#xA;    &#xA;    if video_urls:&#xA;        output_filename = input("Enter the output filename (e.g., output.mp4): ")&#xA;        combine_videos(video_urls, output_filename)&#xA;        print("Videos combined successfully!")&#xA;    else:&#xA;        print("No Reddit videos found in the subreddit.")&#xA;&#xA;if __name__ == "__main__":&#xA;    main()&#xA;

    &#xA;

    Anyone got any idea why this happens ?

    &#xA;

    I'm making a script that scrapes videos from a specific subreddit.

    &#xA;

    Also if it helps the temp video file is corrupted when it gets made.

    &#xA;

    I've put this into chatGPT as well and brought an expert friend and he hasn't been able to help me.

    &#xA;