Recherche avancée

Médias (91)

Autres articles (41)

  • Creating farms of unique websites

    13 avril 2011, par

    MediaSPIP platforms can be installed as a farm, with a single "core" hosted on a dedicated server and used by multiple websites.
    This allows (among other things) : implementation costs to be shared between several different projects / individuals rapid deployment of multiple unique sites creation of groups of like-minded sites, making it possible to browse media in a more controlled and selective environment than the major "open" (...)

  • Création définitive du canal

    12 mars 2010, par

    Lorsque votre demande est validée, vous pouvez alors procéder à la création proprement dite du canal. Chaque canal est un site à part entière placé sous votre responsabilité. Les administrateurs de la plateforme n’y ont aucun accès.
    A la validation, vous recevez un email vous invitant donc à créer votre canal.
    Pour ce faire il vous suffit de vous rendre à son adresse, dans notre exemple "http://votre_sous_domaine.mediaspip.net".
    A ce moment là un mot de passe vous est demandé, il vous suffit d’y (...)

  • MediaSPIP Init et Diogène : types de publications de MediaSPIP

    11 novembre 2010, par

    À l’installation d’un site MediaSPIP, le plugin MediaSPIP Init réalise certaines opérations dont la principale consiste à créer quatre rubriques principales dans le site et de créer cinq templates de formulaire pour Diogène.
    Ces quatre rubriques principales (aussi appelées secteurs) sont : Medias ; Sites ; Editos ; Actualités ;
    Pour chacune de ces rubriques est créé un template de formulaire spécifique éponyme. Pour la rubrique "Medias" un second template "catégorie" est créé permettant d’ajouter (...)

Sur d’autres sites (4952)

  • FFMPEG generated h264/aac mp4 video first frame doesn't report a zero mediaTime using requestVideoFrameCallback html api [closed]

    12 mai 2023, par Daniel Robinson

    I have noticed that mp4 files generated using ffmpeg aren’t reporting a mediaTime of 0 via requestVideoFrameCallback for the first frame however files encoded as webm or via another encoder such as mainconcept its 0.

    


    You can see a demo of the issue here https://randomstuffdr.s3.eu-west-1.amazonaws.com/TEST-v3.HTML
As you increment the frames with video 1 you don’t see video progress until the third button press.

    


    With video 2-4, the mediaTime is 0 and a single press of the button increments the video by one frame.

    


    Browser : Chrome 113.0.5672.92 (Windows 10)

    


    FFMPEG Version : 6.0-essentials_build-www.gyan.dev or N-109421-g9adf02247c-20221216

    


    There was an interesting note on this page related to mediaTime implementation in chrome https://web.dev/requestvideoframecallback-rvfc/

    


    


    Of special interest in this list is mediaTime. In Chromium's
implementation, we use the audio clock as the time source that backs
video.currentTime, whereas the mediaTime is directly populated by the
presentationTimestamp of the frame. The mediaTime is what you should
use if you want to exactly identify frames in a reproducible way,
including to identify exactly which frames you missed.

    


    


    The led me to compare the PTS files of the video and audio stream between the ffmpeg and MC files using ffprobe however these are all zero for the first frames. The one interesting note, is that ffmpeg file seems to interleave video and audio packets in ffprobe while the mainconcept file has 8 video frames before audio, I have no idea if this is significant.

    


    What I would like to know is if there is any way I can make ffmpeg generate a file in a similar manner to mainconcept ? So far I have tried ; disabling b-frames, use baseline profile and avoid_negative_ts

    


    Video 1 – (Video : H264 /Audio : AAC / Wrapper : MP4 / Transcoder : FFMPEG)
.\ffmpeg.exe -i '720p50 Flash and Beep.mxf' -map 0:0 -map 0:1 -map_metadata -1 -c:v libx264 -crf 28 -b:v 118k -maxrate 118k -bufsize 236k -vf scale="480 :-1" -preset veryfast -c:a aac "..\low-res\720p50FlashandBeep_V_A.mp4"

    


    Video 2 – (Video : H264 /Audio : No Audio / Wrapper : MP4 / Transcoder : FFMPEG)
