Recherche avancée

Médias (91)

Autres articles (42)

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

  • Not getting required audio codec in ffmpeg

    5 juin 2020, par user13546893

    I am using Colab to run the code.

    



    import os, sys, re

video_file_path = "/content/drive/My Drive/1111/Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate - Telly.mkv" #@param {type:"string"}
os.environ['fileName'] = filename_raw
os.environ['fileExtension'] = file_extension_raw

!ffmpeg -hide_banner -i "$inputFile" -c copy -strict -2 "$outputPath"/"$fileName".mp4


    



    But the problem is after conversion of mkv video in mp4 format my html5 player can't play the audio. Video is running fine.
Output :

    



    ffmpeg version 3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.3.0-16ubuntu3) configuration: --prefix=/usr --extra-version=0ubuntu0.18.04.1
--toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57.
10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 Input #0, matroska,webm, from '/content/drive/Shared drives/Vedant/1111/Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate - Telly.mkv': Metadata: title : MoviePirate.in | Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate
- Telly.mkv encoder : libebml v1.3.10 + libmatroska v1.5.2 creation_time : 2020-05-01T15:55:34.000000Z Duration: 01:46:56.51, start: 0.000000, bitrate: 2975 kb/s Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv), 1920x960, SAR 1:1 DAR 2:1, 24 fps, 24 tbr, 1k tbn, 24 tbc (default) Metadata: title : MoviePirate.in BPS-eng : 2205883 DURATION-eng : 01:46:56.500000000 NUMBER_OF_FRAMES-eng: 153996 NUMBER_OF_BYTES-eng: 1769256160 _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit _STATISTICS_WRITING_DATE_UTC-eng: 2020-05-01 15:55:34 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:1(hin): Audio: eac3, 48000 Hz, 5.1(side), fltp, 768 kb/s Metadata: title : MoviePirate.in BPS-eng : 768000 DURATION-eng : 01:46:56.512000000 NUMBER_OF_FRAMES-eng: 200516 NUMBER_OF_BYTES-eng: 615985152 _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit _STATISTICS_WRITING_DATE_UTC-eng: 2020-05-01 15:55:34 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:2(eng): Subtitle: subrip Metadata: title : MoviePirate.in BPS-eng : 42 DURATION-eng : 01:41:50.375000000 NUMBER_OF_FRAMES-eng: 1123 NUMBER_OF_BYTES-eng: 32413
_STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit _STATISTICS_WRITING_DATE_UTC-eng: 2020-05-01 15:55:34 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES File '/content/drive/Shared drives/Vedant/1111//Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate
- Telly.mp4' already exists. Overwrite ? [y/N] y [mp4 @ 0x560897578c00] track 1: codec frame size is not set Output #0, mp4, to '/content/drive/Shared drives/Vedant/1111//Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate
- Telly.mp4': Metadata: title : MoviePirate.in | Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate - Telly.mkv encoder : Lavf57.83.100 Stream #0:0: Video: hevc (Main 10) (hev1 / 0x31766568), yuv420p10le(tv), 1920x960 [SAR 1:1 DAR 2:1], q=2-31, 24 fps, 24 tbr, 16k tbn, 1k tbc (default) Metadata: title : MoviePirate.in BPS-eng : 2205883 DURATION-eng : 01:46:56.500000000 NUMBER_OF_FRAMES-eng: 153996 NUMBER_OF_BYTES-eng: 1769256160 _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit _STATISTICS_WRITING_DATE_UTC-eng: 2020-05-01 15:55:34
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:1(hin): Audio: eac3 (ec-3 / 0x332D6365), 48000 Hz,
5.1(side), fltp, 768 kb/s Metadata: title : MoviePirate.in BPS-eng : 768000 DURATION-eng : 01:46:56.512000000 NUMBER_OF_FRAMES-eng: 200516 NUMBER_OF_BYTES-eng: 615985152 _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit _STATISTICS_WRITING_DATE_UTC-eng: 2020-05-01 15:55:34 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1
-> #0:1 (copy) Press [q] to stop, [?] for help frame=153996 fps=10450 q=-1.0 Lsize= 2334010kB time=01:46:56.48 bitrate=2979.9kbits/s speed= 435x video:1727789kB audio:601548kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 0.200594%    ffmpeg version
3.4.6-0ubuntu0.18.04.1 Copyright (c) 2000-2019 the FFmpeg developers built with gcc 7 (Ubuntu 7.3.0-16ubuntu3) configuration: --prefix=/usr
--extra-version=0ubuntu0.18.04.1 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57.
10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 Input #0, matroska,webm, from '/content/drive/Shared drives/Vedant/1111/Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate - Telly.mkv': Metadata: title : MoviePirate.in | Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate
- Telly.mkv encoder : libebml v1.3.10 + libmatroska v1.5.2 creation_time : 2020-05-01T15:55:34.000000Z Duration: 01:46:56.51, start: 0.000000, bitrate: 2975 kb/s Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv), 1920x960, SAR 1:1 DAR 2:1, 24 fps, 24 tbr, 1k tbn, 24 tbc (default) Metadata: title : MoviePirate.in BPS-eng : 2205883 DURATION-eng : 01:46:56.500000000 NUMBER_OF_FRAMES-eng: 153996 NUMBER_OF_BYTES-eng: 1769256160 _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit _STATISTICS_WRITING_DATE_UTC-eng: 2020-05-01 15:55:34 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:1(hin): Audio: eac3, 48000 Hz, 5.1(side), fltp, 768 kb/s Metadata: title : MoviePirate.in BPS-eng : 768000 DURATION-eng : 01:46:56.512000000 NUMBER_OF_FRAMES-eng: 200516 NUMBER_OF_BYTES-eng: 615985152 _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit _STATISTICS_WRITING_DATE_UTC-eng: 2020-05-01 15:55:34 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:2(eng): Subtitle: subrip Metadata: title : MoviePirate.in BPS-eng : 42 DURATION-eng : 01:41:50.375000000 NUMBER_OF_FRAMES-eng: 1123 NUMBER_OF_BYTES-eng: 32413
_STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit _STATISTICS_WRITING_DATE_UTC-eng: 2020-05-01 15:55:34 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES File '/content/drive/Shared drives/Vedant/1111//Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate
- Telly.mp4' already exists. Overwrite ? [y/N] y [mp4 @ 0x560897578c00] track 1: codec frame size is not set Output #0, mp4, to '/content/drive/Shared drives/Vedant/1111//Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate
- Telly.mp4': Metadata: title : MoviePirate.in | Mrs.Serial Killer 2020 1080p 10bit NF WEBRip Hindi DD+5.1 Atmos x265 HEVC ESub - MoviePirate - Telly.mkv encoder : Lavf57.83.100 Stream #0:0: Video: hevc (Main 10) (hev1 / 0x31766568), yuv420p10le(tv), 1920x960 [SAR 1:1 DAR 2:1], q=2-31, 24 fps, 24 tbr, 16k tbn, 1k tbc (default) Metadata: title : MoviePirate.in BPS-eng : 2205883 DURATION-eng : 01:46:56.500000000 NUMBER_OF_FRAMES-eng: 153996 NUMBER_OF_BYTES-eng: 1769256160 _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit _STATISTICS_WRITING_DATE_UTC-eng: 2020-05-01 15:55:34
_STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:1(hin): Audio: eac3 (ec-3 / 0x332D6365), 48000 Hz,
5.1(side), fltp, 768 kb/s Metadata: title : MoviePirate.in BPS-eng : 768000 DURATION-eng : 01:46:56.512000000 NUMBER_OF_FRAMES-eng: 200516 NUMBER_OF_BYTES-eng: 615985152 _STATISTICS_WRITING_APP-eng: mkvmerge v44.0.0 ('Domino') 64-bit _STATISTICS_WRITING_DATE_UTC-eng: 2020-05-01 15:55:34 _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1
-> #0:1 (copy) Press [q] to stop, [?] for help frame=153996 fps=10450 q=-1.0 Lsize= 2334010kB time=01:46:56.48 bitrate=2979.9kbits/s speed= 435x video:1727789kB audio:601548kB subtitle:0kB other streams:0kB global headers:2kB muxing overhead: 0.200594%


    



    What changes should I do in the Code ?

    


  • ffmpeg webm to mp4 conversion failed

    13 juin 2020, par Jaunius Bumptirklu

    Trying to convert webm file to mp4. Getting "conversion failed" as a result. Other webm files I am working with converts just fine.

    



    ffprobe info on inputfile.webm

    



    $ ffprobe -v quiet -print_format json -show_format -show_streams inputfile.webm
{
    "streams": [
        {
            "index": 0,
            "codec_name": "vp8",
            "codec_long_name": "On2 VP8",
            "profile": "0",
            "codec_type": "video",
            "codec_time_base": "1/30",
            "codec_tag_string": "[0][0][0][0]",
            "codec_tag": "0x0000",
            "width": 640,
            "height": 480,
            "coded_width": 640,
            "coded_height": 480,
            "has_b_frames": 0,
            "sample_aspect_ratio": "1:1",
            "display_aspect_ratio": "4:3",
            "pix_fmt": "yuv420p",
            "level": -99,
            "field_order": "progressive",
            "refs": 1,
            "r_frame_rate": "30/1",
            "avg_frame_rate": "30/1",
            "time_base": "1/1000",
            "start_pts": 0,
            "start_time": "0.000000",
            "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
            }
        },
        {
            "index": 1,
            "codec_name": "opus",
            "codec_long_name": "Opus (Opus Interactive Audio Codec)",
            "codec_type": "audio",
            "codec_time_base": "1/48000",
            "codec_tag_string": "[0][0][0][0]",
            "codec_tag": "0x0000",
            "sample_fmt": "fltp",
            "sample_rate": "48000",
            "channels": 1,
            "channel_layout": "mono",
            "bits_per_sample": 0,
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/1000",
            "start_pts": 0,
            "start_time": "0.000000",
            "duration_ts": 12333,
            "duration": "12.333000",
            "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
            }
        }
    ],
    "format": {
        "filename": "inputfile.webm",
        "nb_streams": 2,
        "nb_programs": 0,
        "format_name": "matroska,webm",
        "format_long_name": "Matroska / WebM",
        "start_time": "0.000000",
        "duration": "12.333000",
        "size": "1609303",
        "bit_rate": "1043900",
        "probe_score": 100,
        "tags": {
            "encoder": "Lavf56.40.101",
            "creation_time": "2020-06-12T11:32:05.000000Z"
        }
    }
}


    



    ffmpeg conversion log for command "ffmpeg -i inputfile.webm out.mp4" is below.

    



    $ ffmpeg -i inputfile.webm out.mp4
ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
  built with Apple clang version 11.0.3 (clang-1103.0.32.59)
  configuration: --prefix=/usr/local/Cellar/ffmpeg/4.2.2_3 --enable-shared --enable-pthreads --enable-version3 --enable-avresample --cc=clang --host-cflags=-fno-stack-check --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libbluray --enable-libmp3lame --enable-libopus --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
  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, matroska,webm, from 'inputfile.webm':
  Metadata:
    encoder         : Lavf56.40.101
    creation_time   : 2020-06-12T11:32:05.000000Z
  Duration: 00:00:12.33, start: 0.000000, bitrate: 1043 kb/s
    Stream #0:0: Video: vp8, yuv420p(progressive), 640x480, SAR 1:1 DAR 4:3, 30 fps, 30 tbr, 1k tbn, 1k tbc (default)
    Stream #0:1: Audio: opus, 48000 Hz, mono, fltp (default)
