
Recherche avancée
Autres articles (47)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page. -
Les autorisations surchargées par les plugins
27 avril 2010, parMediaspip core
autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs -
Changer son thème graphique
22 février 2011, parLe thème graphique ne touche pas à la disposition à proprement dite des éléments dans la page. Il ne fait que modifier l’apparence des éléments.
Le placement peut être modifié effectivement, mais cette modification n’est que visuelle et non pas au niveau de la représentation sémantique de la page.
Modifier le thème graphique utilisé
Pour modifier le thème graphique utilisé, il est nécessaire que le plugin zen-garden soit activé sur le site.
Il suffit ensuite de se rendre dans l’espace de configuration du (...)
Sur d’autres sites (5022)
-
Generating video from images and audio by FFmpeg
24 mars 2020, par CodyI am new to FFmpeg and video/audio encoding. I try to use Fluent ffmpeg to generate a MP4 video from images and audio.
There are 2 inputs only :
- JPG images with filename NOT in numbering sequence (e.g. foo.jpg, bar.jpg)
- .wav audio
If the audio duration is longer video length, just discard the excessive part of audio at the end.
And all the images have to be shown in same duration.(i.e. The video should be inn/d
FPS forn
images and video withd
second)Since the image input are not in number sequence, I use concat demuxer as input :
let VIDEO_DURATION = 8;
let ffmpeg = await FfmpegUtil.createCommand();
let imageFiles: string[] = ["foo.jpg", "bar.jpg", ...]; //assume there are 67 image files
let demuxerFile = await FfmpegUtil.createConcatDemuxerFile(imageFiles);
let audioFile: string = "path/to/audio.wav";
ffmpeg.input(demuxerFile)
.inputOption(
"-f", "concat",
"-safe", "0",
)
.input(audioFile)
.outputOption(
"-r", `${imageFiles.length}/${VIDEO_DURATION}`,
)
.duration(VIDEO_DURATION)
.save("path/to/output.mp4")
;it will spawn a ffmpeg command :
ffmpeg
-f concat
-safe 0
-i path/to/demuxerFile.txt
-i path/to/audio.wav
-y
-r 67/8
-t 8
path/to/output.mp4However the output file cannot be played.
I also tried
"-framerate", ${imageFiles.length}/${VIDEO_DURATION}
in.outputOption()
, it still output a file cannot be played and I found the frame rate always be 25 in its file property.Update 1 (added spawned command & ffmpeg console log) :
spawned ffmpeg command & console log (
"-r", `${imageFiles.length}/${VIDEO_DURATION}`
asoutputOption
) :ffmpeg -f concat -safe 0 -i path/to/demuxerFile.txt -i path/to/audio.wav -y -r 67/8 -t 8 path/to/output_r.mp4
ffmpeg version git-2020-01-26-5e62100 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.2.1 (GCC) 20200122
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
libavutil 56. 38.100 / 56. 38.100
libavcodec 58. 67.100 / 58. 67.100
libavformat 58. 36.100 / 58. 36.100
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 71.100 / 7. 71.100
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, concat, from 'path/to/demuxerFile.txt':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 4677x4677 [SAR 256:256 DAR 1:1], 25 tbr, 25 tbn, 25 tbc
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, wav, from 'path/to/audio.wav':
Metadata:
artist : TextAloud: IVONA Kimberly22
date : 2018
genre : Speech
title : 38750336.mp3
album : Created: 7/26/2018 4:56:13 PM
encoder : Lavf58.16.100
encoded_by : Lame MP3
Duration: 00:00:15.57, bitrate: 705 kb/s
Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 22050 Hz, stereo, s16, 705 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 000001e395041400] using SAR=1/1
[libx264 @ 000001e395041400] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000001e395041400] profile High 4:4:4 Predictive, level 6.0, 4:4:4, 8-bit
[libx264 @ 000001e395041400] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=8 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'path/to/output_r.mp4':
Metadata:
encoder : Lavf58.36.100
Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj444p(pc, progressive), 4677x4677 [SAR 256:256 DAR 1:1], q=-1--1, 8.38 fps, 17152 tbn, 8.38 tbc
Metadata:
encoder : Lavc58.67.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc58.67.100 aac
frame= 3 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 5 fps=4.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=4 speed= 0x
frame= 6 fps=3.4 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=7 speed= 0x
frame= 8 fps=3.4 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=10 speed= 0x
frame= 10 fps=3.5 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=14 speed= 0x
frame= 11 fps=3.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=16 speed= 0x
frame= 13 fps=3.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=20 speed= 0x
frame= 14 fps=3.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=22 speed= 0x
frame= 16 fps=3.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=26 speed= 0x
frame= 17 fps=2.9 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=28 speed= 0x
frame= 18 fps=2.8 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=31 speed= 0x
frame= 20 fps=2.9 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=34 speed= 0x
frame= 21 fps=2.8 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=36 speed= 0x
frame= 23 fps=2.9 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=40 speed= 0x
frame= 24 fps=2.8 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A dup=0 drop=42 speed= 0x
frame= 24 fps=0.7 q=-1.0 Lsize= 752kB time=00:00:08.03 bitrate= 766.4kbits/s dup=0 drop=43 speed=0.22x
video:624kB audio:125kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.359236%
[libx264 @ 000001e395041400] frame I:1 Avg QP:12.79 size:257554
[libx264 @ 000001e395041400] frame P:15 Avg QP:13.10 size: 20487
[libx264 @ 000001e395041400] frame B:8 Avg QP:13.10 size: 9231
[libx264 @ 000001e395041400] consecutive B-frames: 45.8% 25.0% 12.5% 16.7%
[libx264 @ 000001e395041400] mb I I16..4: 18.4% 79.2% 2.4%
[libx264 @ 000001e395041400] mb P I16..4: 1.0% 3.3% 0.4% P16..4: 1.0% 0.2% 0.2% 0.0% 0.0% skip:93.9%
[libx264 @ 000001e395041400] mb B I16..4: 0.1% 0.2% 0.1% B16..8: 1.8% 0.1% 0.0% direct: 2.9% skip:94.7% L0:58.1% L1:40.2% BI: 1.7%
[libx264 @ 000001e395041400] 8x8 transform intra:75.0% inter:82.7%
[libx264 @ 000001e395041400] coded y,u,v intra: 6.1% 3.5% 4.4% inter: 0.2% 1.2% 0.5%
[libx264 @ 000001e395041400] i16 v,h,dc,p: 80% 16% 3% 2%
[libx264 @ 000001e395041400] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 46% 8% 44% 0% 0% 0% 0% 0% 0%
[libx264 @ 000001e395041400] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 27% 25% 3% 3% 3% 4% 3% 3%
[libx264 @ 000001e395041400] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000001e395041400] ref P L0: 75.6% 3.3% 14.8% 6.3%
[libx264 @ 000001e395041400] ref B L0: 88.6% 10.7% 0.7%
[libx264 @ 000001e395041400] ref B L1: 98.7% 1.3%
[libx264 @ 000001e395041400] kb/s:1783.06
[aac @ 000001e3951e7f80] Qavg: 55135.730spawned ffmpeg command & console log (
"-framerate", `${imageFiles.length}/${VIDEO_DURATION}`
asoutputOption
) :ffmpeg -f concat -safe 0 -i path/to/demuxerFile.txt -i path/to/audio.wav -y -framerate 67/8 -t 8 path/to/output_framerate.mp4
ffmpeg version git-2020-01-26-5e62100 Copyright (c) 2000-2020 the FFmpeg developers
built with gcc 9.2.1 (GCC) 20200122
configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
libavutil 56. 38.100 / 56. 38.100
libavcodec 58. 67.100 / 58. 67.100
libavformat 58. 36.100 / 58. 36.100
libavdevice 58. 9.103 / 58. 9.103
libavfilter 7. 71.100 / 7. 71.100
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, concat, from 'path/to/demuxerFile.txt':
Duration: N/A, start: 0.000000, bitrate: N/A
Stream #0:0: Video: mjpeg (Baseline), yuvj444p(pc, bt470bg/unknown/unknown), 4677x4677 [SAR 256:256 DAR 1:1], 25 tbr, 25 tbn, 25 tbc
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, wav, from 'path/to/audio.wav':
Metadata:
artist : TextAloud: IVONA Kimberly22
date : 2018
genre : Speech
title : 38750336.mp3
album : Created: 7/26/2018 4:56:13 PM
encoder : Lavf58.16.100
encoded_by : Lame MP3
Duration: 00:00:15.57, bitrate: 705 kb/s
Stream #1:0: Audio: pcm_s16le ([1][0][0][0] / 0x0001), 22050 Hz, stereo, s16, 705 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
Stream #1:0 -> #0:1 (pcm_s16le (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 000002460bda4740] using SAR=1/1
[libx264 @ 000002460bda4740] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002460bda4740] profile High 4:4:4 Predictive, level 6.0, 4:4:4, 8-bit
[libx264 @ 000002460bda4740] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=4 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mp4, to 'path/to/output_framerate.mp4':
Metadata:
encoder : Lavf58.36.100
Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuvj444p(pc, progressive), 4677x4677 [SAR 256:256 DAR 1:1], q=-1--1, 25 fps, 12800 tbn, 25 tbc
Metadata:
encoder : Lavc58.67.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A
Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 22050 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc58.67.100 aac
frame= 3 fps=0.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 6 fps=5.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 9 fps=5.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 12 fps=5.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 14 fps=4.6 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 16 fps=4.4 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 18 fps=3.9 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 20 fps=3.9 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 22 fps=3.8 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 23 fps=3.6 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 25 fps=3.6 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 27 fps=3.3 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 28 fps=3.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 30 fps=3.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 33 fps=3.2 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 36 fps=3.3 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 38 fps=3.1 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 39 fps=3.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 40 fps=2.6 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 41 fps=2.4 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 42 fps=2.0 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 43 fps=1.9 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 44 fps=1.9 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 45 fps=1.8 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 46 fps=1.8 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 47 fps=1.4 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 49 fps=1.5 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 50 fps=1.5 q=0.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 51 fps=1.5 q=28.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 51 fps=1.3 q=28.0 size= 0kB time=00:00:00.00 bitrate=N/A speed= 0x
frame= 52 fps=1.3 q=28.0 size= 0kB time=00:00:00.04 bitrate= 8.3kbits/s speed=0.00114x
frame= 53 fps=1.3 q=28.0 size= 0kB time=00:00:00.04 bitrate= 8.3kbits/s speed=0.00111x
frame= 54 fps=1.2 q=28.0 size= 0kB time=00:00:00.04 bitrate= 8.3kbits/s speed=0.00101x
frame= 55 fps=1.2 q=28.0 size= 0kB time=00:00:00.13 bitrate= 2.8kbits/s speed=0.00297x
frame= 56 fps=1.1 q=28.0 size= 0kB time=00:00:00.18 bitrate= 2.1kbits/s speed=0.00377x
frame= 57 fps=1.1 q=28.0 size= 256kB time=00:00:00.23 bitrate=9033.3kbits/s speed=0.00461x
frame= 58 fps=1.1 q=28.0 size= 256kB time=00:00:00.27 bitrate=7527.8kbits/s speed=0.00514x
frame= 59 fps=1.0 q=28.0 size= 256kB time=00:00:00.32 bitrate=6452.4kbits/s speed=0.00571x
frame= 60 fps=1.0 q=28.0 size= 256kB time=00:00:00.37 bitrate=5645.8kbits/s speed=0.00643x
frame= 62 fps=1.0 q=28.0 size= 256kB time=00:00:00.37 bitrate=5645.8kbits/s speed=0.00605x
frame= 62 fps=1.0 q=28.0 size= 256kB time=00:00:00.41 bitrate=5018.5kbits/s speed=0.00668x
frame= 63 fps=1.0 q=28.0 size= 256kB time=00:00:00.46 bitrate=4516.7kbits/s speed=0.00727x
frame= 64 fps=1.0 q=28.0 size= 256kB time=00:00:00.51 bitrate=4106.1kbits/s speed=0.00778x
frame= 65 fps=1.0 q=28.0 size= 256kB time=00:00:00.55 bitrate=3763.9kbits/s speed=0.00827x
frame= 66 fps=1.0 q=28.0 size= 256kB time=00:00:00.60 bitrate=3474.4kbits/s speed=0.00884x
frame= 67 fps=1.0 q=28.0 size= 256kB time=00:00:00.65 bitrate=3226.2kbits/s speed=0.00943x
frame= 67 fps=0.6 q=-1.0 Lsize= 872kB time=00:00:08.03 bitrate= 888.9kbits/s speed=0.0752x
video:744kB audio:125kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.391708%
[libx264 @ 000002460bda4740] frame I:1 Avg QP:15.80 size:216204
[libx264 @ 000002460bda4740] frame P:29 Avg QP:15.19 size: 10747
[libx264 @ 000002460bda4740] frame B:37 Avg QP:17.07 size: 6300
[libx264 @ 000002460bda4740] consecutive B-frames: 17.9% 14.9% 31.3% 35.8%
[libx264 @ 000002460bda4740] mb I I16..4: 11.4% 86.0% 2.6%
[libx264 @ 000002460bda4740] mb P I16..4: 0.5% 1.9% 0.2% P16..4: 0.7% 0.2% 0.1% 0.0% 0.0% skip:96.5%
[libx264 @ 000002460bda4740] mb B I16..4: 0.1% 0.2% 0.0% B16..8: 1.3% 0.2% 0.0% direct: 0.7% skip:97.5% L0:57.4% L1:40.7% BI: 1.9%
[libx264 @ 000002460bda4740] 8x8 transform intra:79.7% inter:31.4%
[libx264 @ 000002460bda4740] coded y,u,v intra: 5.7% 2.9% 3.7% inter: 0.1% 0.5% 0.2%
[libx264 @ 000002460bda4740] i16 v,h,dc,p: 70% 23% 4% 2%
[libx264 @ 000002460bda4740] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 45% 8% 45% 0% 0% 0% 0% 0% 0%
[libx264 @ 000002460bda4740] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 29% 26% 25% 3% 3% 4% 4% 3% 2%
[libx264 @ 000002460bda4740] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 000002460bda4740] ref P L0: 72.6% 3.0% 16.6% 7.7%
[libx264 @ 000002460bda4740] ref B L0: 75.7% 20.6% 3.7%
[libx264 @ 000002460bda4740] ref B L1: 97.7% 2.3%
[libx264 @ 000002460bda4740] kb/s:2271.59
[aac @ 000002460bda8580] Qavg: 55135.730 -
When I build ndk with .a files it comes like this `error adding symbols : File in wrong format`
2 avril 2020, par Pradeep SimbaWhen I build ndk with .a files it comes like this
error adding symbols: File in wrong format
.