.\ffmpeg.exe -i '720p50 Flash and Beep.mxf' -map 0:0 -map 0:1 -map_metadata -1 -c:v libx264 -crf 28 -b:v 118k -maxrate 118k -bufsize 236k -vf scale="480 :-1" -preset veryfast -an "..\low-res\720p50FlashandBeep_V.mp4"

    


    Video 3 – (Video : vp8 /Audio : ogg / Wrapper : webm / Transcoder : FFMPEG)
.\ffmpeg.exe -i '720p50 Flash and Beep.mxf' -map 0:0 -map 0:1 -map_metadata -1 -c:v vp8 -crf 28 -b:v 118k -maxrate 118k -bufsize 236k -vf scale="480 :-1" -preset veryfast "..\low-res\720p50FlashandBeep_V_A.webm"

    


    Video 4 – (Video : H264 /Audio : AAC / Wrapper : MP4 / Transcoder : MainConcept)

    


  • ts video via UDP from ffmpeg to gstreamer [closed]

    23 janvier 2024, par aron.h

    Hardware : Jetson AGX ORIN
Software : Jetpack 5.0.2

    


    I have been attempting to send a video file locally via UDP using ffmpeg :

    


    ffmpeg -stream_loop -1 -re -i test.ts -map 0 -c copy -preset ultrafast -f mpegts "udp://127.0.0.1:5000"

    


    And receiving the same stream via UDP using gstreamer :

    


    gst-launch-1.0 udpsrc port=5000 ! application/x-rtp, media=video, clock-rate=90000, encoding-name=H264 ! rtph264depay ! decodebin ! videoconvert ! aasink

    


    But I get an error on the receiving gstreamer end :

    


    /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0: Could not decode stream.
Additional debug info:
gstrtpbasedepayload.c(505): gst_rtp_base_depayload_handle_buffer (): 
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0:
Received invalid RTP payload, dropping
ERROR: from element /GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0:
The stream is in the wrong format.
Additional debug info:
gstrtph264depay.c(1298): gst_rtp_h264_depay_process ():
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0:
NAL unit type 27 not supported yet


    


    More detailed information on the video file :

    


    Original ID: 1002
Codec: H264 - MPEG-4 AVC (part 10) (h264)
Type: Video
Video resolution: 1920x1080
Buffer dimensions: 1920x1088
Frame rate: 30
Decoded format: 
Orientation: Top left
Chroma location: left


    


    When I listen with the command gst-launch-1.0 -v udpsrc port=5000 ! fakesink dump=1, it is quite apparent that the packets from FFMPEG are being received.
I am not sure why gstreamer's rtph264depay says the stream is in the wrong format.

    


    Would I have to check some details on the FFMPEG side ?
This is what information FFMPEG shows by default while running.

    


    Input #0, mpegts, from 'test.ts':
  Duration: 00:00:57.36, start: 20902.827056, bitrate: 2504 kb/s
  Program 1
    Stream #0:0[0x3ea]: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc
Output #0, mpegts, to 'udp://127.0.0.1:5000':
  Metadata:
    encoder         : Lavf58.29.100
    Stream #0:0: Video: h264 (Main) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 29.97 fps, 29.97 tbr, 90k tbn, 90k tbc
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame=  611 fps= 30 q=-1.0 Lsize=    5847kB time=00:00:20.62 bitrate=2323.0kbits/s speed=   1x
video:5350kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 9.301388%


    


    Any advice would be appreciated.

    


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

    


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

    


    This is my starting point from the liquidsoap cookbook :

    


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


    


    And this is my output from liquidsoap :

    


    2024/02/01 20:49:05 [clock:3] Using native (high-precision) implementation for latency control
