Recherche avancée

Médias (91)

Autres articles (71)

  • Personnaliser en ajoutant son logo, sa bannière ou son image de fond

    5 septembre 2013, par

    Certains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo ; l’ajout d’une bannière l’ajout d’une image de fond ;

  • MediaSPIP v0.2

    21 juin 2013, par

    MediaSPIP 0.2 est la première version de MediaSPIP stable.
    Sa date de sortie officielle est le 21 juin 2013 et est annoncée ici.
    Le fichier zip ici présent contient uniquement les sources de MediaSPIP en version standalone.
    Comme pour la version précédente, il est nécessaire d’installer manuellement l’ensemble des dépendances logicielles sur le serveur.
    Si vous souhaitez utiliser cette archive pour une installation en mode ferme, il vous faudra également procéder à d’autres modifications (...)

  • Ecrire une actualité

    21 juin 2013, par

    Présentez les changements dans votre MédiaSPIP ou les actualités de vos projets sur votre MédiaSPIP grâce à la rubrique actualités.
    Dans le thème par défaut spipeo de MédiaSPIP, les actualités sont affichées en bas de la page principale sous les éditoriaux.
    Vous pouvez personnaliser le formulaire de création d’une actualité.
    Formulaire de création d’une actualité Dans le cas d’un document de type actualité, les champs proposés par défaut sont : Date de publication ( personnaliser la date de publication ) (...)

Sur d’autres sites (11066)

  • ffmpeg - convert video file with 1 frame video and 4 minutes audio to HTML5 video

    4 juin 2020, par d3im

    Have this input video - it's 1 frame video (=picture) with audio :

    



        Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:04:34.55, start: 0.000000, bitrate: 122 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 480x360 [SAR 1:1 DAR 4:3], 6375600 kb/s, 90k fps, 90k tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 120 kb/s (default)
    Metadata:
      handler_name    : SoundHandler


    



    I need to convert it to mp4 with video track of length of audio for HTML5 - but ffmpeg (4.2.3) says :

    



    Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[libfdk_aac @ 0x55f35bf28100] Note, the VBR setting is unsupported and only works with some parameter combinations
Too many packets buffered for output stream 0:1.
[libfdk_aac @ 0x55f35bf28100] 2 frames left in the queue on closing
Conversion failed!


    



    Converting audio or video alone is successful.

    



    Converting with -c:v copy is successful but it's not what I need.

    



    adding -max_muxing_queue_size 9999 didn't help.

    



    EDIT :

    



    full command :

    



    ffmpeg -i input.mp4 -c:a libfdk_aac -vbr 2 -c:v libx264 -crf 28 -profile:v high -level 41 -vf format=yuv420p -sn -sample_fmt s16 -ac 1 -threads 0 -map_metadata -1 low.mp4


    



    full log :

    



    ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.0 (Gentoo 9.3.0 p2)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/share/doc/ffmpeg-4.2.3/html --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-O2 -pipe -march=haswell -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mrdrnd -mf16c -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mtune=haswell' --disable-static --enable-avfilter --enable-avresample --disable-stripping --disable-optimizations --disable-libcelt --enable-version3 --enable-version3 --disable-indev=oss --disable-outdev=oss --enable-version3 --enable-nonfree --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-gcrypt --enable-gnutls --disable-gmp --enable-gpl --disable-hardcoded-tables --enable-iconv --disable-libtls --disable-libxml2 --enable-lzma --enable-network --disable-opencl --disable-openssl --enable-postproc --enable-libsmbclient --enable-ffplay --enable-sdl2 --enable-vaapi --disable-vdpau --enable-xlib --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-zlib --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --enable-opengl --disable-libv4l2 --enable-libpulse --disable-libdrm --enable-libjack --enable-libopencore-amrwb --enable-libopencore-amrnb --disable-libcodec2 --enable-libdav1d --enable-libfdk-aac --enable-libopenjpeg --enable-libbluray --disable-libgme --disable-libgsm --disable-libaribb24 --disable-mmal --disable-libmodplug --enable-libopus --disable-libilbc --enable-librtmp --disable-libssh --enable-libspeex --enable-libsrt --enable-librsvg --disable-ffnvcodec --enable-libvorbis --enable-libvpx --disable-libzvbi --disable-appkit --disable-libbs2b --disable-chromaprint --disable-cuda-llvm --disable-libflite --enable-frei0r --disable-libfribidi --disable-fontconfig --enable-ladspa --disable-libass --disable-libtesseract --enable-lv2 --enable-libfreetype --enable-libvidstab --disable-librubberband --disable-libzmq --disable-libzimg --enable-libsoxr --enable-pthreads --enable-libvo-amrwbenc --enable-libmp3lame --disable-libkvazaar --enable-libaom --disable-libopenh264 --disable-libsnappy --enable-libtheora --disable-libtwolame --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-neon --disable-vfp --disable-vfpv3 --disable-armv8 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-altivec --disable-amd3dnow --disable-amd3dnowext --disable-fma4 --disable-xop --cpu=haswell --disable-doc --disable-htmlpages --enable-manpages
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:04:34.55, start: 0.000000, bitrate: 122 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc), 480x360 [SAR 1:1 DAR 4:3], 6375600 kb/s, 90k fps, 90k tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 120 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
[libfdk_aac @ 0x55fb6c86b080] Note, the VBR setting is unsupported and only works with some parameter combinations
Too many packets buffered for output stream 0:1.
[libfdk_aac @ 0x55fb6c86b080] 2 frames left in the queue on closing
Conversion failed!


    



    debug verbosity :

    



    ffmpeg -v debug -i input.mp4 -c:a libfdk_aac -vbr 2 -c:v libx264 -crf 28 -profile:v high -level 41 -vf format=yuv420p -sn -sample_fmt s16 -ac 1 -threads 0 -map_metadata -1 low.mp4