WORKING_DIR := $(call my-dir)

include $(CLEAR_VARS)
LOCAL_PATH := $(WORKING_DIR)/../third_party/lame/libmp3lame
LOCAL_MODULE := lame
LOCAL_C_INCLUDES := $(WORKING_DIR)/../third_party/lame/libmp3lame \
 $(WORKING_DIR)/../third_party/lame/include
LOCAL_CFLAGS := -DSTDC_HEADERS -std=c99
LOCAL_ARM_MODE := arm
APP_OPTIM := release

LOCAL_SRC_FILES := VbrTag.c \
 bitstream.c \
 encoder.c \
 fft.c \
 gain_analysis.c \
 id3tag.c \
 lame.c \
 mpglib_interface.c \
 newmdct.c \
 presets.c \
 psymodel.c \
 quantize.c \
 quantize_pvt.c \
 reservoir.c \
 set_get.c \
 tables.c \
 takehiro.c \
 util.c \
 vbrquantize.c \
 version.c


#include $(BUILD_STATIC_LIBRARY)

include $(BUILD_STATIC_LIBRARY)

#include $(CLEAR_VARS)
#LOCAL_MODULE := mp3lame_a
#LOCAL_STATIC_LIBRARIES := lame

#include $(BUILD_EXECUTABLE) 