2024/02/01 20:49:07 [main:3] Standard library loaded in 1.64 seconds.
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`
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`
2024/02/01 20:49:07 [frame:3] Using 44100Hz audio, 25Hz video, 44100Hz main.
2024/02/01 20:49:07 [frame:3] Video frame size set to: 1280x720
2024/02/01 20:49:07 [frame:3] Frame size must be a multiple of 1764 ticks = 1764 audio samples = 1 video samples.
2024/02/01 20:49:07 [frame:3] Targeting 'frame.duration': 0.04s = 1764 audio samples = 1764 ticks.
2024/02/01 20:49:07 [frame:3] Frames last 0.04s = 1764 audio samples = 1 video samples = 1764 ticks.
2024/02/01 20:49:07 [sandbox:3] Could not find binary bwrap, disabling sandboxing.
2024/02/01 20:49:07 [startup:3] DSSI plugins registration: 0.00s
2024/02/01 20:49:07 [startup:3] FFmpeg filters registration: 0.02s
2024/02/01 20:49:07 [startup:3] FFmpeg bitstream filters registration: 0.00s
2024/02/01 20:49:07 [startup:3] Lilv plugins registration: 0.00s
2024/02/01 20:49:07 [startup:3] Frei0r plugin registration: 0.00s
2024/02/01 20:49:07 [startup:3] LADSPA plugins registration: 0.00s
2024/02/01 20:49:07 [startup:3] Typechecking: 1.36s
2024/02/01 20:49:07 [startup:3] Evaluation: 0.01s
2024/02/01 20:49:07 [startup:3] Typechecking: 0.02s
2024/02/01 20:49:07 [startup:3] Evaluation: 0.00s
2024/02/01 20:49:07 [startup:3] Typechecking: 0.00s
2024/02/01 20:49:07 [startup:3] Evaluation: 0.00s
2024/02/01 20:49:07 [startup:3] Typechecking: 0.00s
2024/02/01 20:49:07 [startup:3] Evaluation: 0.08s
2024/02/01 20:49:07 [startup:3] Loaded /etc/liquidsoap/index.liq: 0.08s
2024/02/01 20:49:07 [64_aac:3] Content type is {audio=pcm(stereo)}.
2024/02/01 20:49:07 [cross:3] Content type is {audio=pcm(stereo)}.
2024/02/01 20:49:07 [on_track:3] Content type is {audio=pcm(stereo)}.
2024/02/01 20:49:07 [promos.2:3] Content type is {audio=pcm(stereo)}.
2024/02/01 20:49:07 [promos:3] Content type is {}.
2024/02/01 20:49:07 [current:3] Content type is {audio=pcm(stereo)}.
2024/02/01 20:49:07 [music.3:3] Content type is {audio=pcm(stereo)}.
2024/02/01 20:49:07 [music.2:3] Content type is {}.
2024/02/01 20:49:07 [music:3] Content type is {audio=pcm(stereo)}.
2024/02/01 20:49:07 [safe_blank:3] Content type is {audio=pcm(stereo)}.
2024/02/01 20:49:07 [clock.main:3] Streaming loop starts in auto-sync mode
2024/02/01 20:49:07 [clock.main:3] Delegating synchronization to CPU clock
2024/02/01 20:49:07 [video.converter:3] Using preferred video converter: ffmpeg.
2024/02/01 20:49:07 [audio.converter:3] Using samplerate converter: libsamplerate.
2024/02/01 20:49:07 [video.text:3] Using sdl implementation
2024/02/01 20:49:07 [mksafe:3] Switch to safe_blank.
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] }!
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
2024/02/01 20:49:07 [clock.main:2] Called from Stdlib__List.iter in file "list.ml", line 110, characters 12-15
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
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
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
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
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
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
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
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
Incorrect BOM value
Error reading lyrics, skipped
2024/02/01 20:49:07 [clock.main:2]
[mp3 @ 0x7fd5ad428000] Estimating duration from bitrate, this may be inaccurate
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)}
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)}
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)}
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)}
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}
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)}
Incorrect BOM value
Error reading lyrics, skipped
[mp3 @ 0x7fd5ad428000] Estimating duration from bitrate, this may be inaccurate
2024/02/01 20:49:07 [clock.main:3] Streaming loop stopped.
2024/02/01 20:49:07 [threads:3] Main loop exited
2024/02/01 20:49:07 [main:3] Shutdown started!
2024/02/01 20:49:07 [threads:3] Waiting for main threads to terminate...
2024/02/01 20:49:07 [threads:3] Main threads terminated.
2024/02/01 20:49:07 [threads:3] Shutting down scheduler...
2024/02/01 20:49:07 [threads:3] Scheduler shut down.
2024/02/01 20:49:07 [main:3] Cleaning downloaded files...
2024/02/01 20:49:07 [main:3] Freeing memory...
2024/02/01 20:49:07 >>> LOG END


    


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

    


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


    


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