ffmpeg version 4.2.3 Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 9.3.0 (Gentoo 9.3.0 p2)
  configuration: --prefix=/usr --libdir=/usr/lib64 --shlibdir=/usr/lib64 --docdir=/usr/share/doc/ffmpeg-4.2.3/html --mandir=/usr/share/man --enable-shared --cc=x86_64-pc-linux-gnu-gcc --cxx=x86_64-pc-linux-gnu-g++ --ar=x86_64-pc-linux-gnu-ar --optflags='-O2 -pipe -march=haswell -mmmx -mno-3dnow -msse -msse2 -msse3 -mssse3 -mno-sse4a -mcx16 -msahf -mmovbe -maes -mno-sha -mpclmul -mpopcnt -mabm -mno-lwp -mfma -mno-fma4 -mno-xop -mbmi -mbmi2 -mno-tbm -mavx -mavx2 -msse4.2 -msse4.1 -mlzcnt -mno-rtm -mno-hle -mrdrnd -mf16c -mfsgsbase -mno-rdseed -mno-prfchw -mno-adx -mfxsr -mxsave -mxsaveopt -mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-prefetchwt1 -mno-clflushopt -mno-xsavec -mno-xsaves -mno-avx512dq -mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-clwb -mno-mwaitx -mno-clzero -mno-pku -mtune=haswell' --disable-static --enable-avfilter --enable-avresample --disable-stripping --disable-optimizations --disable-libcelt --enable-version3 --enable-version3 --disable-indev=oss --disable-outdev=oss --enable-version3 --enable-nonfree --enable-bzlib --disable-runtime-cpudetect --disable-debug --disable-gcrypt --enable-gnutls --disable-gmp --enable-gpl --disable-hardcoded-tables --enable-iconv --disable-libtls --disable-libxml2 --enable-lzma --enable-network --disable-opencl --disable-openssl --enable-postproc --enable-libsmbclient --enable-ffplay --enable-sdl2 --enable-vaapi --disable-vdpau --enable-xlib --enable-libxcb --enable-libxcb-shm --enable-libxcb-xfixes --enable-zlib --disable-libcdio --disable-libiec61883 --disable-libdc1394 --disable-libcaca --disable-openal --enable-opengl --disable-libv4l2 --enable-libpulse --disable-libdrm --enable-libjack --enable-libopencore-amrwb --enable-libopencore-amrnb --disable-libcodec2 --enable-libdav1d --enable-libfdk-aac --enable-libopenjpeg --enable-libbluray --disable-libgme --disable-libgsm --disable-libaribb24 --disable-mmal --disable-libmodplug --enable-libopus --disable-libilbc --enable-librtmp --disable-libssh --enable-libspeex --enable-libsrt --enable-librsvg --disable-ffnvcodec --enable-libvorbis --enable-libvpx --disable-libzvbi --disable-appkit --disable-libbs2b --disable-chromaprint --disable-cuda-llvm --disable-libflite --enable-frei0r --disable-libfribidi --disable-fontconfig --enable-ladspa --disable-libass --disable-libtesseract --enable-lv2 --enable-libfreetype --enable-libvidstab --disable-librubberband --disable-libzmq --disable-libzimg --enable-libsoxr --enable-pthreads --enable-libvo-amrwbenc --enable-libmp3lame --disable-libkvazaar --enable-libaom --disable-libopenh264 --disable-libsnappy --enable-libtheora --disable-libtwolame --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-neon --disable-vfp --disable-vfpv3 --disable-armv8 --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --disable-altivec --disable-amd3dnow --disable-amd3dnowext --disable-fma4 --disable-xop --cpu=haswell --disable-doc --disable-htmlpages --enable-manpages
  libavutil      56. 31.100 / 56. 31.100
  libavcodec     58. 54.100 / 58. 54.100
  libavformat    58. 29.100 / 58. 29.100
  libavdevice    58.  8.100 / 58.  8.100
  libavfilter     7. 57.100 /  7. 57.100
  libavresample   4.  0.  0 /  4.  0.  0
  libswscale      5.  5.100 /  5.  5.100
  libswresample   3.  5.100 /  3.  5.100
  libpostproc    55.  5.100 / 55.  5.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-i' ... matched as input url with argument 'input.mp4'.
