Recherche avancée

Médias (0)

Mot : - Tags -/performance

Aucun média correspondant à vos critères n’est disponible sur le site.

Autres articles (4)

  • Amélioration de la version de base

    13 septembre 2013

    Jolie sélection multiple
    Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
    Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...)

  • Monitoring de fermes de MediaSPIP (et de SPIP tant qu’à faire)

    31 mai 2013, par

    Lorsque l’on gère plusieurs (voir plusieurs dizaines) de MediaSPIP sur la même installation, il peut être très pratique d’obtenir d’un coup d’oeil certaines informations.
    Cet article a pour but de documenter les scripts de monitoring Munin développés avec l’aide d’Infini.
    Ces scripts sont installés automatiquement par le script d’installation automatique si une installation de munin est détectée.
    Description des scripts
    Trois scripts Munin ont été développés :
    1. mediaspip_medias
    Un script de (...)

  • Other interesting software

    13 avril 2011, par

    We don’t claim to be the only ones doing what we do ... and especially not to assert claims to be the best either ... What we do, we just try to do it well and getting better ...
    The following list represents softwares that tend to be more or less as MediaSPIP or that MediaSPIP tries more or less to do the same, whatever ...
    We don’t know them, we didn’t try them, but you can take a peek.
    Videopress
    Website : http://videopress.com/
    License : GNU/GPL v2
    Source code : (...)