include $(CLEAR_VARS)
LOCAL_PATH := $(WORKING_DIR)
LOCAL_MODULE := ffmpeg
LOCAL_CFLAGS := -DHAVE_AV_CONFIG_H -std=c99 -D__STDC_CONSTANT_MACROS -DSTDC_HEADERS -Wno-deprecated-declarations
LOCAL_SRC_FILES := ffmpeg-jni.c
LOCAL_C_INCLUDES := $(WORKING_DIR)/libavcodec $(WORKING_DIR)/libavcodec/arm $(WORKING_DIR)/libavformat $(WORKING_DIR)/libavutil $(WORKING_DIR)/libavutil/arm

LOCAL_STATIC_LIBRARIES := lame

LOCAL_LDLIBS := -llog -lm -lz $(WORKING_DIR)/../third_party/lib/libavformat.a $(WORKING_DIR)/../third_party/lib/libavcodec.a $(WORKING_DIR)/../third_party/lib/libavfilter.a $(WORKING_DIR)/../third_party/lib/libavresample.a $(WORKING_DIR)/../third_party/lib/libswscale.a $(WORKING_DIR)/../third_party/lib/libavutil.a $(WORKING_DIR)/../third_party/lib/libx264.a $(WORKING_DIR)/../third_party/lib/libpostproc.a $(WORKING_DIR)/../third_party/lib/libswresample.a $(WORKING_DIR)/../third_party/lib/libfdk-aac.a

