Recherche avancée

Médias (5)

Mot : - Tags -/open film making

Autres articles (49)

  • 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 formats acceptés

    28 janvier 2010, par

    Les commandes suivantes permettent d’avoir des informations sur les formats et codecs gérés par l’installation local de ffmpeg :
    ffmpeg -codecs ffmpeg -formats
    Les format videos acceptés en entrée
    Cette liste est non exhaustive, elle met en exergue les principaux formats utilisés : h264 : H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 m4v : raw MPEG-4 video format flv : Flash Video (FLV) / Sorenson Spark / Sorenson H.263 Theora wmv :
    Les formats vidéos de sortie possibles
    Dans un premier temps on (...)

  • Ajouter notes et légendes aux images

    7 février 2011, par

    Pour pouvoir ajouter notes et légendes aux images, la première étape est d’installer le plugin "Légendes".
    Une fois le plugin activé, vous pouvez le configurer dans l’espace de configuration afin de modifier les droits de création / modification et de suppression des notes. Par défaut seuls les administrateurs du site peuvent ajouter des notes aux images.
    Modification lors de l’ajout d’un média
    Lors de l’ajout d’un média de type "image" un nouveau bouton apparait au dessus de la prévisualisation (...)

Sur d’autres sites (8449)

  • Using ffmpeg to convert the audio of an RTSP stream to PCM alaw and hosting an RTSP stream as the output

    24 octobre 2020, par Sirisian

    I have an RTSP stream on my network that is H264 for video and aac for audio. I need the audio converted to PCM alaw with the video just passed through.

    


    I tried :

    


    ffmpeg -rtsp_transport udp -i rtsp://10.0.0.10/main -vcodec copy -acodec pcm_alaw -rtsp_flags listen -f rtsp rtsp://localhost:8001/main


    


    The output I get is :

    


    ffmpeg version 4.3.1-2020-10-01-essentials_build-www.gyan.dev Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 10.2.0 (Rev3, Built by MSYS2 project)
  configuration: --enable-gpl --enable-version3 --enable-static --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-lzma --enable-zlib --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-sdl2 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libaom --enable-libopenjpeg --enable-libvpx --enable-libass --enable-libfreetype --enable-libfribidi --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-libgme --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libtheora --enable-libvo-amrwbenc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-librubberband
  libavutil      56. 51.100 / 56. 51.100
  libavcodec     58. 91.100 / 58. 91.100
  libavformat    58. 45.100 / 58. 45.100
  libavdevice    58. 10.100 / 58. 10.100
  libavfilter     7. 85.100 /  7. 85.100
  libswscale      5.  7.100 /  5.  7.100
  libswresample   3.  7.100 /  3.  7.100
  libpostproc    55.  7.100 / 55.  7.100
[rtsp @ 0000025ebdf1db00] Interleaved RTP mode is not supported yet.
Input #0, rtsp, from 'rtsp://10.0.0.10/main':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc
    Stream #0:1: Audio: aac (LC), 48000 Hz, stereo, fltp
Stream mapping:
  Stream #0:0 -> #0:0 (copy)
  Stream #0:1 -> #0:1 (aac (native) -> pcm_alaw (native))
Press [q] to stop, [?] for help


    


    It's running, but it's not listening on port 8001. I've tried both UDP and TCP, so I think I am misunderstanding what "-rtsp_flags listen" does for ffmpeg ? My goal is to start an "RTSP server" locally and allow say VLC or any other player to connect and play it. Is this something ffmpeg can do or do I need to send the stream to something else to allow VLC or other media players to connect to it locally ? (The hardware I'm running isn't terribly fast, so I'd like to do this with the least amount of operations possible).

    


    For reference if I run :

    


    ffplay -rtsp_flags listen rtsp://localhost:8001/main


    


    Then run :

    


    ffmpeg -rtsp_transport udp -i rtsp://10.0.0.10/main -vcodec copy -acodec pcm_alaw -f rtsp rtsp://localhost:8001/main


    


    It plays fine in the ffplay application. So it's like the "-rtsp_flags listen" only works with the input portion of ffplay and ffmpeg.

    


  • The SSIM values calculated using FFMPEG are not what I expected

    18 mai 2020, par fd-alexer

    I'm trying to encode an m2ts (MPEG-2 Transport Stream) file to mp4 (H.264) and get the ssim value.
    