Sur d’autres sites (1860)

  • avformat/hls : Be more picky on extensions

    16 janvier, par Michael Niedermayer
    avformat/hls : Be more picky on extensions
    

    This blocks disallowed extensions from probing
    It also requires all available segments to have matching extensions to the format
    mpegts is treated independent of the extension

    It is recommended to set the whitelists correctly
    instead of depending on extensions, but this should help a bit,
    and this is easier to backport

    Fixes : CVE-2023-6602 II. HLS Force TTY Demuxer
    Fixes : CVE-2023-6602 IV. HLS XBIN Demuxer DoS Amplification

    The other parts of CVE-2023-6602 have been fixed by prior commits

    Found-by : Harvey Phillips of Amazon Element55 (element55)
    Signed-off-by : Michael Niedermayer <michael@niedermayer.cc>

    • [DH] doc/demuxers.texi
    • [DH] libavformat/hls.c
  • Ffmpeg - Reading header information takes too long

    13 mars 2023, par Md Yeamin

    I am using ffmpeg-kit to encode videos on android devices. For some files ffmpeg takes too long to read the header information. This issue happens very randomly. Sometime the execution completes within 1 or 2 seconds, sometime it takes longer than 10 seconds to complete, for the file linked below.

    &#xA;

    I have build ffmpeg to log some additional info to figure out the root cause. There is a 10s gap between the log output at 15:17:02.276 and 15:17:12.909 (added a separator for quick find). After completion of the mov_read_ftyp there is a long delay before the mov_read_dref method starts the execution. Is there any other method that executed in between and could take this much long time to complete the execution ? What could be the reason behind the delay ?

    &#xA;

    Here is detailed log about the issue.

    &#xA;

    Log :

    &#xA;

    2023-03-12 15:17:02.096 :: ffmpeg-kit-debug: execute:&#xA;2023-03-12 15:17:02.116 :: ffmpeg-kit-debug: LogCallback: setjmp&#xA;2023-03-12 15:17:02.120 :: ffmpeg-kit-debug: LogCallback: setjmp done&#xA;2023-03-12 15:17:02.124 :: ffmpeg-kit-debug: LogCallback: ffmpeg_var_cleanup&#xA;2023-03-12 15:17:02.127 :: ffmpeg-kit-debug: LogCallback: ffmpeg_var_cleanup done&#xA;2023-03-12 15:17:02.132 :: ffmpeg-kit-debug: LogCallback: init_dynload&#xA;2023-03-12 15:17:02.135 :: ffmpeg-kit-debug: LogCallback: init_dynload done&#xA;2023-03-12 15:17:02.137 :: ffmpeg-kit-debug: LogCallback: register_exit&#xA;2023-03-12 15:17:02.141 :: ffmpeg-kit-debug: LogCallback: register_exit done&#xA;2023-03-12 15:17:02.144 :: ffmpeg-kit-debug: LogCallback: avdevice_register_all&#xA;2023-03-12 15:17:02.151 :: ffmpeg-kit-debug: LogCallback: avdevice_register_all done&#xA;2023-03-12 15:17:02.155 :: ffmpeg-kit-debug: LogCallback: avformat_network_init&#xA;2023-03-12 15:17:02.159 :: ffmpeg-kit-debug: LogCallback: avformat_network_init done&#xA;2023-03-12 15:17:02.163 :: ffmpeg-kit-debug: LogCallback: show_banner&#xA;2023-03-12 15:17:02.165 :: ffmpeg-kit-debug: LogCallback: show_banner done&#xA;2023-03-12 15:17:02.169 :: ffmpeg-kit-debug: LogCallback: ffmpeg_parse_options&#xA;2023-03-12 15:17:02.172 :: ffmpeg-kit-debug: LogCallback: allocating memory&#xA;2023-03-12 15:17:02.176 :: ffmpeg-kit-debug: LogCallback: split_commandline&#xA;2023-03-12 15:17:02.179 :: ffmpeg-kit-debug: LogCallback: Splitting the commandline.&#xA;&#xA;2023-03-12 15:17:02.182 :: ffmpeg-kit-debug: LogCallback: Reading option &#x27;-hide_banner&#x27; ...&#xA;2023-03-12 15:17:02.184 :: ffmpeg-kit-debug: LogCallback:  matched as option &#x27;hide_banner&#x27; (do not show program banner) with argument &#x27;1&#x27;.&#xA;&#xA;2023-03-12 15:17:02.187 :: ffmpeg-kit-debug: LogCallback: Reading option &#x27;-y&#x27; ...&#xA;2023-03-12 15:17:02.189 :: ffmpeg-kit-debug: LogCallback:  matched as option &#x27;y&#x27; (overwrite output files) with argument &#x27;1&#x27;.&#xA;&#xA;2023-03-12 15:17:02.193 :: ffmpeg-kit-debug: LogCallback: Reading option &#x27;-i&#x27; ...&#xA;2023-03-12 15:17:02.197 :: ffmpeg-kit-debug: LogCallback:  matched as input url with argument &#x27;saf:6.MP4&#x27;.&#xA;&#xA;2023-03-12 15:17:02.199 :: ffmpeg-kit-debug: LogCallback: Finished splitting the commandline.&#xA;&#xA;2023-03-12 15:17:02.202 :: ffmpeg-kit-debug: LogCallback: split_commandline done&#xA;2023-03-12 15:17:02.203 :: ffmpeg-kit-debug: LogCallback: parse_optgroup&#xA;2023-03-12 15:17:02.205 :: ffmpeg-kit-debug: LogCallback: Parsing a group of options: global .&#xA;&#xA;2023-03-12 15:17:02.207 :: ffmpeg-kit-debug: LogCallback: Applying option hide_banner (do not show program banner) with argument 1.&#xA;&#xA;2023-03-12 15:17:02.210 :: ffmpeg-kit-debug: LogCallback: Applying option y (overwrite output files) with argument 1.&#xA;&#xA;2023-03-12 15:17:02.212 :: ffmpeg-kit-debug: LogCallback: Successfully parsed a group of options.&#xA;&#xA;2023-03-12 15:17:02.217 :: ffmpeg-kit-debug: LogCallback: parse_optgroup done&#xA;2023-03-12 15:17:02.220 :: ffmpeg-kit-debug: LogCallback: term_init&#xA;2023-03-12 15:17:02.224 :: ffmpeg-kit-debug: LogCallback: term_init done&#xA;2023-03-12 15:17:02.226 :: ffmpeg-kit-debug: LogCallback: open_files INPUT&#xA;2023-03-12 15:17:02.228 :: ffmpeg-kit-debug: LogCallback: Parsing a group of options: input url saf:6.MP4.&#xA;&#xA;2023-03-12 15:17:02.232 :: ffmpeg-kit-debug: LogCallback: Successfully parsed a group of options.&#xA;&#xA;2023-03-12 15:17:02.236 :: ffmpeg-kit-debug: LogCallback: Opening an input file: saf:6.MP4.&#xA;&#xA;2023-03-12 15:17:02.239 :: ffmpeg-kit-debug: LogCallback: [NULL @ 0xb40000730dd9dbf0] Opening &#x27;saf:6.MP4&#x27; for reading&#xA;&#xA;2023-03-12 15:17:02.243 :: ffmpeg-kit-debug: LogCallback: [saf @ 0xb40000728de0ca10] Setting default whitelist &#x27;saf,crypto,data&#x27;&#xA;&#xA;2023-03-12 15:17:02.245 :: ffmpeg-kit-debug: LogCallback: fd_open start&#xA;2023-03-12 15:17:02.248 :: ffmpeg-kit-debug: LogCallback: fd_open opening&#xA;2023-03-12 15:17:02.252 :: ffmpeg-kit-debug: LogCallback: fd_open opened&#xA;2023-03-12 15:17:02.255 :: ffmpeg-kit-debug: LogCallback: mov_probe&#xA;2023-03-12 15:17:02.257 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100&#xA;&#xA;2023-03-12 15:17:02.260 :: ffmpeg-kit-debug: LogCallback: mov_read_header&#xA;2023-03-12 15:17:02.264 :: ffmpeg-kit-debug: LogCallback: mov_read_header seeking&#xA;2023-03-12 15:17:02.268 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] ISO: File Type Major Brand: mp41&#xA;&#xA;2023-03-12 15:17:02.270 :: ffmpeg-kit-debug: LogCallback: mov_read_ftyp dict set&#xA;2023-03-12 15:17:02.273 :: ffmpeg-kit-debug: LogCallback: mov_read_ftyp mov_aaxc_crypto before&#xA;2023-03-12 15:17:02.276 :: ffmpeg-kit-debug: LogCallback: mov_read_ftyp mov_aaxc_crypto done&#xA;-----------------------------------------------------------------------------------------------&#xA;2023-03-12 15:17:12.909 :: ffmpeg-kit-debug: LogCallback: mov_read_dref started&#xA;2023-03-12 15:17:12.911 :: ffmpeg-kit-debug: LogCallback: mov_read_dref check entries&#xA;2023-03-12 15:17:12.915 :: ffmpeg-kit-debug: LogCallback: mov_read_dref drefs_count 0 &#xA;2023-03-12 15:17:12.918 :: ffmpeg-kit-debug: LogCallback: mov_read_dref av_free sc->drefs&#xA;2023-03-12 15:17:12.920 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Unknown dref type 0x73696c61 size 12&#xA;&#xA;2023-03-12 15:17:12.923 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Processing st: 0, edit list 0 - media time: 0, duration: 39436397&#xA;&#xA;2023-03-12 15:17:12.925 :: ffmpeg-kit-debug: LogCallback: mov_read_dref started&#xA;2023-03-12 15:17:12.931 :: ffmpeg-kit-debug: LogCallback: mov_read_dref check entries&#xA;2023-03-12 15:17:12.935 :: ffmpeg-kit-debug: LogCallback: mov_read_dref drefs_count 0 &#xA;2023-03-12 15:17:12.938 :: ffmpeg-kit-debug: LogCallback: mov_read_dref av_free sc->drefs&#xA;2023-03-12 15:17:12.945 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Unknown dref type 0x73696c61 size 12&#xA;&#xA;2023-03-12 15:17:12.951 :: ffmpeg-kit-debug: LogCallback: mov_read_dref started&#xA;2023-03-12 15:17:12.958 :: ffmpeg-kit-debug: LogCallback: mov_read_dref check entries&#xA;2023-03-12 15:17:12.965 :: ffmpeg-kit-debug: LogCallback: mov_read_dref drefs_count 0 &#xA;2023-03-12 15:17:12.971 :: ffmpeg-kit-debug: LogCallback: mov_read_dref av_free sc->drefs&#xA;2023-03-12 15:17:12.975 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Unknown dref type 0x73696c61 size 12&#xA;&#xA;2023-03-12 15:17:12.978 :: ffmpeg-kit-debug: LogCallback: mov_read_dref started&#xA;2023-03-12 15:17:12.985 :: ffmpeg-kit-debug: LogCallback: mov_read_dref check entries&#xA;2023-03-12 15:17:12.988 :: ffmpeg-kit-debug: LogCallback: mov_read_dref drefs_count 0 &#xA;2023-03-12 15:17:12.990 :: ffmpeg-kit-debug: LogCallback: mov_read_dref av_free sc->drefs&#xA;2023-03-12 15:17:12.992 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Unknown dref type 0x73696c61 size 12&#xA;&#xA;2023-03-12 15:17:12.994 :: ffmpeg-kit-debug: LogCallback: mov_read_dref started&#xA;2023-03-12 15:17:12.996 :: ffmpeg-kit-debug: LogCallback: mov_read_dref check entries&#xA;2023-03-12 15:17:12.997 :: ffmpeg-kit-debug: LogCallback: mov_read_dref drefs_count 0 &#xA;2023-03-12 15:17:12.999 :: ffmpeg-kit-debug: LogCallback: mov_read_dref av_free sc->drefs&#xA;2023-03-12 15:17:13.002 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Unknown dref type 0x73696c61 size 12&#xA;&#xA;2023-03-12 15:17:13.003 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] All samples in data stream index:id [4:5] have zero duration, stream set to be discarded by default. Override using AVStream->discard or -discard for ffmpeg command.&#xA;&#xA;2023-03-12 15:17:13.006 :: ffmpeg-kit-debug: LogCallback: mov_read_header seek done&#xA;2023-03-12 15:17:13.008 :: ffmpeg-kit-debug: LogCallback: mov_read_header parse done&#xA;2023-03-12 15:17:13.010 :: ffmpeg-kit-debug: LogCallback: mov_read_header trex data read done&#xA;2023-03-12 15:17:13.011 :: ffmpeg-kit-debug: LogCallback: mov_read_header bitrate calculation code&#xA;2023-03-12 15:17:13.013 :: ffmpeg-kit-debug: LogCallback: mov_read_header fps calculation done&#xA;2023-03-12 15:17:13.015 :: ffmpeg-kit-debug: LogCallback: mov_read_header read side data done&#xA;2023-03-12 15:17:13.017 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] Before avformat_find_stream_info() pos: 3720541874 bytes read:3720541874 seeks:0 nb_streams:5&#xA;&#xA;2023-03-12 15:17:13.019 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 7(SPS), nal_ref_idc: 1&#xA;&#xA;2023-03-12 15:17:13.022 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 8(PPS), nal_ref_idc: 1&#xA;&#xA;2023-03-12 15:17:13.024 :: ffmpeg-kit-debug: LogCallback: fd_seek start&#xA;2023-03-12 15:17:13.028 :: ffmpeg-kit-debug: LogCallback: fd_seek seeking&#xA;2023-03-12 15:17:13.030 :: ffmpeg-kit-debug: LogCallback: fd_seek seek done&#xA;2023-03-12 15:17:13.033 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 7(SPS), nal_ref_idc: 1&#xA;&#xA;2023-03-12 15:17:13.035 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 8(PPS), nal_ref_idc: 1&#xA;&#xA;2023-03-12 15:17:13.038 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 9(AUD), nal_ref_idc: 0&#xA;&#xA;2023-03-12 15:17:13.042 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] nal_unit_type: 5(IDR), nal_ref_idc: 1&#xA;&#xA;2023-03-12 15:17:13.047 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] Format yuvj420p chosen by get_format().&#xA;&#xA;2023-03-12 15:17:13.059 :: ffmpeg-kit-debug: LogCallback: [h264 @ 0xb40000731df00bc0] Reinit context to 1920x1088, pix_fmt: yuvj420p&#xA;&#xA;2023-03-12 15:17:13.066 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] All info found&#xA;&#xA;2023-03-12 15:17:13.071 :: ffmpeg-kit-debug: LogCallback: fd_seek start&#xA;2023-03-12 15:17:13.075 :: ffmpeg-kit-debug: LogCallback: fd_seek size check error&#xA;2023-03-12 15:17:13.077 :: ffmpeg-kit-debug: LogCallback: fd_seek start&#xA;2023-03-12 15:17:13.081 :: ffmpeg-kit-debug: LogCallback: fd_seek size check error&#xA;2023-03-12 15:17:13.087 :: ffmpeg-kit-debug: LogCallback: fd_seek start&#xA;2023-03-12 15:17:13.090 :: ffmpeg-kit-debug: LogCallback: fd_seek size check error&#xA;2023-03-12 15:17:13.093 :: ffmpeg-kit-debug: LogCallback: [mov,mp4,m4a,3gp,3g2,mj2 @ 0xb40000730dd9dbf0] After avformat_find_stream_info() pos: 323745 bytes read:3720930284 seeks:1 frames:3&#xA;&#xA;2023-03-12 15:17:13.096 :: ffmpeg-kit-debug: LogCallback: Input #0, mov,mp4,m4a,3gp,3g2,mj2, from &#x27;saf:6.MP4&#x27;:&#xA;&#xA;2023-03-12 15:17:13.099 :: ffmpeg-kit-debug: LogCallback:   Metadata:&#xA;&#xA;2023-03-12 15:17:13.102 :: ffmpeg-kit-debug: LogCallback:     major_brand     : &#xA;2023-03-12 15:17:13.108 :: ffmpeg-kit-debug: LogCallback: mp41&#xA;2023-03-12 15:17:13.110 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.113 :: ffmpeg-kit-debug: LogCallback:     minor_version   : &#xA;2023-03-12 15:17:13.115 :: ffmpeg-kit-debug: LogCallback: 538120216&#xA;2023-03-12 15:17:13.119 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.121 :: ffmpeg-kit-debug: LogCallback:     compatible_brands: &#xA;2023-03-12 15:17:13.124 :: ffmpeg-kit-debug: LogCallback: mp41&#xA;2023-03-12 15:17:13.127 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.129 :: ffmpeg-kit-debug: LogCallback:     creation_time   : &#xA;2023-03-12 15:17:13.132 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z&#xA;2023-03-12 15:17:13.136 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.138 :: ffmpeg-kit-debug: LogCallback:     firmware        : &#xA;2023-03-12 15:17:13.140 :: ffmpeg-kit-debug: LogCallback: HD9.01.01.60.00&#xA;2023-03-12 15:17:13.142 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.144 :: ffmpeg-kit-debug: LogCallback:   Duration: &#xA;2023-03-12 15:17:13.146 :: ffmpeg-kit-debug: LogCallback: 00:10:57.27&#xA;2023-03-12 15:17:13.149 :: ffmpeg-kit-debug: LogCallback: , start: &#xA;2023-03-12 15:17:13.152 :: ffmpeg-kit-debug: LogCallback: 0.000000&#xA;2023-03-12 15:17:13.154 :: ffmpeg-kit-debug: LogCallback: , bitrate: &#xA;2023-03-12 15:17:13.157 :: ffmpeg-kit-debug: LogCallback: 45284 kb/s&#xA;2023-03-12 15:17:13.159 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.161 :: ffmpeg-kit-debug: LogCallback:   Chapters:&#xA;&#xA;2023-03-12 15:17:13.164 :: ffmpeg-kit-debug: LogCallback:     Chapter #0:0: &#xA;2023-03-12 15:17:13.166 :: ffmpeg-kit-debug: LogCallback: start 619.735000, &#xA;2023-03-12 15:17:13.169 :: ffmpeg-kit-debug: LogCallback: end 657.273000&#xA;&#xA;2023-03-12 15:17:13.171 :: ffmpeg-kit-debug: LogCallback:   Stream #0:0&#xA;2023-03-12 15:17:13.174 :: ffmpeg-kit-debug: LogCallback: [0x1]&#xA;2023-03-12 15:17:13.175 :: ffmpeg-kit-debug: LogCallback: (eng)&#xA;2023-03-12 15:17:13.177 :: ffmpeg-kit-debug: LogCallback: , 1, 1/60000&#xA;2023-03-12 15:17:13.182 :: ffmpeg-kit-debug: LogCallback: : Video: h264, 1 reference frame (avc1 / 0x31637661), yuvj420p(pc, bt709, progressive, left), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 0/1, 45005 kb/s&#xA;2023-03-12 15:17:13.185 :: ffmpeg-kit-debug: LogCallback: , &#xA;2023-03-12 15:17:13.189 :: ffmpeg-kit-debug: LogCallback: 59.94 fps, &#xA;2023-03-12 15:17:13.192 :: ffmpeg-kit-debug: LogCallback: 59.94 tbr, &#xA;2023-03-12 15:17:13.194 :: ffmpeg-kit-debug: LogCallback: 60k tbn&#xA;2023-03-12 15:17:13.197 :: ffmpeg-kit-debug: LogCallback:  (default)&#xA;2023-03-12 15:17:13.199 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.200 :: ffmpeg-kit-debug: LogCallback:     Metadata:&#xA;&#xA;2023-03-12 15:17:13.203 :: ffmpeg-kit-debug: LogCallback:       creation_time   : &#xA;2023-03-12 15:17:13.204 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z&#xA;2023-03-12 15:17:13.206 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.209 :: ffmpeg-kit-debug: LogCallback:       handler_name    : &#xA;2023-03-12 15:17:13.211 :: ffmpeg-kit-debug: LogCallback: GoPro AVC  &#xA;2023-03-12 15:17:13.213 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.216 :: ffmpeg-kit-debug: LogCallback:       vendor_id       : &#xA;2023-03-12 15:17:13.219 :: ffmpeg-kit-debug: LogCallback: [0][0][0][0]&#xA;2023-03-12 15:17:13.220 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.223 :: ffmpeg-kit-debug: LogCallback:       encoder         : &#xA;2023-03-12 15:17:13.225 :: ffmpeg-kit-debug: LogCallback: GoPro AVC encoder&#xA;2023-03-12 15:17:13.227 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.229 :: ffmpeg-kit-debug: LogCallback:   Stream #0:1&#xA;2023-03-12 15:17:13.231 :: ffmpeg-kit-debug: LogCallback: [0x2]&#xA;2023-03-12 15:17:13.233 :: ffmpeg-kit-debug: LogCallback: (eng)&#xA;2023-03-12 15:17:13.236 :: ffmpeg-kit-debug: LogCallback: , 1, 1/48000&#xA;2023-03-12 15:17:13.238 :: ffmpeg-kit-debug: LogCallback: : Audio: aac (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s&#xA;2023-03-12 15:17:13.240 :: ffmpeg-kit-debug: LogCallback:  (default)&#xA;2023-03-12 15:17:13.243 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.244 :: ffmpeg-kit-debug: LogCallback:     Metadata:&#xA;&#xA;2023-03-12 15:17:13.247 :: ffmpeg-kit-debug: LogCallback:       creation_time   : &#xA;2023-03-12 15:17:13.252 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z&#xA;2023-03-12 15:17:13.255 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.257 :: ffmpeg-kit-debug: LogCallback:       handler_name    : &#xA;2023-03-12 15:17:13.259 :: ffmpeg-kit-debug: LogCallback: GoPro AAC  &#xA;2023-03-12 15:17:13.262 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.264 :: ffmpeg-kit-debug: LogCallback:       vendor_id       : &#xA;2023-03-12 15:17:13.268 :: ffmpeg-kit-debug: LogCallback: [0][0][0][0]&#xA;2023-03-12 15:17:13.271 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.274 :: ffmpeg-kit-debug: LogCallback:   Stream #0:2&#xA;2023-03-12 15:17:13.276 :: ffmpeg-kit-debug: LogCallback: [0x3]&#xA;2023-03-12 15:17:13.278 :: ffmpeg-kit-debug: LogCallback: (eng)&#xA;2023-03-12 15:17:13.280 :: ffmpeg-kit-debug: LogCallback: , 1, 1/60000&#xA;2023-03-12 15:17:13.281 :: ffmpeg-kit-debug: LogCallback: : Data: none (tmcd / 0x64636D74), 0/1&#xA;2023-03-12 15:17:13.284 :: ffmpeg-kit-debug: LogCallback:  (default)&#xA;2023-03-12 15:17:13.288 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.290 :: ffmpeg-kit-debug: LogCallback:     Metadata:&#xA;&#xA;2023-03-12 15:17:13.291 :: ffmpeg-kit-debug: LogCallback:       creation_time   : &#xA;2023-03-12 15:17:13.292 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z&#xA;2023-03-12 15:17:13.294 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.296 :: ffmpeg-kit-debug: LogCallback:       handler_name    : &#xA;2023-03-12 15:17:13.299 :: ffmpeg-kit-debug: LogCallback: GoPro TCD  &#xA;2023-03-12 15:17:13.302 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.306 :: ffmpeg-kit-debug: LogCallback:   Stream #0:3&#xA;2023-03-12 15:17:13.309 :: ffmpeg-kit-debug: LogCallback: [0x4]&#xA;2023-03-12 15:17:13.310 :: ffmpeg-kit-debug: LogCallback: (eng)&#xA;2023-03-12 15:17:13.313 :: ffmpeg-kit-debug: LogCallback: , 0, 1/1000&#xA;2023-03-12 15:17:13.316 :: ffmpeg-kit-debug: LogCallback: : Data: bin_data (gpmd / 0x646D7067), 0/1, 61 kb/s&#xA;2023-03-12 15:17:13.318 :: ffmpeg-kit-debug: LogCallback:  (default)&#xA;2023-03-12 15:17:13.320 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.322 :: ffmpeg-kit-debug: LogCallback:     Metadata:&#xA;&#xA;2023-03-12 15:17:13.325 :: ffmpeg-kit-debug: LogCallback:       creation_time   : &#xA;2023-03-12 15:17:13.327 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z&#xA;2023-03-12 15:17:13.329 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.331 :: ffmpeg-kit-debug: LogCallback:       handler_name    : &#xA;2023-03-12 15:17:13.335 :: ffmpeg-kit-debug: LogCallback: GoPro MET  &#xA;2023-03-12 15:17:13.337 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.339 :: ffmpeg-kit-debug: LogCallback:   Stream #0:4&#xA;2023-03-12 15:17:13.342 :: ffmpeg-kit-debug: LogCallback: [0x5]&#xA;2023-03-12 15:17:13.344 :: ffmpeg-kit-debug: LogCallback: (eng)&#xA;2023-03-12 15:17:13.345 :: ffmpeg-kit-debug: LogCallback: , 0, 1/60000&#xA;2023-03-12 15:17:13.347 :: ffmpeg-kit-debug: LogCallback: : Data: none (fdsc / 0x63736466), 0/1, 13 kb/s&#xA;2023-03-12 15:17:13.350 :: ffmpeg-kit-debug: LogCallback:  (default)&#xA;2023-03-12 15:17:13.352 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.354 :: ffmpeg-kit-debug: LogCallback:     Metadata:&#xA;&#xA;2023-03-12 15:17:13.356 :: ffmpeg-kit-debug: LogCallback:       creation_time   : &#xA;2023-03-12 15:17:13.359 :: ffmpeg-kit-debug: LogCallback: 2022-02-06T13:53:53.000000Z&#xA;2023-03-12 15:17:13.361 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.365 :: ffmpeg-kit-debug: LogCallback:       handler_name    : &#xA;2023-03-12 15:17:13.369 :: ffmpeg-kit-debug: LogCallback: GoPro SOS  &#xA;2023-03-12 15:17:13.372 :: ffmpeg-kit-debug: LogCallback: &#xA;&#xA;2023-03-12 15:17:13.374 :: ffmpeg-kit-debug: LogCallback: Successfully opened the file.&#xA;&#xA;2023-03-12 15:17:13.376 :: ffmpeg-kit-debug: LogCallback: open_files INPUT done&#xA;2023-03-12 15:17:13.378 :: ffmpeg-kit-debug: LogCallback: apply_sync_offsets&#xA;2023-03-12 15:17:13.382 :: ffmpeg-kit-debug: LogCallback: apply_sync_offsets done&#xA;2023-03-12 15:17:13.386 :: ffmpeg-kit-debug: LogCallback: init_complex_filters&#xA;2023-03-12 15:17:13.389 :: ffmpeg-kit-debug: LogCallback: init_complex_filters done&#xA;2023-03-12 15:17:13.391 :: ffmpeg-kit-debug: LogCallback: open_files OUTPUT&#xA;2023-03-12 15:17:13.392 :: ffmpeg-kit-debug: LogCallback: open_files OUTPUT done&#xA;2023-03-12 15:17:13.395 :: ffmpeg-kit-debug: LogCallback: check_filter_outputs&#xA;2023-03-12 15:17:13.397 :: ffmpeg-kit-debug: LogCallback: check_filter_outputs done&#xA;2023-03-12 15:17:13.399 :: ffmpeg-kit-debug: LogCallback: ffmpeg_parse_options done&#xA;2023-03-12 15:17:13.402 :: ffmpeg-kit-debug: LogCallback: At least one output file must be specified&#xA;&#xA;2023-03-12 15:17:13.405 :: ffmpeg-kit-debug: LogCallback: [AVIOContext @ 0xb4000072dddd6510] Statistics: 3720930284 bytes read, 1 seeks&#xA;&#xA;2023-03-12 15:17:13.407 :: ffmpeg-kit-debug: LogCallback: fd_close start&#xA;2023-03-12 15:17:13.410 :: ffmpeg-kit-debug: LogCallback: fd_close done&#xA;2023-03-12 15:17:13.412 :: ffmpeg-kit-debug: LogCallback: setjmp done&#xA;

    &#xA;

    Note : I have built ffmpeg-kit with the following script :

    &#xA;

    #!/bin/bash&#xA;&#xA;export ENCODERS="libvorbis,libvpx_vp8,libvpx_vp9,libx264,libx265,mpeg1video,mpeg2video,mpeg4,flv,wmv1,wmv2,msmpeg4v3,libaom_av1,\&#xA;h261,h263,theora,libtheora,png,aac,ac3,alac,libopencore_amrnb,libvo_amrwbenc,eac3,flac,mp2,libtwolame,libmp3lame,libopus,libspeex,wavpack,wmav1,wmav2,pcm_s16le,\&#xA;ssa,ass,dvbsub,dvdsub,movtext,srt,subrip,text,ttml,webvtt,xsub"&#xA;&#xA;export SETTINGS="--disable-indevs \&#xA;  --enable-pthreads \&#xA;  --enable-indev=lavfi \&#xA;  --disable-outdevs \&#xA;  --disable-protocols \&#xA;  --enable-protocol=file,fd,saf,async \&#xA;  --disable-encoders \&#xA;  --enable-encoder=${ENCODERS}"&#xA;&#xA;export CUSTOM_CONFIG=${SETTINGS}&#xA;&#xA;./android.sh --disable-arm-v7a --disable-arm-v7a-neon --disable-x86 --disable-x86-64 --enable-android-media-codec --enable-android-zlib --enable-chromaprint --enable-dav1d --enable-fontconfig --enable-freetype --enable-fribidi --enable-gmp --enable-gnutls --enable-kvazaar --enable-lame --enable-libaom --enable-libass --enable-libiconv --enable-libilbc --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libxml2 --enable-opencore-amr --enable-openh264 --enable-opus --enable-sdl --enable-shine --enable-snappy --enable-soxr --enable-speex --enable-tesseract --enable-twolame --enable-vo-amrwbenc --enable-zimg --enable-x264 --enable-x265 --enable-gpl -l&#xA;

    &#xA;

    Sample file : https://drive.google.com/file/d/1lvCiOBQqBEnUECn_HJi8qUoaCPCBnkgO/view?usp=share_link

    &#xA;

    Ffmpeg version : 5.1.

    &#xA;

  • Discord Voice Bot cannot play the audio file

    7 avril 2023, par Jakub Nawrocki

    I tried to write a bot that will join the voice channel and play a audio at 20:00.

    &#xA;

    Currently the bot joins the channel, but immediately after that it disconnects without making a single sound with this message :

    &#xA;

    2023-04-07 17:58:01 INFO     discord.player ffmpeg process 18258 has not terminated. Waiting to terminate... 2023-04-07 17:58:01 INFO     discord.player ffmpeg process 18258 should have terminated with a return code of -9. 2023-04-07 17:58:01 INFO     discord.voice_client The voice handshake is being terminated for Channel ID 1093533451778523241 (Guild ID 1093533451778523237) 2023-04-07 17:58:01 INFO     discord.voice_client Disconnecting from voice normally, close code 1000. Audio file loaded:  Audio could not be played:

    &#xA;

    Code :

    &#xA;

    import discord&#xA;import asyncio&#xA;import datetime&#xA;&#xA;TOKEN = &#x27;TOKEN HERE&#x27; &#xA;CHANNEL_ID = CHANNEL ID HERE&#xA;&#xA;client = discord.Client(intents=discord.Intents.all())&#xA;&#xA;async def play_sound(voice_client):&#xA;    try:&#xA;        source = discord.FFmpegPCMAudio(&#x27;audio.mp3&#x27;)&#xA;        print(f"Audio file loaded: {source}")&#xA;        voice_client.play(source)&#xA;        while voice_client.is_playing():&#xA;            await asyncio.sleep(1)&#xA;    except Exception as e:&#xA;        print(f"Audio could not be played: {e}")&#xA;&#xA;@client.event&#xA;async def on_ready():&#xA;    print(&#x27;Bot is ready&#x27;)&#xA;    now = datetime.datetime.now()&#xA;    target_time = datetime.time(hour=20, minute=00)&#xA;    if now.time() >= target_time:&#xA;        print(f"Current time: {now.time()}. Bot did not join channel.")&#xA;        return&#xA;    else:&#xA;        print(f"Current time: {now.time()}. Bot has joined at {target_time}.")&#xA;        await asyncio.sleep((datetime.datetime.combine(datetime.date.today(), target_time) - now).total_seconds())&#xA;        channel = client.get_channel(CHANNEL_ID)&#xA;        if channel is not None:&#xA;            try:&#xA;                voice_client = await channel.connect()&#xA;                print(f&#x27;{client.user} joined voice chat.&#x27;)&#xA;                await asyncio.sleep(1)&#xA;                await play_sound(voice_client)&#xA;                await voice_client.disconnect()&#xA;                print(f&#x27;{client.user} left voice chat.&#x27;)&#xA;            except Exception as e:&#xA;&#xA;                print(f"Error during joining channel : {e}")&#xA;        else:&#xA;            print(f"Did not find a channel of ID {CHANNEL_ID}.")&#xA;&#xA;client.run(TOKEN)&#xA;

    &#xA;

    Any ideas ?

    &#xA;

    ffmpeg has been installed properly.

    &#xA;