Reading option '-c:a' ... matched as option 'c' (codec name) with argument 'libfdk_aac'.
Reading option '-vbr' ... matched as AVOption 'vbr' with argument '2'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'libx264'.
Reading option '-crf' ... matched as AVOption 'crf' with argument '28'.
Reading option '-profile:v' ... matched as option 'profile' (set profile) with argument 'high'.
Reading option '-level' ... matched as AVOption 'level' with argument '41'.
Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'format=yuv420p'.
Reading option '-sn' ... matched as option 'sn' (disable subtitle) with argument '1'.
Reading option '-sample_fmt' ... matched as option 'sample_fmt' (set sample format) with argument 's16'.
Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '1'.
Reading option '-threads' ... matched as AVOption 'threads' with argument '0'.
Reading option '-map_metadata' ... matched as option 'map_metadata' (set metadata information of outfile from infile) with argument '-1'.
Reading option 'low.mp4' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Successfully parsed a group of options.
Parsing a group of options: input url input.mp4.
Successfully parsed a group of options.
Opening an input file: input.mp4.
[NULL @ 0x559fb7ecda40] Opening 'input.mp4' for reading
[file @ 0x559fb7ece4c0] Setting default whitelist 'file,crypto'
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] ISO: File Type Major Brand: isom
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] Processing st: 0, edit list 0 - media time: 0, duration: 90
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] Processing st: 1, edit list 0 - media time: 1024, duration: 12106376
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] drop a frame at curr_cts: 0 @ 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] Before avformat_find_stream_info() pos: 48725 bytes read:65536 seeks:0 nb_streams:2
[h264 @ 0x559fb7ecf6c0] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x559fb7ecf6c0] nal_unit_type: 8(PPS), nal_ref_idc: 3
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] demuxer injecting skip 1024 / discard 0
[aac @ 0x559fb7ed1180] skip 1024 / discard 0 samples due to side data
[h264 @ 0x559fb7ecf6c0] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 0x559fb7ecf6c0] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0x559fb7ecf6c0] Format yuvj420p chosen by get_format().
[h264 @ 0x559fb7ecf6c0] Reinit context to 480x368, pix_fmt: yuvj420p
[h264 @ 0x559fb7ecf6c0] no picture 
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] All info found
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559fb7ecda40] After avformat_find_stream_info() pos: 4059034 bytes read:98304 seeks:1 frames:46
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf57.83.100
  Duration: 00:04:34.55, start: 0.000000, bitrate: 122 kb/s
    Stream #0:0(und), 1, 1/90000: Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuvj420p(pc, left), 480x360 (480x368) [SAR 1:1 DAR 4:3], 0/1, 6375600 kb/s, 90k fps, 90k tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und), 45, 1/44100: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 120 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
