Recherche avancée

Médias (91)

Autres articles (31)

  • Librairies et binaires spécifiques au traitement vidéo et sonore

    31 janvier 2010, par

    Les logiciels et librairies suivantes sont utilisées par SPIPmotion d’une manière ou d’une autre.
    Binaires obligatoires FFMpeg : encodeur principal, permet de transcoder presque tous les types de fichiers vidéo et sonores dans les formats lisibles sur Internet. CF ce tutoriel pour son installation ; Oggz-tools : outils d’inspection de fichiers ogg ; Mediainfo : récupération d’informations depuis la plupart des formats vidéos et sonores ;
    Binaires complémentaires et facultatifs flvtool2 : (...)

  • Support audio et vidéo HTML5

    10 avril 2011

    MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
    Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
    Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
    Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (5104)

  • FFMPEG = I tried resizing a video, but got different resolution than I wanted [closed]

    10 janvier 2024, par wakanasakai

    I downloaded a video that had some black bars (left & right), so I used the following command in FFmpeg to make various changes to it. I tested it on a 10 second clip to see what the result would look like.

    


    -ss 00:04:44 -to 00:04:54 -vf "crop=1870:20:20:0","scale=640x480:flags=lanczos","eq=gamma=1.5:saturation=1.3:contrast=1.2"

    


    The original video is an mp4, with a resolution of 1920 x 1080. Besides trying to crop it & adjust the gamma, saturation, & contrast, I also tried to resize it to 640 x 480. Instead, it's resulting resolution is 44880 x 480 ! I have a link to it for anybody who wants to examine it directly. (It's only 487 kb.)
text

    


    I've tried using FFmpeg before, & it never did anything so insane. (It cropped it, & adjusted the gamma a saturation (I didn't test the contrast until THIS time), but it did not resize it at all.)

    


    Here is FFmpeg's log file for it. Guesses as to the cause of the insane result, & advice on how to achieve the DESIRED result (in 1 pass, if possible) are requested.

    


    ffmpeg -hwaccel auto -y -i "/storage/emulated/0/bluetooth/Barbie & the Rockers=1080-Out of this world (1987).mp4" -ss 00:04:44 -to 00:04:54 -vf "crop=1870:20:20:0","scale=640x480:flags=lanczos","eq=gamma=1.5:saturation=1.3:contrast=1.2" "/storage/emulated/0/Movies/Barbie.mp4"