APP_OPTIM := release

include $(BUILD_SHARED_LIBRARY)







When I build ndk the error occurs






Microsoft Windows [Version 10.0.18363.418]
(c) 2019 Microsoft Corporation. All rights reserved.

C:\Users\prade>d:

D:\>cd D:\Github\n

D:\Github\n>ndk-build
Android NDK: APP_PLATFORM not set. Defaulting to minimum supported version android-16.
Android NDK: WARNING:jni/Android.mk:ffmpeg: non-system libraries in linker flags: jni/../third_party/lib/libavformat.a jni/../third_party/lib/libavcodec.a jni/../third_party/lib/libavfilter.a jni/../third_party/lib/libavresample.a jni/../third_party/lib/libswscale.a jni/../third_party/lib/libavutil.a jni/../third_party/lib/libx264.a jni/../third_party/lib/libpostproc.a jni/../third_party/lib/libswresample.a jni/../third_party/lib/libfdk-aac.a
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING:jni/Android.mk:ffmpeg: non-system libraries in linker flags: jni/../third_party/lib/libavformat.a jni/../third_party/lib/libavcodec.a jni/../third_party/lib/libavfilter.a jni/../third_party/lib/libavresample.a jni/../third_party/lib/libswscale.a jni/../third_party/lib/libavutil.a jni/../third_party/lib/libx264.a jni/../third_party/lib/libpostproc.a jni/../third_party/lib/libswresample.a jni/../third_party/lib/libfdk-aac.a
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING:jni/Android.mk:ffmpeg: non-system libraries in linker flags: jni/../third_party/lib/libavformat.a jni/../third_party/lib/libavcodec.a jni/../third_party/lib/libavfilter.a jni/../third_party/lib/libavresample.a jni/../third_party/lib/libswscale.a jni/../third_party/lib/libavutil.a jni/../third_party/lib/libx264.a jni/../third_party/lib/libpostproc.a jni/../third_party/lib/libswresample.a jni/../third_party/lib/libfdk-aac.a
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
Android NDK: WARNING:jni/Android.mk:ffmpeg: non-system libraries in linker flags: jni/../third_party/lib/libavformat.a jni/../third_party/lib/libavcodec.a jni/../third_party/lib/libavfilter.a jni/../third_party/lib/libavresample.a jni/../third_party/lib/libswscale.a jni/../third_party/lib/libavutil.a jni/../third_party/lib/libx264.a jni/../third_party/lib/libpostproc.a jni/../third_party/lib/libswresample.a jni/../third_party/lib/libfdk-aac.a
Android NDK: This is likely to result in incorrect builds. Try using LOCAL_STATIC_LIBRARIES
Android NDK: or LOCAL_SHARED_LIBRARIES instead to list the library dependencies of the
Android NDK: current module
[arm64-v8a] Compile : ffmpeg <= ffmpeg-jni.c
jni/ffmpeg-jni.c:248:16: warning: initializing 'const jbyte *' (aka 'const signed char *') with an expression of type
 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