Successfully opened the file.
Parsing a group of options: output url low.mp4.
Applying option c:a (codec name) with argument libfdk_aac.
Applying option c:v (codec name) with argument libx264.
Applying option profile:v (set profile) with argument high.
Applying option vf (set video filters) with argument format=yuv420p.
Applying option sn (disable subtitle) with argument 1.
Applying option sample_fmt (set sample format) with argument s16.
Applying option ac (set number of audio channels) with argument 1.
Applying option map_metadata (set metadata information of outfile from infile) with argument -1.
Successfully parsed a group of options.
Opening an output file: low.mp4.
File 'low.mp4' already exists. Overwrite ? [y/N] y
[file @ 0x559fb7ef6e40] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 8 logical cores
[h264 @ 0x559fb7f2ee40] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x559fb7f2ee40] nal_unit_type: 8(PPS), nal_ref_idc: 3
Stream mapping:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (aac (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[aac @ 0x559fb7ed3980] skip 1024 / discard 0 samples due to side data
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
[graph_1_in_0_1 @ 0x559fb7f431c0] Setting 'time_base' to value '1/44100'
[graph_1_in_0_1 @ 0x559fb7f431c0] Setting 'sample_rate' to value '44100'
[graph_1_in_0_1 @ 0x559fb7f431c0] Setting 'sample_fmt' to value 'fltp'
[graph_1_in_0_1 @ 0x559fb7f431c0] Setting 'channel_layout' to value '0x3'
[graph_1_in_0_1 @ 0x559fb7f431c0] tb:1/44100 samplefmt:fltp samplerate:44100 chlayout:0x3
[format_out_0_1 @ 0x559fb8109140] Setting 'sample_fmts' to value 's16'
[format_out_0_1 @ 0x559fb8109140] Setting 'sample_rates' to value '96000|88200|64000|48000|44100|32000|24000|22050|16000|12000|11025|8000'
[format_out_0_1 @ 0x559fb8109140] Setting 'channel_layouts' to value '0x4'
[format_out_0_1 @ 0x559fb8109140] auto-inserting filter 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter 'format_out_0_1'
[AVFilterGraph @ 0x559fb7f3eb80] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed
[auto_resampler_0 @ 0x559fb810a000] [SWR @ 0x559fb810a380] Using fltp internally between filters
[auto_resampler_0 @ 0x559fb810a000] [SWR @ 0x559fb810a380] Matrix coefficients:
[auto_resampler_0 @ 0x559fb810a000] [SWR @ 0x559fb810a380] FC: FL:0.500000 FR:0.500000 
[auto_resampler_0 @ 0x559fb810a000] ch:2 chl:stereo fmt:fltp r:44100Hz -> ch:1 chl:mono fmt:s16 r:44100Hz
[libfdk_aac @ 0x559fb7ef7080] Note, the VBR setting is unsupported and only works with some parameter combinations
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
    Last message repeated 44 times
[h264 @ 0x559fb7f2ee40] nal_unit_type: 6(SEI), nal_ref_idc: 0
[h264 @ 0x559fb7f2ee40] nal_unit_type: 5(IDR), nal_ref_idc: 3
[h264 @ 0x559fb7f2ee40] Format yuvj420p chosen by get_format().
[h264 @ 0x559fb7f2ee40] Reinit context to 480x368, pix_fmt: yuvj420p
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
    Last message repeated 1 times
[h264 @ 0x559fb7f2ee40] no picture 
cur_dts is invalid st:0 (0) [init:0 i_done:0 finish:0] (this is harmless if it occurs once at the start per stream)
    Last message repeated 81 times
Too many packets buffered for output stream 0:1.
[AVIOContext @ 0x559fb7ed3780] Statistics: 0 seeks, 0 writeouts
[libfdk_aac @ 0x559fb7ef7080] 2 frames left in the queue on closing
[AVIOContext @ 0x559fb7ed6880] Statistics: 131072 bytes read, 2 seeks
Conversion failed!


    



    EDIT 2 :

    



    The original file is converted by online tool which uses ffmpeg also.
The source file was .mp3 with jpeg cover inside. But I wasn't able to simulate online tool's behavior = to convert cover to one-frame video.

    


  • Some videos fail to chromecast with error MEDIA_UNKNOWN

    1er juin 2020, par JonasVautherin

    Using mkchromecast to cast local mp4 files, some videos work, and some don't (as in : the screen hangs on the blue chromecast logo, suggesting that the initial connection worked). I can reproduce exactly the issue described here.

    



    So I decided to go one level lower, with pychromecast, and try to see what actually happens when it hangs on the blue logo. I converted two videos to HLS format, and exposed them through an http server. The video that works with mkchromecast also works with my setup, but the one that fails, well... fails on both. With pychromecast, I don't get much more information than :

    



    


    ERROR, code 100 : MEDIA_UNKNOWN.

    


    



    From the Cast documentation, this error means :

    



    


    The media element encountered an unknown error fired from platform. The media element encountered an error that did not indicate it's one of MediaError.MEDIA_ERR_*. This should be rare.

    


    



    It is not rare for me at all, though. I thought that maybe the failing video was in an unsupported format, as described in the documentation. So I tried to compare both videos with the following command :

    



    ffprobe -v quiet -print_format json -show_streams 


    



    Video that works :

    



    {
    "streams": [
        {
            "index": 0,
            "codec_name": "h264",
            "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
            "profile": "High",
            "codec_type": "video",
            "codec_time_base": "1001/48000",
            "codec_tag_string": "avc1",
            "codec_tag": "0x31637661",
            "width": 1920,
            "height": 1080,
            "coded_width": 1920,
            "coded_height": 1088,
            "has_b_frames": 2,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "16:9",
            "pix_fmt": "yuv420p",
            "level": 50,
            "chroma_location": "left",
            "refs": 1,
            "is_avc": "true",
            "nal_length_size": "4",
            "r_frame_rate": "24000/1001",
            "avg_frame_rate": "24000/1001",
            "time_base": "1/24000",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 47127080,
            "duration": "1963.628333",
            "bit_rate": "5527977",
            "bits_per_raw_sample": "8",
            "nb_frames": "47080",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0
            },
            "tags": {
                "language": "und",
                "handler_name": "VideoHandler"
            }
        },
        {
            "index": 1,
            "codec_name": "aac",
            "codec_long_name": "AAC (Advanced Audio Coding)",
            "profile": "LC",
            "codec_type": "audio",
            "codec_time_base": "1/48000",
            "codec_tag_string": "mp4a",
            "codec_tag": "0x6134706d",
            "sample_fmt": "fltp",
            "sample_rate": "48000",
            "channels": 2,
            "channel_layout": "stereo",
            "bits_per_sample": 0,
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/48000",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 94254528,
            "duration": "1963.636000",
            "bit_rate": "125776",
            "max_bit_rate": "125776",
            "nb_frames": "92048",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0
            },
            "tags": {
                "language": "und",
                "handler_name": "SoundHandler"
            }
        }
    ]
}


    



    Video that does NOT work :

    



    {                                               
    "streams": [
        {
            "index": 0,
            "codec_name": "h264",
            "codec_long_name": "H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10",
            "profile": "High",
            "codec_type": "video",
            "codec_time_base": "125/5994",
            "codec_tag_string": "avc1",
            "codec_tag": "0x31637661",
            "width": 1920,
            "height": 1040,
            "coded_width": 1920,
            "coded_height": 1040,
            "has_b_frames": 2,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "24:13",
            "pix_fmt": "yuv420p",
            "level": 41,
            "chroma_location": "left",
            "refs": 1,
            "is_avc": "true",
            "nal_length_size": "4",
            "r_frame_rate": "2997/125",
            "avg_frame_rate": "2997/125",
            "time_base": "1/11988",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 97032000,
            "duration": "8094.094094",
            "bit_rate": "2499644",
            "bits_per_raw_sample": "8",
            "nb_frames": "194064",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0
            },
            "tags": {
                "creation_time": "2020-03-27T09:56:39.000000Z",
                "language": "und",
                "handler_name": "L-SMASH Video Media Handler"
            }
        },
        {
            "index": 1,
            "codec_name": "aac",
            "codec_long_name": "AAC (Advanced Audio Coding)",
            "profile": "LC",
            "codec_type": "audio",
            "codec_time_base": "1/48000",
            "codec_tag_string": "mp4a",
            "codec_tag": "0x6134706d",
            "sample_fmt": "fltp",
            "sample_rate": "48000",
            "channels": 6,
            "channel_layout": "5.1",
            "bits_per_sample": 0,
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/48000",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 388516320,
            "duration": "8094.090000",
            "bit_rate": "224000",
            "max_bit_rate": "224000",
            "nb_frames": "379413",
            "disposition": {
                "default": 1,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0
            },
            "tags": {
                "creation_time": "2020-03-27T09:56:39.000000Z",
                "language": "eng",
                "handler_name": "SoundHandler"
            }
        }
    ]
}


    



    For what I can see, the codecs are the same, and the only difference I can make is in the aspect ratio.

    



    What could be the reason for this "MEDIA_UNKNOWN" error on the chromecast side ? Is there something more I could compare between those two videos ? Could it be that the chromecast fails because of the aspect ratio ?

    


  • ffmpeg GPU use cuvid with hwdownload will never finished, Appeared only recently

    28 mai 2020, par tags bt

    ffmpeg :

    



    ffmpeg version N-97331-g10a68cc Copyright (c) 2000-2020 the FFmpeg developers
  built with gcc 7 (Ubuntu 7.3.0-16ubuntu3)
  configuration: --pkg-config-flags=--static --prefix=/usr/local/ffmpeg --bindir=/usr/local/ffmpeg/bin --extra-cflags='-I /usr/local/ffmpeg/include -I /usr/local/cuda/include/' --extra-ldflags='-L /usr/local/ffmpeg/lib -L /usr/local/cuda/lib64/' --extra-libs=-lpthread --enable-cuda --enable-cuda-nvcc --enable-cuvid --enable-libnpp --enable-gpl --enable-libass --enable-libfdk-aac --enable-vaapi --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-libaom --enable-nvenc


    



    nvidia-msi

    



    +-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.82       Driver Version: 440.82       CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 00000000:02:00.0 Off |                  N/A |