Stream mapping:
  Stream #0:0 -> #0:0 (vp8 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (opus (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x7f9e64811600] using SAR=1/1
[libx264 @ 0x7f9e64811600] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7f9e64811600] profile High, level 5.0
[libx264 @ 0x7f9e64811600] 264 - core 155 r2917 0a84d98 - H.264/MPEG-4 AVC codec - Copyleft 2003-2018 - 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=18 lookahead_threads=3 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
Too many packets buffered for output stream 0:0.577014:32:22.77 bitrate=  -0.0kbits/s dup=45 drop=0 speed=N/A
[libx264 @ 0x7f9e64811600] frame I:1     Avg QP:16.69  size: 56001
[libx264 @ 0x7f9e64811600] frame P:33    Avg QP:19.46  size:  9705
[libx264 @ 0x7f9e64811600] frame B:95    Avg QP:19.23  size:   662
[libx264 @ 0x7f9e64811600] consecutive B-frames:  0.8%  0.0%  4.6% 94.7%
[libx264 @ 0x7f9e64811600] mb I  I16..4: 46.7% 36.4% 16.9%
[libx264 @ 0x7f9e64811600] mb P  I16..4:  4.0%  9.4%  0.5%  P16..4:  6.5%  1.2%  0.6%  0.0%  0.0%    skip:77.8%
[libx264 @ 0x7f9e64811600] mb B  I16..4:  0.1%  0.1%  0.0%  B16..8:  6.0%  0.1%  0.0%  direct: 0.7%  skip:93.0%  L0:44.7% L1:54.8% BI: 0.4%
[libx264 @ 0x7f9e64811600] 8x8 transform intra:61.3% inter:37.9%
[libx264 @ 0x7f9e64811600] coded y,uvDC,uvAC intra: 8.6% 3.3% 1.3% inter: 0.9% 0.9% 0.1%
[libx264 @ 0x7f9e64811600] i16 v,h,dc,p: 41% 52%  6%  1%
[libx264 @ 0x7f9e64811600] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 42% 16% 41%  0%  0%  0%  0%  0%  0%
[libx264 @ 0x7f9e64811600] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 32% 40% 17%  2%  2%  2%  2%  1%  3%
[libx264 @ 0x7f9e64811600] i8c dc,h,v,p: 88%  8%  3%  0%
[libx264 @ 0x7f9e64811600] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7f9e64811600] ref P L0: 75.5% 13.1%  9.1%  2.3%
[libx264 @ 0x7f9e64811600] ref B L0: 82.1% 16.4%  1.5%
[libx264 @ 0x7f9e64811600] ref B L1: 97.0%  3.0%
[libx264 @ 0x7f9e64811600] kb/s:816.97
Conversion failed!


    



    I don't have deeper experience with ffmpeg conversions and codecs. It seems to me that this is a frames related problem. Do you have a clue why does it fail ? What options should I use in ffmpeg command to solve this ? Thanks for any help.

    


  • Flutter (Dart) : Merge two videos and view the new output in the device's gallery (photos)

    17 juin 2020, par Ittai Barkai

    I am aware that there already exists a solution to a very similar question, which can be found on the following link : Flutter/Dart : Find two video segments and merge them into a single valid video file ? However, being relatively new to Flutter (and programming in general) I cannot seem to replicate the desired result.

    



    My app is very simple and currently looks like this :

    



    enter image description here

    



    I click on the button "Record Video" to record two videos, which are both successfully stored into the device's gallery. Using the Flutter image_picker and gallery_saver packages and the following piece of code :

    



        void _recordVideo() async {
    ImagePicker.pickVideo(source: ImageSource.camera)
        .then((File recordedVideo) {
      if (recordedVideo != null && recordedVideo.path != null) {
        setState(() {
          _buttonText = 'Saving in Progress...';
        });
        GallerySaver.saveVideo(recordedVideo.path).then((_) {
          setState(() {
            _buttonText = 'Video Saved!\n\nClick to Record New Video';
            if (_storedVideoOne == null) {
              _storedVideoOne = recordedVideo;
              print('video 1 stored');
            } else {
              _storedVideoTwo = recordedVideo;
              print('video 2 stored');
              _videoMerger();
            }
          });
        });
      }
    });
  }


    



    I can view these videos when I click on the button at the bottom "View Video From Gallery".

    



    Next I try to merge these two stored video files, using the flutter_ffmpeg package, as well as following the solution provided in the stack overflow question mentioned above. I try and do this using the following function I wrote :

    



    void _videoMerger() async {


    final appDir = await syspaths.getApplicationDocumentsDirectory();
    String rawDocumentPath = appDir.path;
    final outputPath = '$rawDocumentPath/output.mp4';

    final FlutterFFmpeg _flutterFFmpeg = new FlutterFFmpeg();

        String commandToExecute = '-i ${_storedVideoOne.path} -i ${_storedVideoTwo.path} -filter_complex \'[0:0][1:0]concat=n=2:v=1:a=0[out]\' -map \'[out]\' outputPath';
        _flutterFFmpeg.execute(commandToExecute).then((rc) => print("FFmpeg process exited with rc $rc"));

  }


    



    But after running the function I do not seem to get a new combined video, which should be stored in outputPath and ideally also viewable in the gallery. Uploaded the Flutter project onto GitHub here :

    



    https://github.com/IttaiBarkai/Flutter-Video-Merger

    



    Any help would be greatly appreciated :)

    



    Updated :

    



    Below is the output displayed on my debug console when ffmpeg gets executed :

    



    D/flutter-ffmpeg( 4146): Running FFmpeg with arguments: [-i, /storage/emulated/0/Android/data/com.example.video_merger_two/files/Pictures/d2b7a612-7c6d-48fe-8d06-85ceeb10e2f584195978113840656.mp4, -i, /storage/emulated/0/Android/data/com.example.video_merger_two/files/Pictures/b6cb83a3-10ac-49c7-80f3-3447bebe93ac5245748251872788895.mp4, -filter_complex, [0:0][1:0]concat=n=2:v=1:a=0[out], -map, [out], outputPath.mp4].