const jbyte *url = (*env)->GetStringUTFChars(env, rtmp_url, NULL);
 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/ffmpeg-jni.c:252:37: warning: passing 'const jbyte *' (aka 'const signed char *') to parameter of type
 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
if (avio_open(&fmt_context->pb, url, URL_WRONLY) < 0) {
 ^~~
jni/libavformat/avio.h:391:44: note: passing argument to parameter 'url' here
 int avio_open(AVIOContext **s, const char *url, int flags);
 ^
jni/ffmpeg-jni.c:257:48: warning: passing 'const jbyte *' (aka 'const signed char *') to parameter of type
 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
(*env)->ReleaseStringUTFChars(env, rtmp_url, url);
 ^~~
jni/ffmpeg-jni.c:297:18: warning: initializing 'unsigned char *' with an expression of type 'jbyte *'
 (aka 'signed char *') converts between pointers to integer types with different sign [-Wpointer-sign]
 unsigned char *yuv_data = (*env)->GetByteArrayElements(env, yuv_image, 0);
 ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 jni/ffmpeg-jni.c:330:52: warning: passing 'unsigned char *' to parameter of type 'jbyte *' (aka 'signed char *')
 converts between pointers to integer types with different sign [-Wpointer-sign]
 (*env)->ReleaseByteArrayElements(env, yuv_image, yuv_data, 0);
 ^~~~~~~~
5 warnings generated.
[arm64-v8a] Compile : lame <= VbrTag.c
jni/../third_party/lame/libmp3lame/VbrTag.c:263:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[0], 8u, 0xffu);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:265:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[1], 3u, 7);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:266:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[1], 1u, (gfp->out_samplerate < 16000) ? 0 : 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:267:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[1], 1u, gfp->version);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:268:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[1], 2u, 4 - 3);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:269:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[1], 1u, (!gfp->error_protection) ? 1 : 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:271:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[2], 4u, gfc->bitrate_index);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:272:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[2], 2u, gfc->samplerate_index);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:273:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[2], 1u, 0);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:274:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[2], 1u, gfp->extension);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:276:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[3], 2u, gfp->mode);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:277:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[3], 2u, gfc->mode_ext);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:278:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[3], 1u, gfp->copyright);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:279:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[3], 1u, gfp->original);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:280:5: warning: shifting a negative signed value is undefined
 [-Wshift-negative-value]