ffmpeg version 6.0 Copyright (c) 2000-2023 the FFmpeg developers
  built with gcc 4.9.x (GCC) 20150123 (prerelease)
  configuration: --enable-version3 --enable-gpl --enable-nonfree --disable-indev=v4l2 --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libvpx --enable-libvorbis --enable-libtheora --enable-libopus --enable-libfdk-aac --enable-libfreetype --enable-libass --enable-libfribidi --enable-fontconfig --enable-pthreads --enable-libxvid --enable-filters --enable-openssl --enable-librtmp --disable-protocol='udp,udplite' --enable-libopencore-amrwb --enable-libopencore-amrnb --enable-libvo-amrwbenc --enable-libspeex --enable-libsoxr --enable-libwebp --enable-libxml2 --enable-libopenh264 --enable-jni --prefix=/home/silentlexx/AndroidstudioProjects/ffmpeg/ffmpeg/build/arm-api18-r13b --sysroot=/home/silentlexx/Android/android-ndk-r13b/platforms/android-18/arch-arm --arch=arm --disable-shared --enable-static --enable-pic --enable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffnvcodec --disable-avdevice --disable-debug --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-symver --cross-prefix=/home/silentlexx/Android/android-ndk-r13b/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi- --target-os=android --enable-cross-compile --pkg-config-flags=--static --extra-libs='-lgnustl_static -lm -lpng -l:libz.so -lpthread' --enable-asm --enable-neon --enable-small
  libavutil      58.  2.100 / 58.  2.100
  libavcodec     60.  3.100 / 60.  3.100
  libavformat    60.  3.100 / 60.  3.100
  libavfilter     9.  3.100 /  9.  3.100
  libswscale      7.  1.100 /  7.  1.100
  libswresample   4. 10.100 /  4. 10.100
  libpostproc    57.  1.100 / 57.  1.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/bluetooth/Barbie & the Rockers=1080-Out of this world (1987).mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 512
    compatible_brands: mp41isomiso2
    creation_time   : 2024-01-04T01:46:07.000000Z
  Duration: 00:45:33.10, start: 0.000000, bitrate: 3404 kb/s
  Stream #0:0[0x1](und): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 3272 kb/s, 30 fps, 30 tbr, 15360 tbn (default)
    Metadata:
      creation_time   : 2023-06-25T13:25:03.000000Z
      vendor_id       : [0][0][0][0]
  Stream #0:1[0x2](eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2023-06-25T13:25:03.000000Z
      vendor_id       : [0][0][0][0]
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0xf38cd180] using SAR=561/8
[libx264 @ 0xf38cd180] using cpu capabilities: ARMv6 NEON
[libx264 @ 0xf38cd180] profile High, level 3.0, 4:2:0, 8-bit
[libx264 @ 0xf38cd180] 264 - core 158 r2984 3759fcb - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - 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=12 lookahead_threads=2 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
Output #0, mp4, to '/storage/emulated/0/Movies/Barbie.mp4':
  Metadata:
    major_brand     : mp42
    minor_version   : 512
    compatible_brands: mp41isomiso2
    encoder         : Lavf60.3.100
  Stream #0:0(und): Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 640x480 [SAR 561:8 DAR 187:2], q=2-31, 30 fps, 15360 tbn (default)
    Metadata:
      creation_time   : 2023-06-25T13:25:03.000000Z
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.3.100 libx264
    Side data:
      cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
  Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)
    Metadata:
      creation_time   : 2023-06-25T13:25:03.000000Z
      vendor_id       : [0][0][0][0]
      encoder         : Lavc60.3.100 aac
frame=    0 fps=0.0 q=0.0 size=       0kB time=-577014:32:22.77 bitrate=  -0.0kbits/s speed=N/A    
frame=    0 fps=0.0 q=0.0 size=       0kB time=00:00:00.16 bitrate=   2.4kbits/s speed=0.00197x    
frame=    0 fps=0.0 q=0.0 size=       0kB time=00:00:00.71 bitrate=   0.5kbits/s speed=0.00867x    
frame=   13 fps=0.2 q=29.0 size=       0kB time=00:00:01.48 bitrate=   0.3kbits/s speed=0.0178x    
frame=   45 fps=0.5 q=29.0 size=       0kB time=00:00:02.55 bitrate=   0.2kbits/s speed=0.0304x    
frame=   78 fps=0.9 q=29.0 size=       0kB time=00:00:03.66 bitrate=   0.1kbits/s speed=0.0434x    
frame=  114 fps=1.3 q=29.0 size=       0kB time=00:00:04.85 bitrate=   0.1kbits/s speed=0.057x    
frame=  146 fps=1.7 q=29.0 size=       0kB time=00:00:05.92 bitrate=   0.1kbits/s speed=0.0692x    
frame=  178 fps=2.1 q=29.0 size=       0kB time=00:00:07.03 bitrate=   0.1kbits/s speed=0.0817x    
frame=  209 fps=2.4 q=29.0 size=     256kB time=00:00:08.03 bitrate= 261.1kbits/s speed=0.0928x    
frame=  240 fps=2.8 q=29.0 size=     256kB time=00:00:09.07 bitrate= 231.0kbits/s speed=0.104x    
frame=  300 fps=3.4 q=-1.0 Lsize=     445kB time=00:00:09.98 bitrate= 365.2kbits/s speed=0.114x    
video:275kB audio:159kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.692692%
[libx264 @ 0xf38cd180] frame I:10    Avg QP:20.34  size:  2434
[libx264 @ 0xf38cd180] frame P:129   Avg QP:21.89  size:  1292
[libx264 @ 0xf38cd180] frame B:161   Avg QP:21.69  size:   555
[libx264 @ 0xf38cd180] consecutive B-frames: 20.0% 18.7% 20.0% 41.3%
[libx264 @ 0xf38cd180] mb I  I16..4: 30.2% 66.5%  3.2%
[libx264 @ 0xf38cd180] mb P  I16..4: 14.3% 17.7%  0.2%  P16..4: 12.7%  2.7%  0.4%  0.0%  0.0%    skip:52.1%
[libx264 @ 0xf38cd180] mb B  I16..4:  2.1%  1.1%  0.0%  B16..8: 21.9%  1.7%  0.0%  direct: 1.5%  skip:71.6%  L0:46.0% L1:53.0% BI: 1.0%
[libx264 @ 0xf38cd180] 8x8 transform intra:54.9% inter:98.2%
[libx264 @ 0xf38cd180] coded y,uvDC,uvAC intra: 10.3% 14.9% 1.5% inter: 2.2% 5.4% 0.0%
[libx264 @ 0xf38cd180] i16 v,h,dc,p: 93%  2%  2%  4%
[libx264 @ 0xf38cd180] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 69%  1% 28%  0%  0%  1%  0%  0%  0%
[libx264 @ 0xf38cd180] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 76%  3% 17%  1%  1%  2%  0%  1%  0%
[libx264 @ 0xf38cd180] i8c dc,h,v,p: 45%  2% 53%  1%
[libx264 @ 0xf38cd180] Weighted P-Frames: Y:0.8% UV:0.8%
[libx264 @ 0xf38cd180] ref P L0: 57.0%  8.7% 24.0% 10.4%
[libx264 @ 0xf38cd180] ref B L0: 79.7% 17.3%  3.0%
[libx264 @ 0xf38cd180] ref B L1: 95.6%  4.4%
[libx264 @ 0xf38cd180] kb/s:224.32
[aac @ 0xf38cd880] Qavg: 457.489


    


  • Discord Music Bot interrupts music playback on Heroku

    29 mars 2023, par denisnumb

    I have a music discord bot written in Python. Bot plays music from YouTube using the yt-dlp library and ffmpeg.

    


    Everything worked fine, but a couple of days ago the bot began to interrupt the playback of any tracks for ~80% duration, crashing with an error :

    


    [tls @ 0x6e3b440] Error in the pull function.
