Recherche avancée

Médias (91)

Autres articles (86)

  • 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

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

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 is the first MediaSPIP stable release.
    Its official release date is June 21, 2013 and is announced here.
    The zip file provided here only contains the sources of MediaSPIP in its standalone version.
    To get a working installation, you must manually install all-software dependencies on the server.
    If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...)

Sur d’autres sites (7604)

  • avutil/hwcontext_opencl : Add map from Videotoolbox to OpenCL

    23 février 2024, par Zhao Zhili
    avutil/hwcontext_opencl : Add map from Videotoolbox to OpenCL
    

    For example :
    ./ffmpeg -hwaccel videotoolbox \
    -hwaccel_output_format videotoolbox_vld \
    -i foo.mp4 \
    -vf hwmap=derive_device=opencl,transpose_opencl=dir=clock,hwmap,format=nv12 \
    -c:v hevc_videotoolbox \
    -c:a copy \
    -b:v 2M -tag:v hvc1 bar.mp4

    Signed-off-by : Zhao Zhili <zhilizhao@tencent.com>

    • [DH] configure
    • [DH] libavutil/hwcontext_opencl.c
  • when ffpmeg drops frames some things aren't played back in real time

    8 février 2024, par Alex028502

    I am trying to run a bunch of ffpmeg processes that act as simulators for cameras, and something funny is happening when I the processor can't keep up with the configured frame rate.

    &#xA;

    I have replaced the rtsp stream with an output file, and managed to reproduce the issue, so will just show that to keep it simple.

    &#xA;

    First here is a makefile that creates my source movie :

    &#xA;

    clock.mp4: Makefile&#xA;    rm -f $@&#xA;    ffmpeg -f lavfi -i color=c=black:s=4096x2160:r=25 -vf \&#xA;"drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=72:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2: \&#xA;text=&#x27;%{eif\:trunc(n/25)\:d}&#x27;:start_number=0:rate=25" \&#xA;-t 60 -r 25 $@&#xA;

    &#xA;

    that gives me a one minute long movie that prints the second number to the screen. I have tested it out and the seconds are close enough. I put a lot of pixels to make it easier to jam up my CPU.

    &#xA;

    Here is the script that creates a processes similar to the one I am trying to debug (called experiment.sh)

    &#xA;

    I am actually using H.264, but H.265 is easier to overwhelm the processor with

    &#xA;

    #! /usr/bin/env bash&#xA;&#xA;set -e&#xA;&#xA;echo starting > message$1.txt&#xA;&#xA;rm -f superclock$1.mp4&#xA;ffmpeg -re -stream_loop -1 -i clock.mp4 \&#xA;       -an -vcodec libx265 -preset ultrafast -sc_threshold -1 -x265-params repeat-headers=1 \&#xA;       -vf "drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=24:fontcolor=white:x=10:y=10:text=&#x27;%{localtime\:%X}&#x27;, \&#xA;            drawtext=fontfile=/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf:fontsize=24:fontcolor=white:x=10:y=(h-text_h-10):textfile=message$1.txt:reload=1, \&#xA;            scale=1920x1080,fps=25" \&#xA;       -b:v 3M -minrate 3M -maxrate 3M \&#xA;       -bufsize 6M -g 25 superclock$1.mp4 &amp;&#xA;pid=$!&#xA;&#xA;for x in $(seq 0 10)&#xA;do&#xA;    echo $x > message$1.txt&#xA;    sleep 10&#xA;done&#xA;&#xA;kill -INT $pid || true&#xA;

    &#xA;

    It should

    &#xA;

      &#xA;
    • put the second in the middle of the screen - 'cause it gets it from the source video
    • &#xA;

    • put the approximate sixth of minute in the lower left corner&#xA;(only approximate because of the sleep but close enough)
    • &#xA;

    • put the the wall clock time in the upper left corner
    • &#xA;

    &#xA;

    and it works

    &#xA;

    make clock.mpg&#xA;./experiment.sh 0&#xA;vlc superclock0.mp4&#xA;

    &#xA;

    shows something like this&#xA;working video

    &#xA;

    Now here is the interesting part

    &#xA;

    If I run the script in four different terminals at the same time

    &#xA;

    ./experiment.sh 1&#xA;./experiment.sh 2&#xA;./experiment.sh 3&#xA;./experiment.sh 4&#xA;

    &#xA;

    It can't keep up with the frame rate, and I see this in the output :

    &#xA;

    frame= 1515 fps= 16 q=0.0 size=     768kB time=00:00:59.96 bitrate= 104.9k&#xA;

    &#xA;

    I was hoping the end result would all look ok when I watch it except with fewer frames, but the timestamps of the frames would make it all work as expected

    &#xA;

    However...

    &#xA;

      &#xA;
    • The time in the middle, that is inherited from the source video, the seconds in the middle of the screen, stays in sync with VLC's clock.
    • &#xA;

    • the wall clock in the upper left seems play at 150% speed
    • &#xA;

    • the every ten seconds incrementor in the lower left seems to increment every 7 seconds
    • &#xA;

    • the video is only 1:25 long even though it was recording for at least 1:40 according to sleeps
    • &#xA;

    • the wall clock in the upper right hand corner makes it more than 1'40" and then counter in the lower left makes it to 10.
    • &#xA;

    &#xA;

    30 seconds in

    &#xA;

    Here are four states to compare

    &#xA;

    |                  | Start    | 30" in   | end      |&#xA;|------------------&#x2B;----------&#x2B;----------|----------|&#xA;| Video Time       | 00:00    | 00:30    | 01:24    |&#xA;| Wall Clock Time  | 15:05:50 | 15:06:39 | 15:07:39 |&#xA;| sixth of minute  | 0        | 4        | 10       |&#xA;| seconds counter  | 0        | 30       | 24       |&#xA;

    &#xA;

    end of the movie

    &#xA;

    So you can see the vlc clock keeps pace with the original clock from the source movie.. even when it is only able to produce frames at 2/3 of the rate. However, the it is taking 50% long to get through the whole source movie I guess ?

    &#xA;

    I am having trouble coming up with a theory that can explain exactly how this happens.

    &#xA;

    Does anybody know how I can "correct" this ? (make it so that the movie is played at the same rate that it is recorded)

    &#xA;

    I am thinking of using a lower frame rate and size as the input video.. but it would be nice to have something that will always work as expected, just with a lower frame rate, no matter how busy the processor is.

    &#xA;

  • Correct usage of fdkaac for liquidsoap->icecast

    1er février 2024, par user4893295

    Can't seem to get aac working using fdkaac with liquidsoap. It just seems to shutdown.

    &#xA;

    TBF I have no idea which aot or transmux to use for "normal" icecast stuff. mp3 works fine, and the icecast server works fine with aac from other sources (BUTT etc).

    &#xA;

    This is my starting point from the liquidsoap cookbook :

    &#xA;

    %fdkaac(channels=2, samplerate=44100, bandwidth="auto", bitrate=64, afterburner=false, aot="mpeg2_he_aac_v2", transmux="adts", sbr_mode=false)&#xA;

    &#xA;

    And this is my output from liquidsoap :

    &#xA;

    2024/02/01 20:49:05 [clock:3] Using native (high-precision) implementation for latency control&#xA;2024/02/01 20:49:07 [main:3] Standard library loaded in 1.64 seconds.&#xA;2024/02/01 20:49:07 [lang:2] WARNING: "set" is deprecated and will be removed in future version. Please use `settings.path.to.key := value`&#xA;2024/02/01 20:49:07 [lang:2] WARNING: "set" is deprecated and will be removed in future version. Please use `settings.path.to.key := value`&#xA;2024/02/01 20:49:07 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz main.&#xA;2024/02/01 20:49:07 [frame:3] Video frame size set to: 1280x720&#xA;2024/02/01 20:49:07 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.&#xA;2024/02/01 20:49:07 [frame:3] Targeting &#x27;frame.duration&#x27;: 0.04s = 1764 audio samples = 1764 ticks.&#xA;2024/02/01 20:49:07 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.&#xA;2024/02/01 20:49:07 [sandbox:3] Could not find binary bwrap, disabling sandboxing.&#xA;2024/02/01 20:49:07 [startup:3] DSSI plugins registration: 0.00s&#xA;2024/02/01 20:49:07 [startup:3] FFmpeg filters registration: 0.02s&#xA;2024/02/01 20:49:07 [startup:3] FFmpeg bitstream filters registration: 0.00s&#xA;2024/02/01 20:49:07 [startup:3] Lilv plugins registration: 0.00s&#xA;2024/02/01 20:49:07 [startup:3] Frei0r plugin registration: 0.00s&#xA;2024/02/01 20:49:07 [startup:3] LADSPA plugins registration: 0.00s&#xA;2024/02/01 20:49:07 [startup:3] Typechecking: 1.36s&#xA;2024/02/01 20:49:07 [startup:3] Evaluation: 0.01s&#xA;2024/02/01 20:49:07 [startup:3] Typechecking: 0.02s&#xA;2024/02/01 20:49:07 [startup:3] Evaluation: 0.00s&#xA;2024/02/01 20:49:07 [startup:3] Typechecking: 0.00s&#xA;2024/02/01 20:49:07 [startup:3] Evaluation: 0.00s&#xA;2024/02/01 20:49:07 [startup:3] Typechecking: 0.00s&#xA;2024/02/01 20:49:07 [startup:3] Evaluation: 0.08s&#xA;2024/02/01 20:49:07 [startup:3] Loaded /etc/liquidsoap/index.liq: 0.08s&#xA;2024/02/01 20:49:07 [64_aac:3] Content type is {audio=pcm(stereo)}.&#xA;2024/02/01 20:49:07 [cross:3] Content type is {audio=pcm(stereo)}.&#xA;2024/02/01 20:49:07 [on_track:3] Content type is {audio=pcm(stereo)}.&#xA;2024/02/01 20:49:07 [promos.2:3] Content type is {audio=pcm(stereo)}.&#xA;2024/02/01 20:49:07 [promos:3] Content type is {}.&#xA;2024/02/01 20:49:07 [current:3] Content type is {audio=pcm(stereo)}.&#xA;2024/02/01 20:49:07 [music.3:3] Content type is {audio=pcm(stereo)}.&#xA;2024/02/01 20:49:07 [music.2:3] Content type is {}.&#xA;2024/02/01 20:49:07 [music:3] Content type is {audio=pcm(stereo)}.&#xA;2024/02/01 20:49:07 [safe_blank:3] Content type is {audio=pcm(stereo)}.&#xA;2024/02/01 20:49:07 [clock.main:3] Streaming loop starts in auto-sync mode&#xA;2024/02/01 20:49:07 [clock.main:3] Delegating synchronization to CPU clock&#xA;2024/02/01 20:49:07 [video.converter:3] Using preferred video converter: ffmpeg.&#xA;2024/02/01 20:49:07 [audio.converter:3] Using samplerate converter: libsamplerate.&#xA;2024/02/01 20:49:07 [video.text:3] Using sdl implementation&#xA;2024/02/01 20:49:07 [mksafe:3] Switch to safe_blank.&#xA;2024/02/01 20:49:07 [clock.main:2] Source 64_aac failed while streaming: Lang.Runtime_error { kind: "encoder", msg: "Invalid configuration: aot", pos: [at /etc/liquidsoap/index.liq, line 52, char 2-144] }!&#xA;2024/02/01 20:49:07 [clock.main:2] Raised at Liquidsoap_lang__Runtime_error.raise in file "src/lang/runtime_error.ml", line 48, characters 14-21&#xA;2024/02/01 20:49:07 [clock.main:2] Called from Stdlib__List.iter in file "list.ml", line 110, characters 12-15&#xA;2024/02/01 20:49:07 [clock.main:2] Called from Fdkaac_encoder.create_encoder in file "src/core/encoder/encoders/fdkaac_encoder.ml", line 69, characters 2-22&#xA;2024/02/01 20:49:07 [clock.main:2] Called from Fdkaac_encoder.encoder in file "src/core/encoder/encoders/fdkaac_encoder.ml", line 73, characters 12-35&#xA;2024/02/01 20:49:07 [clock.main:2] Called from Encoder.get_factory.(fun) in file "src/core/encoder/encoder.ml", line 344, characters 8-32&#xA;2024/02/01 20:49:07 [clock.main:2] Called from Icecast2.output#icecast_start in file "src/core/outputs/icecast2.ml", line 555, characters 16-67&#xA;2024/02/01 20:49:07 [clock.main:2] Called from Icecast2.output#send in file "src/core/outputs/icecast2.ml", line 544, characters 12-30&#xA;2024/02/01 20:49:07 [clock.main:2] Called from Output.encoded#send_frame.output_chunks.f in file "src/core/outputs/output.ml", line 256, characters 10-24&#xA;2024/02/01 20:49:07 [clock.main:2] Called from Output.output#output in file "src/core/outputs/output.ml", line 192, characters 45-70&#xA;2024/02/01 20:49:07 [clock.main:2] Called from Clock.MkClock.clock#end_tick.(fun) in file "src/core/clock.ml", line 318, characters 16-24&#xA;Incorrect BOM value&#xA;Error reading lyrics, skipped&#xA;2024/02/01 20:49:07 [clock.main:2]&#xA;[mp3 @ 0x7fd5ad428000] Estimating duration from bitrate, this may be inaccurate&#xA;2024/02/01 20:49:07 [decoder.ffmpeg:3] Requested content-type for "/data/dropbox/promos/current/24-7 promo 1 remix.mp3": {audio=pcm(stereo)}&#xA;2024/02/01 20:49:07 [decoder.ffmpeg:3] FFmpeg recognizes "/data/dropbox/promos/current/24-7 promo 1 remix.mp3" as audio: {codec: mp3, 44100Hz, 2 channel(s)}&#xA;2024/02/01 20:49:07 [decoder.ffmpeg:3] Decoded content-type for "/data/dropbox/promos/current/24-7 promo 1 remix.mp3": {audio=pcm(stereo)}&#xA;2024/02/01 20:49:07 [decoder.ffmpeg:3] Requested content-type for "/data/music/Bruno Mars - Locked out of Heaven.mp3": {audio=pcm(stereo)}&#xA;2024/02/01 20:49:07 [decoder.ffmpeg:3] FFmpeg recognizes "/data/music/Bruno Mars - Locked out of Heaven.mp3" as audio: {codec: mp3, 44100Hz, 2 channel(s)}, video: {codec: mjpeg, 640x640, yuvj444p}, video_2: {codec: mjpeg, 640x640, yuvj444p}&#xA;2024/02/01 20:49:07 [decoder.ffmpeg:3] Decoded content-type for "/data/music/Bruno Mars - Locked out of Heaven.mp3": {audio=pcm(stereo)}&#xA;Incorrect BOM value&#xA;Error reading lyrics, skipped&#xA;[mp3 @ 0x7fd5ad428000] Estimating duration from bitrate, this may be inaccurate&#xA;2024/02/01 20:49:07 [clock.main:3] Streaming loop stopped.&#xA;2024/02/01 20:49:07 [threads:3] Main loop exited&#xA;2024/02/01 20:49:07 [main:3] Shutdown started!&#xA;2024/02/01 20:49:07 [threads:3] Waiting for main threads to terminate...&#xA;2024/02/01 20:49:07 [threads:3] Main threads terminated.&#xA;2024/02/01 20:49:07 [threads:3] Shutting down scheduler...&#xA;2024/02/01 20:49:07 [threads:3] Scheduler shut down.&#xA;2024/02/01 20:49:07 [main:3] Cleaning downloaded files...&#xA;2024/02/01 20:49:07 [main:3] Freeing memory...&#xA;2024/02/01 20:49:07 >>> LOG END&#xA;

    &#xA;

    EDIT it does seem to be using video, which wouldn't help ? Looking at this bit :

    &#xA;

    2024/02/01 20:49:07 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz main.&#xA;2024/02/01 20:49:07 [frame:3] Video frame size set to: 1280x720&#xA;

    &#xA;

    But no idea why or how to stop that...

    &#xA;