I/mobile-ffmpeg( 4146): ffmpeg version git-2020-01-25-fd11dd500
I/mobile-ffmpeg( 4146):  Copyright (c) 2000-2020 the FFmpeg developers
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):   built with Android (5220042 based on r346389c) clang version 8.0.7 (https://android.googlesource.com/toolchain/clang b55f2d4ebfd35bf643d27dbca1bb228957008617) (https://android.googlesource.com/toolchain/llvm 3c393fe7a7e13b0fba4ac75a01aa683d7a5b11cd) (based on LLVM 8.0.7svn)
I/mobile-ffmpeg( 4146):   configuration: --cross-prefix=i686-linux-android- --sysroot=/files/android-sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/sysroot --prefix=/home/taner/Projects/mobile-ffmpeg/prebuilt/android-x86/ffmpeg --pkg-config=/usr/bin/pkg-config --enable-version3 --arch=i686 --cpu=i686 --cc=i686-linux-android24-clang --cxx=i686-linux-android24-clang++ --target-os=android --disable-neon --disable-asm --disable-inline-asm --enable-cross-compile --enable-pic --enable-jni --enable-optimizations --enable-swscale --enable-shared --disable-v4l2-m2m --disable-outdev=v4l2 --disable-outdev=fbdev --disable-indev=v4l2 --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 --di
I/mobile-ffmpeg( 4146):   libavutil      56. 38.100 / 56. 38.100
I/mobile-ffmpeg( 4146):   libavcodec     58. 65.102 / 58. 65.102
I/mobile-ffmpeg( 4146):   libavformat    58. 35.101 / 58. 35.101
I/mobile-ffmpeg( 4146):   libavdevice    58.  9.103 / 58.  9.103
I/mobile-ffmpeg( 4146):   libavfilter     7. 70.101 /  7. 70.101
I/mobile-ffmpeg( 4146):   libswscale      5.  6.100 /  5.  6.100
I/mobile-ffmpeg( 4146):   libswresample   3.  6.100 /  3.  6.100
I/mobile-ffmpeg( 4146): Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/com.example.video_merger_two/files/Pictures/d2b7a612-7c6d-48fe-8d06-85ceeb10e2f584195978113840656.mp4':
I/mobile-ffmpeg( 4146):   Metadata:
I/mobile-ffmpeg( 4146):     major_brand     :
I/mobile-ffmpeg( 4146): mp42
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     minor_version   :
I/mobile-ffmpeg( 4146): 0
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     compatible_brands:
I/mobile-ffmpeg( 4146): isommp42
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     creation_time   :
I/mobile-ffmpeg( 4146): 2020-06-17T12:07:20.000000Z
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     com.android.version:
I/mobile-ffmpeg( 4146): 10
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):   Duration:
I/mobile-ffmpeg( 4146): 27:34:19.40
I/mobile-ffmpeg( 4146): , start:
I/mobile-ffmpeg( 4146): 0.000000
I/mobile-ffmpeg( 4146): , bitrate:
I/mobile-ffmpeg( 4146): 0 kb/s
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     Stream #0:0
I/mobile-ffmpeg( 4146): (eng)
I/mobile-ffmpeg( 4146): : Video: h264 (avc1 / 0x31637661), yuv420p(tv, GBR), 1280x720, 3536 kb/s
I/mobile-ffmpeg( 4146): , SAR 1:1 DAR 16:9
I/mobile-ffmpeg( 4146): ,
I/mobile-ffmpeg( 4146): 28.75 fps,
I/mobile-ffmpeg( 4146): 29.08 tbr,
I/mobile-ffmpeg( 4146): 90k tbn,
I/mobile-ffmpeg( 4146): 180k tbc
I/mobile-ffmpeg( 4146):  (default)
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     Metadata:
I/mobile-ffmpeg( 4146):       rotate          :
I/mobile-ffmpeg( 4146): 90
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):       creation_time   :
I/mobile-ffmpeg( 4146): 2020-06-17T12:07:20.000000Z
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):       handler_name    :
I/mobile-ffmpeg( 4146): VideoHandle
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     Side data:
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146): displaymatrix: rotation of -90.00 degrees
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     Stream #0:1
I/mobile-ffmpeg( 4146): (eng)
I/mobile-ffmpeg( 4146): : Audio: amr_nb (samr / 0x726D6173), 8000 Hz, mono, flt, 12 kb/s
I/mobile-ffmpeg( 4146):  (default)
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     Metadata:
I/mobile-ffmpeg( 4146):       creation_time   :
I/mobile-ffmpeg( 4146): 2020-06-17T12:07:20.000000Z
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):       handler_name    :
I/mobile-ffmpeg( 4146): SoundHandle
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146): Input #1, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/emulated/0/Android/data/com.example.video_merger_two/files/Pictures/b6cb83a3-10ac-49c7-80f3-3447bebe93ac5245748251872788895.mp4':
I/mobile-ffmpeg( 4146):   Metadata:
I/mobile-ffmpeg( 4146):     major_brand     :
I/mobile-ffmpeg( 4146): mp42
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     minor_version   :
I/mobile-ffmpeg( 4146): 0
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     compatible_brands:
I/mobile-ffmpeg( 4146): isommp42
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     creation_time   :
I/mobile-ffmpeg( 4146): 2020-06-17T12:07:32.000000Z
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     com.android.version:
I/mobile-ffmpeg( 4146): 10
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):   Duration:
I/mobile-ffmpeg( 4146): 27:34:19.35
I/mobile-ffmpeg( 4146): , start:
I/mobile-ffmpeg( 4146): 0.000000
I/mobile-ffmpeg( 4146): , bitrate:
I/mobile-ffmpeg( 4146): 0 kb/s
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     Stream #1:0
I/mobile-ffmpeg( 4146): (eng)
I/mobile-ffmpeg( 4146): : Video: h264 (avc1 / 0x31637661), yuv420p(tv, GBR), 1280x720, 3561 kb/s
I/mobile-ffmpeg( 4146): , SAR 1:1 DAR 16:9
I/mobile-ffmpeg( 4146): ,
I/mobile-ffmpeg( 4146): 28.95 fps,
I/mobile-ffmpeg( 4146): 29 tbr,
I/mobile-ffmpeg( 4146): 90k tbn,
I/mobile-ffmpeg( 4146): 180k tbc
I/mobile-ffmpeg( 4146):  (default)
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     Metadata:
I/mobile-ffmpeg( 4146):       rotate          
:
I/mobile-ffmpeg( 4146): 90
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):       creation_time   :
I/mobile-ffmpeg( 4146): 2020-06-17T12:07:32.000000Z
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):       handler_name    :
I/mobile-ffmpeg( 4146): VideoHandle
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     Side data:
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146): displaymatrix: rotation of -90.00 degrees
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     Stream #1:1
I/mobile-ffmpeg( 4146): (eng)
I/mobile-ffmpeg( 4146): : Audio: amr_nb (samr / 0x726D6173), 8000 Hz, mono, flt, 12 kb/s
I/mobile-ffmpeg( 4146):  (default)
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):     Metadata:
I/mobile-ffmpeg( 4146):       creation_time   :
I/mobile-ffmpeg( 4146): 2020-06-17T12:07:32.000000Z
I/mobile-ffmpeg( 4146):
I/mobile-ffmpeg( 4146):       handler_name    :
I/mobile-ffmpeg( 4146): SoundHandle
I/mobile-ffmpeg( 4146):
E/mobile-ffmpeg( 4146): outputPath.mp4: Read-only file system
D/flutter-ffmpeg( 4146): FFmpeg exited with rc: 1
I/flutter ( 4146): FFmpeg process exited with rc 1