[tls @ 0x6e3b440] IO error: Connection reset by peer
[https @ 0x6e37900] Will reconnect at 720896 in 0 second(s), error=Connection reset by peer.


    


    I have the latest version of py-cord=2.4.1 and yt-dlp==2023.3.4 installed. When the bot is launched on my computer, the bot plays all the tracks to the end, so the problem is clearly not in the code and not in the libraries.

    


    I suspect something is wrong with ffmpeg, so I tried installing different buildpacks, but that didn't solve the problem.

    


    At the moment I have the following installed :

    


    https://github.com/xrisk/heroku-opus.git
https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest.git


    


    What could be the problem and how to solve it ? Why did this problem appear only on hosting ? Why didn't this happen before ?

    


  • How to combine multiple videos in android using ffmpeg ?

    23 mai 2023, par Haeiny

    I added dependency to use ffmpeg on Android.

    


    implementation "com.arthenica:mobile-ffmpeg-full:4.4"


    


    And I wanted to combine the videos from the gallery, so I temporarily saved the imported video in the cache directory in the app.

    


    After that, I wrote the following function to take the saved images and merge them using ffmpeg :

    


    
fun mergeVideos(videoPaths: List\): Int {
        val cacheDirectory = this.externalCacheDir
        mergedVideoFile = File(cacheDirectory, "merged_video.mp4").absolutePath

        val command = StringBuilder()
        command.append("ffmpeg")
        for (videoPath in videoPaths) {
            command.append(" -i ").append(videoPath)
        }

        command.append(" -filter_complex ").append("\"")
        for (i in videoPaths.indices) {
            command.append("[$i:v] ").append("[$i:a] ")
        }

        command.append("concat=n=").append(videoPaths.size).append(":v=1:a=1 [v] [a]").append("\"")
        command.append(" -map \"[v]\" -map \"[a]\" ").append(mergedVideoFile)
    
        return FFmpeg.execute(command.toString())
    }


    


    I wanted to temporarily save the merged video in the "mergedVideoFile" so that I could save them in the cache directory, and videoPaths would get the Urls of the videos I wanted to merge into the list.

    


    The command verified through Log.d :

    


    