|  0%   51C    P8    13W / 200W |     18MiB /  8119MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     23224      C   ffmpeg                                         8MiB |
+-----------------------------------------------------------------------------+



    



    if i use this command :

    



    ffmpeg -re -threads 0 -loglevel debug -hwaccel cuvid -hwaccel_output_format cuda -i 1.mp4 -c:v h264_nvenc -c:a aac -ac 2 -b:a 128k -strict -2 -filter_complex "[0:v]scale_npp=1280:-2" ouzz2t.mp4


    



    it will very fast.

    



    but if i use this command :

    



    ffmpeg -re -threads 0 -loglevel debug -vsync 0 -hwaccel cuvid -hwaccel_output_format cuda -hwaccel_device intel -i 1.mp4 -c:v h264_nvenc -c:a aac -ac 2 -b:a 128k -strict -2 -filter_complex "[0:v]scale_npp=1280:-2:format=yuv420p[tmp],[tmp]hwdownload,format=yuv420" ouzz2t.mp4


    



    it will never finished, one 40MB mp4 will transcode 44 minutes and not finished.

    



    as you see

    



    +-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     23224      C   ffmpeg                                         8MiB |
+-----------------------------------------------------------------------------+


    



    it will only use GPU memory 8mib.

    



    and top will show :
enter image description here

    



    delug log :

    



    [AVHWDeviceContext @ 0x561cfaef92c0] Loaded lib: libcuda.so.1
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuInit
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceGetCount
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceGet
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceGetAttribute
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceGetName
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceComputeCapability
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxCreate_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxSetLimit
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxPushCurrent_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxPopCurrent_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxDestroy_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemAlloc_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemAllocPitch_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemsetD8Async
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemFree_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemcpy2D_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMemcpy2DAsync_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGetErrorName
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGetErrorString
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuCtxGetDevice
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDevicePrimaryCtxRetain
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDevicePrimaryCtxRelease
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDevicePrimaryCtxSetFlags
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDevicePrimaryCtxGetState
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDevicePrimaryCtxReset
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuStreamCreate
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuStreamQuery
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuStreamSynchronize
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuStreamDestroy_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuStreamAddCallback
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuEventCreate
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuEventDestroy_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuEventSynchronize
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuEventQuery
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuEventRecord
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuLaunchKernel
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuModuleLoadData
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuModuleUnload
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuModuleGetFunction
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuTexObjectCreate
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuTexObjectDestroy
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGLGetDevices_v2
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGraphicsGLRegisterImage
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGraphicsUnregisterResource
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGraphicsMapResources
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGraphicsUnmapResources
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuGraphicsSubResourceGetMappedArray
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDeviceGetUuid
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuImportExternalMemory
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDestroyExternalMemory
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuExternalMemoryGetMappedBuffer
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuExternalMemoryGetMappedMipmappedArray
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMipmappedArrayGetLevel
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuMipmappedArrayDestroy
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuImportExternalSemaphore
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuDestroyExternalSemaphore
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuSignalExternalSemaphoresAsync
[AVHWDeviceContext @ 0x561cfaef92c0] Loaded sym: cuWaitExternalSemaphoresAsync



    



    Stop at Loaded sym : cuWaitExternalSemaphoresAsync, and ffmpeg will always 100% cpu and never finished.

    



    Appeared only recently, last week it work fine, but today it work worse.

    



    somebody know what happen to me ?