I did get some SSIM values, but the results were contrary to my expectations.

    



    Are there wrong command options for ffmpeg ?

    



    Encoding and SSIM calculation commands

    



    # encode&#xA;$ ffmpeg -hide_banner -fflags &#x2B;discardcorrupt -i input.m2ts \&#xA;  -c:v libx264 -crf <crf> -preset:v medium \&#xA;  -c:a copy -bsf:a aac_adtstoasc \&#xA;  output_ff_crf-<crf>.mp4&#xA;&#xA;# calculate ssim&#xA;$ ffmpeg -hide_banner -i <a> -i <b> \&#xA;  -lavfi  "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim" \&#xA;  -f null -&#xA;</b></a></crf></crf>

    &#xA;&#xA;

    The results of the SSIM

    &#xA;&#xA;

    (a) A=input.m2ts,          B=input.m2ts,           ssim=0.973266&#xA;(b) A=input.m2ts,          B=output_ff_crf-0.mp4,  ssim=0.813347&#xA;(c) A=input.m2ts,          B=output_ff_crf-30.mp4, ssim=0.819897&#xA;(d) A=output_ff_crf-0.mp4, B=output_ff_crf-0.mp4,  ssim=1.000000&#xA;(e) A=output_ff_crf-0.mp4, B=output_ff_crf-30.mp4, ssim=0.972911&#xA;

    &#xA;&#xA;

      &#xA;
    • (d)(e) : These are what I expected.
    • &#xA;

    • (a) : The files are the same, but ssim≠1.
    • &#xA;

    • (b)(c) : SSIMs with CRF=0 and CRF=30 have almost the same value, although the image quality is different.
    • &#xA;

    &#xA;&#xA;

    In the case of HandBrakeCLI

    &#xA;&#xA;

    To determine if there was a problem with input.m2ts, I ran HandBrakeCLI with almost the same parameters as ffmpeg.

    &#xA;&#xA;

    # encode&#xA;HandBrakeCLI --verbose --format av_mp4 --encoder x264 --quality <crf> --x264-preset medium \&#xA;  --aencoder copy \&#xA;  --input input.m2ts --output output_hb_crf-<crf>.mp4&#xA;&#xA;# calculate ssim (same as ffmpeg)&#xA;$ ffmpeg -hide_banner -i <a> -i <b> \&#xA;  -lavfi  "[0:v]settb=AVTB,setpts=PTS-STARTPTS[main];[1:v]settb=AVTB,setpts=PTS-STARTPTS[ref];[main][ref]ssim" \&#xA;  -f null -&#xA;</b></a></crf></crf>

    &#xA;&#xA;

    (b&#x27;) A=input.m2ts,          B=output_hb_crf-0.mp4,  ssim=0.999999&#xA;(c&#x27;) A=input.m2ts,          B=output_hb_crf-30.mp4, ssim=0.972886&#xA;(d&#x27;) A=output_hb_crf-0.mp4, B=output_hb_crf-0.mp4,  ssim=1.000000&#xA;(e&#x27;) A=output_hb_crf-0.mp4, B=output_hb_crf-30.mp4, ssim=0.972886&#xA;

    &#xA;&#xA;

    It's all as I expected. (although A is not ssim=1.0) &#xA;Therefore, I don't see a problem with input.m2ts.

    &#xA;&#xA;

    Informations about video files and tools

    &#xA;&#xA;

    Results of the ffprobe

    &#xA;&#xA;

    input.m2ts

    &#xA;&#xA;

    [mpeg2video @ 0x5655577c1680] Invalid frame dimensions 0x0.&#xA;    Last message repeated 1 times&#xA;[mpegts @ 0x5655577bd080] start time for stream 2 is not set in estimate_timings_from_pts&#xA;[mpegts @ 0x5655577bd080] PES packet size mismatch&#xA;Input #0, mpegts, from &#x27;input.m2ts&#x27;:&#xA;  Duration: 00:30:02.68, start: 39593.392600, bitrate: 19019 kb/s&#xA;  Program 211&#xA;    Stream #0:0[0x140]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, top first), 1920x1080 [SAR 1:1 DAR 16:9], 29.97 fps, 29.97 tbr, 90k tbn, 59.94 tbc&#xA;    Stream #0:1[0x141]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 255 kb/s&#xA;    Stream #0:2[0x138]: Data: bin_data ([6][0][0][0] / 0x0006)&#xA;Unsupported codec with id 100359 for input stream 2&#xA;

    &#xA;&#xA;

    output_ff_crf-0.mp4

    &#xA;&#xA;

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;output_ff_crf-0.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : isom&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf57.83.100&#xA;  Duration: 00:30:02.67, start: 0.000000, bitrate: 109301 kb/s&#xA;    Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], 109040 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)&#xA;    Metadata:&#xA;      handler_name    : VideoHandler&#xA;    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 252 kb/s (default)&#xA;    Metadata:&#xA;      handler_name    : SoundHandler&#xA;

    &#xA;&#xA;

    output_hb_crf-0.mp4

    &#xA;&#xA;

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;output_hb_crf-0.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    creation_time   : 2020-05-17T06:22:06.000000Z&#xA;    encoder         : HandBrake 1.1.0 2018042400&#xA;  Duration: 00:30:02.22, start: 0.000000, bitrate: 109661 kb/s&#xA;    Stream #0:0(und): Video: h264 (High 4:4:4 Predictive) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 109405 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-05-17T06:22:06.000000Z&#xA;      handler_name    : VideoHandler&#xA;    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 252 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-05-17T06:22:06.000000Z&#xA;      handler_name    : Stereo&#xA;

    &#xA;&#xA;

    Tools

    &#xA;&#xA;

    version

    &#xA;&#xA;

      &#xA;
    • ffmpeg : 3.4.6-0ubuntu0.18.04.1
    • &#xA;

    • HandBrakeCLI : 1.1.0
    • &#xA;

    &#xA;&#xA;

    ldd

    &#xA;&#xA;

    $ ldd /usr/bin/ffmpeg&#xA;...&#xA;libx264.so.152 => /usr/lib/x86_64-linux-gnu/libx264.so.152 (0x00007efbf1f33000)&#xA;...&#xA;&#xA;$ ldd /usr/bin/HandBrakeCLI&#xA;...&#xA;libx264.so.152 => /usr/lib/x86_64-linux-gnu/libx264.so.152 (0x00007efbfb38f000)&#xA;...&#xA;

    &#xA;&#xA;

    ffmpeg and HandBrakeCLI are using the same libx264.

    &#xA;

  • ffmpeg filter_complex concat never completes

    10 juillet 2020, par seawolf

    I am trying to concatenate mp4 files into a single file. I am attempting to use the concat filter directly for reasons independent from this question (so -i list.txt is not a valid solution). All video files in question are between 4 and 20 minutes in length.

    &#xA;

    What I am executing :

    &#xA;

    % ffmpeg -i f01.mp4 -i f02.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.mp4&#xA;

    &#xA;

    This is my understanding of the form of this command from references such as FFmpeg Filters Documentation : concat and Concatenate Videos Together Using FFMPEG !.

    &#xA;

    What happens :

    &#xA;

    ffmpeg gives a lot of output as it checks the metadata for each stream and then begins processing. After a short duration (several seconds to a minute or so, seems to be prortional to the duration of the first video) I start seeing messages like this :

    &#xA;

    More than 1000 frames duplicated&#xA;More than 10000 frames duplicated     512kB time=00:00:00.12 bitrate=32771.0kbits/s dup=33365 drop=0 speed=0.00449x&#xA;More than 100000 frames duplicated   1280kB time=00:00:00.17 bitrate=61442.1kbits/s dup=66730 drop=0 speed=0.00272x&#xA;

    &#xA;

    ... and then the process never completes. If I leave my computer running for 24 hours, ffmpeg is still using max available CPU (200-300%). The output file is 48 bytes in length.

    &#xA;

    Note : the inputs are only a few minutes each, so individually re-encoding the inputs would take only a few minutes each.

    &#xA;

    Note : if I change the command to use f01.mp4 for both source 0 and source 1, the command completes as expected in under 5 minutes :

    &#xA;

    % # example that works:&#xA;% # note, however, that this just repeats the same source twice&#xA;% ffmpeg -i f01.mp4 -i f01.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.mp4&#xA;

    &#xA;

    Full output :

    &#xA;

    Here is the complete output of a run in case it's helpful :

    &#xA;

    % ffmpeg -i f01.mp4 -i f02.mp4 -filter_complex "[0:v][0:a][1:v][1:a]concat=n=2:v=1:a=1[v][a]" -map "[v]" -map "[a]" output.mp4&#xA;ffmpeg version 4.3 Copyright (c) 2000-2020 the FFmpeg developers&#xA;  built with Apple clang version 11.0.3 (clang-1103.0.32.62)&#xA;  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.3_2 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libdav1d --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-librtmp --enable-libspeex --enable-libsoxr --enable-videotoolbox --disable-libjack --disable-indev=jack&#xA;  libavutil      56. 51.100 / 56. 51.100&#xA;  libavcodec     58. 91.100 / 58. 91.100&#xA;  libavformat    58. 45.100 / 58. 45.100&#xA;  libavdevice    58. 10.100 / 58. 10.100&#xA;  libavfilter     7. 85.100 /  7. 85.100&#xA;  libavresample   4.  0.  0 /  4.  0.  0&#xA;  libswscale      5.  7.100 /  5.  7.100&#xA;  libswresample   3.  7.100 /  3.  7.100&#xA;  libpostproc    55.  7.100 / 55.  7.100&#xA;Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;f01.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    creation_time   : 2020-06-04T21:34:26.000000Z&#xA;    encoder         : HandBrake 1.3.2 2020050300&#xA;  Duration: 00:04:14.66, start: 0.000000, bitrate: 525 kb/s&#xA;    Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 708x478 [SAR 8:9 DAR 944:717], 366 kb/s, 29.97 fps, 29.97 tbr, 90k tbn, 180k tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-06-04T21:34:26.000000Z&#xA;      handler_name    : VideoHandler&#xA;    Stream #0:1(jpn): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 149 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-06-04T21:34:26.000000Z&#xA;      handler_name    : Stereo&#xA;Input #1, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;f02.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    creation_time   : 2020-06-04T21:38:15.000000Z&#xA;    encoder         : HandBrake 1.3.2 2020050300&#xA;  Duration: 00:06:30.95, start: 0.000000, bitrate: 1328 kb/s&#xA;    Stream #1:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 708x478 [SAR 8:9 DAR 944:717], 1179 kb/s, 29.97 fps, 30 tbr, 90k tbn, 180k tbc (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-06-04T21:38:15.000000Z&#xA;      handler_name    : VideoHandler&#xA;    Stream #1:1(jpn): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 140 kb/s (default)&#xA;    Metadata:&#xA;      creation_time   : 2020-06-04T21:38:15.000000Z&#xA;      handler_name    : Stereo&#xA;File &#x27;output.mp4&#x27; already exists. Overwrite? [y/N] y&#xA;Stream mapping:&#xA;  Stream #0:0 (h264) -> concat:in0:v0&#xA;  Stream #0:1 (aac) -> concat:in0:a0&#xA;  Stream #1:0 (h264) -> concat:in1:v0&#xA;  Stream #1:1 (aac) -> concat:in1:a0&#xA;  concat:out:v0 -> Stream #0:0 (libx264)&#xA;  concat:out:a0 -> Stream #0:1 (aac)&#xA;Press [q] to stop, [?] for help&#xA;[mp4 @ 0x7ff130014000] Frame rate very high for a muxer not efficiently supporting it.&#xA;Please consider specifying a lower framerate, a different muxer or -vsync 2&#xA;[libx264 @ 0x7ff130021200] using SAR=8/9&#xA;[libx264 @ 0x7ff130021200] MB rate (1350000000) > level limit (16711680)&#xA;[libx264 @ 0x7ff130021200] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2&#xA;[libx264 @ 0x7ff130021200] profile High, level 6.2, 4:2:0, 8-bit&#xA;[libx264 @ 0x7ff130021200] 264 - core 160 r3011 cde9a93 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00&#xA;Output #0, mp4, to &#x27;output.mp4&#x27;:&#xA;  Metadata:&#xA;    major_brand     : mp42&#xA;    minor_version   : 512&#xA;    compatible_brands: isomiso2avc1mp41&#xA;    encoder         : Lavf58.45.100&#xA;    Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 708x478 [SAR 8:9 DAR 944:717], q=-1--1, 1000k tbn, 1000k tbc (default)&#xA;    Metadata:&#xA;      encoder         : Lavc58.91.100 libx264&#xA;    Side data:&#xA;      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A&#xA;    Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)&#xA;    Metadata:&#xA;      encoder         : Lavc58.91.100 aac&#xA;More than 1000 frames duplicated&#xA;More than 10000 frames duplicated     512kB time=00:00:00.12 bitrate=32771.0kbits/s dup=33365 drop=0 speed=0.00449x&#xA;More than 100000 frames duplicated   1280kB time=00:00:00.17 bitrate=61442.1kbits/s dup=66730 drop=0 speed=0.00272x&#xA;frame=667333 fps=1079 q=33.0 size=   14848kB time=00:00:00.76 bitrate=158379.2kbits/s dup=667312 drop=0 speed=0.00124x&#xA;

    &#xA;