ffmpeg -i /storage/emulated/0/Android/data/"project name"/files/Movies/VIDEO1.mp4 -i /storage/emulated/0/Android/data/"project name"/files/Movies/VIDEO2.mp4 -filter_complex "\[0:v\] \[0:a\] \[1:v\] \[1:a\] concat=n=2:v=1:a=1 \[v\] \[a\]" -map "\[v\]" -map "\[a\]" /storage/emulated/0/Android/data/"project name"/cache/merged_video.mp4


    


    result of mergeVideos execution :

    


    
Loading mobile-ffmpeg.
Loaded mobile-ffmpeg-full-arm64-v8a-4.4-20210207.
Callback thread started.
ffmpeg version v4.4-dev-416
Copyright (c) 2000-2020 the FFmpeg developers
built with Android (6454773 based on r365631c2) clang version 9.0.8 (https://android.googlesource.com/toolchain/llvm-project 98c855489587874b2a325e7a516b99d838599c6f) (based on LLVM 9.0.8svn)

configuration: --cross-prefix=aarch64-linux-android- --sysroot=/files/android-sdk/ndk/21.3.6528147/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=aarch64 --cpu=armv8-a --cc=aarch64-linux-android24-clang --cxx=aarch64-linux-android24-clang++ --extra-libs='-L/home/taner/Projects/mobile-ffmpeg/prebuilt/android-arm64/cpu-features/lib -lndk_compat' --target-os=android --enable-neon --enable-asm --enable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --enable-v4l2-m2m --disable-outdev=fbdev --disable-indev=fbdev --enable-small --disable-openssl --disable-xmm-clobber-test --disable-debug --enable-lto --disable-neon-clobber-test --disable-programs --disable-postproc --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-static --disable-sndio --disable-schannel --disable-securetransport --disable-xlib --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --disable-videotoolbox --disable-audiotoolbox --disable-appkit --disable-alsa --disable-cuda --disable-cuvid --disable-nvenc --disable-vaapi --disable-vdpau --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-gmp --enable-gnutls --enable-libmp3lame --enable-libass --enable-iconv --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-libopencore-amrnb --enable-libshine --enable-libspeex --enable-libwavpack --enable-libkvazaar --enable-libilbc --enable-libopus --enable-libsnappy --enable-libsoxr --enable-libaom --enable-libtwolame --disable-sdl2 --enable-libvo-amrwbenc --enable-zlib --enable-mediacodec

libavutil      56. 55.100 / 56. 55.100
libavcodec     58. 96.100 / 58. 96.100
libavformat    58. 48.100 / 58. 48.100
libavdevice    58. 11.101 / 58. 11.101
libavfilter     7. 87.100 /  7. 87.100
libswscale      5.  8.100 /  5.  8.100
libswresample   3.  8.100 /  3.  8.100

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/"project name"/files/Movies/VIDEO1.mp4':

Metadata:
major_brand     :   mp42
minor_version   :   0
compatible_brands:  isommp42
creation_time   :   2023-05-02T12:22:45.000000Z
com.android.version:  11
com.android.capture.fps:  30.000000
Duration:  00:00:02.51  , start:   0.000000  , bitrate:  14232 kb/s

      Stream #0:0

(eng)
: Video: h264 (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080, 14022 kb/s
, SAR 1:1 DAR 16:9 ,  30 fps, 30 tbr,  90k tbn,  180k tbc   (default)

Metadata:
rotate          :  90
creation_time   : 2023-05-02T12:22:45.000000Z
handler_name    :  VideoHandle
Side data:
displaymatrix: rotation of -90.00 degrees

      Stream #0:1

(eng)
: Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 256 kb/s   (default)

     Metadata:
        creation_time   :   2023-05-02T12:22:45.000000Z
        handler_name    :   SoundHandle

Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/"project name"/files/Movies/VIDEO2.mp4':

... Input #1's video metadatas ...

\[NULL @ 0x78367662e0\] Unable to find a suitable output format for 'ffmpeg'
ffmpeg: Invalid argument


    


    I don't know what is the problem in my code.
Please help me.