SHIFT_IN_BITS_VALUE(buffer[3], 2u, gfp->emphasis);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
jni/../third_party/lame/libmp3lame/VbrTag.c:255:68: note: expanded from macro 'SHIFT_IN_BITS_VALUE'
#define SHIFT_IN_BITS_VALUE(x,n,v) ( x = (x << (n)) | ( (v) & ~(-1 << (n)) ) )
 ~~ ^
jni/../third_party/lame/libmp3lame/VbrTag.c:421:23: warning: comparison of array 'pTagData->toc' not equal to a null
 pointer is always true [-Wtautological-pointer-compare]
 if (pTagData->toc != NULL) {
 ~~~~~~~~~~^~~ ~~~~
16 warnings generated.
[arm64-v8a] Compile : lame <= bitstream.c
[arm64-v8a] Compile : lame <= encoder.c
[arm64-v8a] Compile : lame <= fft.c
[arm64-v8a] Compile : lame <= gain_analysis.c
[arm64-v8a] Compile : lame <= id3tag.c
[arm64-v8a] Compile : lame <= lame.c
jni/../third_party/lame/libmp3lame/lame.c:603:13: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
 if (EQ(gfp->compression_ratio, 0))
 ^
jni/../third_party/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
 ^
jni/../third_party/lame/libmp3lame/lame.c:603:13: note: use function 'abs' instead
jni/../third_party/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
 ^
jni/../third_party/lame/libmp3lame/lame.c:603:13: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
 if (EQ(gfp->compression_ratio, 0))
 ^
jni/../third_party/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
: (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
 ^
jni/../third_party/lame/libmp3lame/lame.c:603:13: note: use function 'abs' instead
jni/../third_party/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
: (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
 ^
jni/../third_party/lame/libmp3lame/lame.c:1559:9: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
if (NEQ(gfp->scale, 0) && NEQ(gfp->scale, 1.0)) {
 ^
jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
 ^
jni/../third_party/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
 ^
jni/../third_party/lame/libmp3lame/lame.c:1559:9: note: use function 'abs' instead
jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
 ^
jni/../third_party/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
(fabs(a) > fabs(b)) \
 ^
jni/../third_party/lame/libmp3lame/lame.c:1559:9: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
if (NEQ(gfp->scale, 0) && NEQ(gfp->scale, 1.0)) {
 ^
jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
#define NEQ(a,b) (!EQ(a,b))
 ^
 jni/../third_party/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
 ^
 jni/../third_party/lame/libmp3lame/lame.c:1559:9: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
 #define NEQ(a,b) (!EQ(a,b))
 ^
 jni/../third_party/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
 ^
 jni/../third_party/lame/libmp3lame/lame.c:1568:9: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
 if (NEQ(gfp->scale_left, 0) && NEQ(gfp->scale_left, 1.0)) {
 ^
 jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
 #define NEQ(a,b) (!EQ(a,b))
 ^
 jni/../third_party/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
 (fabs(a) > fabs(b)) \
 ^
 jni/../third_party/lame/libmp3lame/lame.c:1568:9: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
 #define NEQ(a,b) (!EQ(a,b))
 ^
 jni/../third_party/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
 (fabs(a) > fabs(b)) \
 ^
 jni/../third_party/lame/libmp3lame/lame.c:1568:9: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
 if (NEQ(gfp->scale_left, 0) && NEQ(gfp->scale_left, 1.0)) {
 ^
 jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
 #define NEQ(a,b) (!EQ(a,b))
 ^
 jni/../third_party/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
 ^
 jni/../third_party/lame/libmp3lame/lame.c:1568:9: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
 #define NEQ(a,b) (!EQ(a,b))
 ^
 jni/../third_party/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
 ^
 jni/../third_party/lame/libmp3lame/lame.c:1575:9: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
 if (NEQ(gfp->scale_right, 0) && NEQ(gfp->scale_right, 1.0)) {
 ^
 jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
 #define NEQ(a,b) (!EQ(a,b))
 ^
 jni/../third_party/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
 (fabs(a) > fabs(b)) \
 ^
 jni/../third_party/lame/libmp3lame/lame.c:1575:9: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
 #define NEQ(a,b) (!EQ(a,b))
 ^
 jni/../third_party/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
 (fabs(a) > fabs(b)) \
 ^
 jni/../third_party/lame/libmp3lame/lame.c:1575:9: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
 if (NEQ(gfp->scale_right, 0) && NEQ(gfp->scale_right, 1.0)) {
 ^
 jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
 #define NEQ(a,b) (!EQ(a,b))
 ^
 jni/../third_party/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
 ^
 jni/../third_party/lame/libmp3lame/lame.c:1575:9: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/machine.h:175:20: note: expanded from macro 'NEQ'
 #define NEQ(a,b) (!EQ(a,b))
 ^
 jni/ ../third_party/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
 ^
 8 warnings generated.
 [arm64-v8a] Compile : lame <= mpglib_interface.c
 [arm64-v8a] Compile : lame <= newmdct.c
 [arm64-v8a] Compile : lame <= presets.c
 jni/../third_party/lame/libmp3lame/presets.c:145:5: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
 SET_OPTION(quant_comp, set->quant_comp, -1);
 ^
 jni/../third_party/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
 else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
 ^
 jni/../third_party/lame/libmp3lame/presets.c:145:5: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
 else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
 ^
 jni/../third_party/lame/libmp3lame/presets.c:146:5: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
 SET_OPTION(quant_comp_short, set->quant_comp_s, -1);
 ^
 jni/../third_party/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
 else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
 ^
 jni/../third_party/lame/libmp3lame/presets.c:146:5: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
 else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
 ^
 jni/../third_party/lame/libmp3lame/presets.c:259:5: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
 SET_OPTION(quant_comp, abr_switch_map[r].quant_comp, -1);
 ^
 jni/../third_party/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
 else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
 ^
 jni/../third_party/lame/libmp3lame/presets.c:259:5: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
 else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
 ^
 jni/../third_party/lame/libmp3lame/presets.c:260:5: warning: using floating point absolute value function 'fabs' when
 argument is of integer type [-Wabsolute-value]
 SET_OPTION(quant_comp_short, abr_switch_map[r].quant_comp_s, -1);
 ^
 jni/../third_party/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
 else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
 ^
 jni/../third_party/lame/libmp3lame/presets.c:260:5: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/presets.c:36:16: note: expanded from macro 'SET_OPTION'
 else if (!(fabs(lame_get_##opt(gfp) - def) > 0)) \
 ^
 4 warnings generated.
 [arm64-v8a] Compile : lame <= psymodel.c
 [arm64-v8a] Compile : lame <= quantize.c
 [arm64-v8a] Compile : lame <= quantize_pvt.c
 jni/../third_party/lame/libmp3lame/quantize_pvt.c:664:23: warning: using floating point absolute value function 'fabs'
 when argument is of integer type [-Wabsolute-value]
 while (k-- && EQ(xr[k], 0)) {
 ^
 jni/../third_party/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
 (fabs(a) > fabs(b)) \
 ^
 jni/../third_party/lame/libmp3lame/quantize_pvt.c:664:23: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/machine.h:168:12: note: expanded from macro 'EQ'
 (fabs(a) > fabs(b)) \
 ^
 jni/../third_party/lame/libmp3lame/quantize_pvt.c:664:23: warning: using floating point absolute value function 'fabs'
 when argument is of integer type [-Wabsolute-value]
 while (k-- && EQ(xr[k], 0)) {
 ^
 jni/../third_party/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
 ^
 jni/../third_party/lame/libmp3lame/quantize_pvt.c:664:23: note: use function 'abs' instead
 jni/../third_party/lame/libmp3lame/machine.h:170:23: note: expanded from macro 'EQ'
 : (fabs((a)-(b)) <= (fabs(b) * 1e-6f)))
 ^
 2 warnings generated.
 [arm64-v8a] Compile : lame <= reservoir.c
 [arm64-v8a] Compile : lame <= set_get.c
 [arm64-v8a] Compile : lame <= tables.c
 [arm64-v8a] Compile : lame <= takehiro.c
 [arm64-v8a] Compile : lame <= util.c
 [arm64-v8a] Compile : lame <= vbrquantize.c
 [arm64-v8a] Compile : lame <= version.c
 [ arm64-v8a] StaticLibrary : liblame.a
 [ arm64-v8a] SharedLibrary : libffmpeg.so
 jni/../third_party/lib/libavformat.a: error adding symbols: File in wrong format
 clang++: error: linker command failed with exit code 1 (use -v to see invocation)
 make: *** [D:/install/sdk/ndk/21.0.6113669/build//../build/core/build-binary.mk:725: obj/local/arm64-v8a/libffmpeg.so] Error 1

 D:\Github\n>




How can I solve this ?


-
Reencode videos from 30fps to 60fps using ffmpeg
2 avril 2020, par RonPringadiIf I have an mp4 with 30 fps, how do I re-encode it to 60 fps using ffmpg without making the movie speeding up faster (still looking normal) ?



My ffmpeg



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)