Recherche avancée

Médias (1)

Mot : - Tags -/ipad

Autres articles (81)

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

  • Automated installation script of MediaSPIP

    25 avril 2011, par

    To overcome the difficulties mainly due to the installation of server side software dependencies, an "all-in-one" installation script written in bash was created to facilitate this step on a server with a compatible Linux distribution.
    You must have access to your server via SSH and a root account to use it, which will install the dependencies. Contact your provider if you do not have that.
    The documentation of the use of this installation script is available here.
    The code of this (...)

  • Personnaliser les catégories

    21 juin 2013, par

    Formulaire de création d’une catégorie
    Pour ceux qui connaissent bien SPIP, une catégorie peut être assimilée à une rubrique.
    Dans le cas d’un document de type catégorie, les champs proposés par défaut sont : Texte
    On peut modifier ce formulaire dans la partie :
    Administration > Configuration des masques de formulaire.
    Dans le cas d’un document de type média, les champs non affichés par défaut sont : Descriptif rapide
    Par ailleurs, c’est dans cette partie configuration qu’on peut indiquer le (...)

Sur d’autres sites (6450)

  • Audio gets removed while converting mp4 to intermediate state for concatenation using ffmpeg

    6 décembre 2017, par pranav mutharia

    When I use the following command -

    ffmpeg -i input.mp4 -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts

    the audio from the given input mp4 file gets automatically removed.
    I am running this from a python sub-process.
    I want to retain the audio from the original file.

    The mp4 is an output of the following mencoder command

    mencoder -ss start-time -endpos end-time -oac pcm -ovc copy original.mp4 -o input.mp4

    The log is as follows :

    `

    Input #0, avi, from '/home/pranav/Desktop/video/video_module_05-06-2017/temp/072147_1mp4test1.mp4':
     Metadata:
       encoder         : MEncoder 1.2.1 (Debian), built with gcc-5.3.1
     Duration: 00:00:03.04, start: 0.000000, bitrate: 1440 kb/s
       Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p(tv), 640x268 [SAR 1:1 DAR 160:67], 32 kb/s, 24 fps, 24 tbr, 24 tbn, 48 tbc
       Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, 2 channels, s16, 1411 kb/s
    Output #0, mpegts, to '/home/pranav/Desktop/video/video_module_05-06-2017/temp/072147_1mp4intermediate1.ts':
     Metadata:
       encoder         : Lavf56.40.101
       Stream #0:0: Video: h264 (H264 / 0x34363248), yuv420p, 640x268 [SAR 1:1 DAR 160:67], q=2-31, 32 kb/s, 24 fps, 24 tbr, 90k tbn, 24 tbc
       Stream #0:1: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 44100 Hz, stereo, 1411 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
     Stream #0:1 -> #0:1 (copy)
    Press [q] to stop, [?] for help
    frame=   73 fps=0.0 q=-1.0 Lsize=     599kB time=00:00:03.04 bitrate=1612.5kbits/s    
    video:12kB audio:517kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 13.229376%
    ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
     configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
     libavutil      54. 31.100 / 54. 31.100
     libavcodec     56. 60.100 / 56. 60.100
     libavformat    56. 40.101 / 56. 40.101
     libavdevice    56.  4.100 / 56.  4.100
     libavfilter     5. 40.101 /  5. 40.101
     libavresample   2.  1.  0 /  2.  1.  0
     libswscale      3.  1.101 /  3.  1.101
     libswresample   1.  2.101 /  1.  2.101
     libpostproc    53.  3.100 / 53.  3.100
    Guessed Channel Layout for  Input Stream #0.1 : stereo

    `

  • FFMpeg - Split Window RTMP - Delay on Second Stream

    22 février 2016, par Nick Smit

    I’m trying to combine two live RTMP sources into one split screen output with combined audio. The output is then sent on to a receiving RTMP server.

    Using the following command, which uses the same RTMP input for both feeds, I’ve managed to get the above working, however the input on the left is delayed by about 2 seconds from the one on the right.

    ffmpeg -re -i rtmp://myserver.tld/live/stream_key -re -i rtmp://myserver.tld/live/stream_key \
    -filter_complex "\
    nullsrc=size=1152x720 [base];\
    [0:v] crop=576:720 [upperleft];\
    [1:v] crop=576:720 [upperright];\
    [base][upperleft] overlay=shortest=1 [tmp1];\
    [tmp1][upperright] overlay=shortest=1:x=576;\
    [0:a][1:a]amix \
    " -c:a libfdk_aac -ar 44100 -threads 32 -c:v libx264 -g 50 -preset ultrafast -tune zerolatency -f flv rtmp://myserver.tld/live/new_stream_key

    Output :

    ffmpeg version N-76137-gb0bb1dc Copyright (c) 2000-2015 the FFmpeg developers
    built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04)
    configuration: --prefix=/home/ubuntu/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/ubuntu/ffmpeg_build/include --extra-ldflags=-L/home/ubuntu/ffmpeg_build/lib --bindir=/home/ubuntu/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree
    libavutil      55.  4.100 / 55.  4.100
    libavcodec     57.  7.100 / 57.  7.100
    libavformat    57.  8.102 / 57.  8.102
    libavdevice    57.  0.100 / 57.  0.100
    libavfilter     6. 12.100 /  6. 12.100
    libswscale      4.  0.100 /  4.  0.100
    libswresample   2.  0.100 /  2.  0.100
    libpostproc    54.  0.100 / 54.  0.100
    [flv @ 0x3a0e940] video stream discovered after head already parsed
    Input #0, flv, from 'rtmp://myserver.tld/live/stream_key':
    Metadata:
    Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
    displayWidth    : 1152
    displayHeight   : 720
    fps             : 29
    profile         :
    level           :
    Duration: 00:00:00.00, start: 5.717000, bitrate: N/A
    Stream #0:0: Audio: aac (LC), 48000 Hz, stereo, fltp, 163 kb/s
    Stream #0:1: Video: h264 (High), yuv420p, 1152x720, 30.30 fps, 29.97 tbr, 1k tbn, 59.94 tbc
    [flv @ 0x3a49e00] video stream discovered after head already parsed
    Input #1, flv, from 'rtmp://myserver.tld/live/stream_key':
    Metadata:
    Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
    displayWidth    : 1152
    displayHeight   : 720
    fps             : 29
    profile         :
    level           :
    Duration: 00:00:00.00, start: 9.685000, bitrate: N/A
    Stream #1:0: Audio: aac (LC), 48000 Hz, stereo, fltp, 163 kb/s
    Stream #1:1: Video: h264 (High), yuv420p, 1152x720, 30.30 fps, 29.97 tbr, 1k tbn, 59.94 tbc
    [libx264 @ 0x3a9cd60] Application has requested 32 threads. Using a thread count greater than 16 is not recommended.
    [libx264 @ 0x3a9cd60] using SAR=1/1
    [libx264 @ 0x3a9cd60] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
    [libx264 @ 0x3a9cd60] profile Constrained Baseline, level 3.1
    [libx264 @ 0x3a9cd60] 264 - core 142 r2389 956c8d8 - H.264/MPEG-4 AVC codec - Copyleft 2003-2014 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=11 lookahead_threads=11 sliced_threads=1 slices=11 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=50 keyint_min=5 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
    Output #0, flv, to 'rtmp://myserver.tld/live/new_stream_key':
    Metadata:
    Server          : NGINX RTMP (github.com/arut/nginx-rtmp-module)
    displayWidth    : 1152
    displayHeight   : 720
    fps             : 29
    profile         :
    level           :
    encoder         : Lavf57.8.102
    Stream #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p, 1152x720 [SAR 1:1 DAR 8:5], q=-1--1, 25 fps, 1k tbn, 25 tbc (default)
    Metadata:
    encoder         : Lavc57.7.100 libx264
    Stream #0:1: Audio: aac (libfdk_aac) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, s16, 128 kb/s (default)
    Metadata:
    encoder         : Lavc57.7.100 libfdk_aac
    Stream mapping:
    Stream #0:0 (aac) -> amix:input0
    Stream #0:1 (h264) -> crop
    Stream #1:0 (aac) -> amix:input1
    Stream #1:1 (h264) -> crop
    overlay -> Stream #0:0 (libx264)
    amix -> Stream #0:1 (libfdk_aac)
    Press [q] to stop, [?] for help
    [flv @ 0x3a0e940] Thread message queue blocking; consider raising the thread_queue_size option (current value: 512)
    frame=   81 fps= 20 q=15.0 size=     674kB time=00:00:03.24 bitrate=1703.3kbits/frame=  102 fps= 22 q=22.0 size=     945kB time=00:00:04.08 bitrate=1896.4kbits/

    Is there any way to force FFMpeg to read both RTMP inputs at the same time ?

  • How to send encoded video (or audio) data from server to client in a way that's decodable by webcodecs API using minimal latency and data overhead

    11 janvier 2023, par Tiger Yang

    My question (read entire post for context) :

    


    Given the unique circumstance of only ever decoding data from a specifically-configured encoder, what is the best way I can send the encoded bitstream along with the bare minimum extra bytes required to properly configure the decoder on the client's end (including only things that change per stream, and omitting things that don't, such as resolution) ? I'm a sucker for zero compromises, and I think I am willing to design my own minimal container format to accomplish this.

    


    Context and problem :

    


    I'm working on a remote desktop implementation that consists of a server that captures and encodes the display and speakers using FFmpeg and forwards it via pipe to a go (language) program which sends it on two unidirectional webtransport streams to my client, which I plan to decode using the webcodecs API. According to MDN, the video decoder needs to be fed via .configure() an object containing the following : https://developer.mozilla.org/en-US/docs/Web/API/VideoDecoder/configure before it's able to decode anything.

    


    same goes for the audio decoder : https://developer.mozilla.org/en-US/docs/Web/API/AudioDecoder/configure

    


    What I've tried so far :

    


    Because this remote desktop will be for my personal use only, it would only ever receive streams from a specific encoder configured in a specific way encoding video at a specific resolution, framerate, color space, etc.. Therefore, I took my video capture FFmpeg command...

    


    videoString := []string{
        "ffmpeg",
        "-init_hw_device", "d3d11va",
        "-filter_complex", "ddagrab=video_size=1920x1080:framerate=60",
        "-vcodec", "hevc_nvenc",
        "-tune", "ll",
        "-preset", "p7",
        "-spatial_aq", "1",
        "-temporal_aq", "1",
        "-forced-idr", "1",
        "-rc", "cbr",
        "-b:v", "500K",
        "-no-scenecut", "1",
        "-g", "216000",
        "-f", "hevc", "-",
    }


    


    ...and instructed it to write to an mp4 file instead of outputting to pipe, and then I had this webcodecs demo https://w3c.github.io/webcodecs/samples/video-decode-display/ demux it using mp4box.js. Knowing that the demo outputs a proper .configure() object, I blindly copied it and had my client configure using that every time. Sadly, it didn't work, and I since noticed that the "description" part of the configure object changes despite the encoder and parameters being the same.

    


    I knew that mp4 files worked via mp4box, but they can't be streamed with low latency over a network, and additionally, ffmpeg's -f parameters specifies the muxer to use, but there are so many different types.

    


    At this point, I think I'm completely out of my depth, so :

    


    Given the unique circumstance of only ever decoding data from a specifically-configured encoder, what is the best way I can send the encoded bitstream along with the bare minimum extra bytes required to properly configure the decoder on the client's end (including only things that change per stream, and omitting things that don't, such as resolution) ? I'm a sucker for zero compromises, and I think I am willing to design my own minimal container format to accomplish this. (copied above)