
Recherche avancée
Médias (91)
-
Spoon - Revenge !
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
My Morning Jacket - One Big Holiday
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Zap Mama - Wadidyusay ?
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
David Byrne - My Fair Lady
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Beastie Boys - Now Get Busy
15 septembre 2011, par
Mis à jour : Septembre 2011
Langue : English
Type : Audio
-
Granite de l’Aber Ildut
9 septembre 2011, par
Mis à jour : Septembre 2011
Langue : français
Type : Texte
Autres articles (74)
-
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 septembre 2013, parCertains 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 ;
-
Ecrire une actualité
21 juin 2013, parPré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 ) (...) -
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
Sur d’autres sites (8946)
-
How to keep transparency when scale webm file with ffmpeg
5 octobre 2022, par Sonia KidmanI'm using ffmpeg to scale my WEBM file, by using below command : 
ffmpeg -i in.webm -c:v libvpx -vf scale=100:100 out.webm
The output has correct resolution as I expected but the problem is transparency become black background.



Could someone give me a solution for this.



Thank you so much.



Below is the log of the operation :



ffmpeg version 3.4 Copyright (c) 2000-2017 the FFmpeg developers
 built with gcc 7.2.0 (GCC)
 configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --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-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
 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
 libswscale 4. 8.100 / 4. 8.100
 libswresample 2. 9.100 / 2. 9.100
 libpostproc 54. 7.100 / 54. 7.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument '56'.
Reading option '-i' ... matched as input url with argument 'in.webm'.
Reading option '-c:v' ... matched as option 'c' (codec name) with argument 'libvpx'.
Reading option '-vf' ... matched as option 'vf' (set video filters) with argument 'scale=320:240'.
Reading option 'out.webm' ... matched as output url.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument 56.
Successfully parsed a group of options.
Parsing a group of options: input url in.webm.
Successfully parsed a group of options.
Opening an input file: in.webm.
[NULL @ 000002387e6322a0] Opening 'in.webm' for reading
[file @ 000002387e632ea0] Setting default whitelist 'file,crypto'
Probing matroska,webm score:100 size:2048
Probing mp3 score:1 size:2048
[matroska,webm @ 000002387e6322a0] Format matroska,webm probed with size=2048 and score=100
st:0 removing common factor 1000000 from timebase
[matroska,webm @ 000002387e6322a0] Before avformat_find_stream_info() pos: 634 bytes read:32768 seeks:0 nb_streams:1
[matroska,webm @ 000002387e6322a0] All info found
[matroska,webm @ 000002387e6322a0] stream 0: start_time: 0.000 duration: -9223372036854776.000
[matroska,webm @ 000002387e6322a0] format: start_time: 0.000 duration: 0.400 bitrate=1432 kb/s
[matroska,webm @ 000002387e6322a0] After avformat_find_stream_info() pos: 34843 bytes read:65536 seeks:0 frames:1
Input #0, matroska,webm, from 'in.webm':
 Metadata:
 ENCODER : Lavf57.83.100
 Duration: 00:00:00.40, start: 0.000000, bitrate: 1432 kb/s
 Stream #0:0, 1, 1/1000: Video: vp8, 1 reference frame, yuv420p(progressive), 640x480, 0/1, SAR 1:1 DAR 4:3, 10 fps, 10 tbr, 1k tbn, 1k tbc (default)
 Metadata:
 alpha_mode : 1
 ENCODER : Lavc57.107.100 libvpx
 DURATION : 00:00:00.400000000
Successfully opened the file.
Parsing a group of options: output url out.webm.
Applying option c:v (codec name) with argument libvpx.
Applying option vf (set video filters) with argument scale=320:240.
Successfully parsed a group of options.
Opening an output file: out.webm.
[file @ 000002387e658b40] Setting default whitelist 'file,crypto'
Successfully opened the file.
detected 4 logical cores
Stream mapping:
 Stream #0:0 -> #0:0 (vp8 (native) -> vp8 (libvpx))
Press [q] to stop, [?] for help
cur_dts is invalid (this is harmless if it occurs once at the start per stream)
 Last message repeated 4 times
[Parsed_scale_0 @ 000002387e718a60] Setting 'w' to value '320'
[Parsed_scale_0 @ 000002387e718a60] Setting 'h' to value '240'
[Parsed_scale_0 @ 000002387e718a60] Setting 'flags' to value 'bicubic'
[Parsed_scale_0 @ 000002387e718a60] w:320 h:240 flags:'bicubic' interl:0
[graph 0 input from stream 0:0 @ 000002387e743b00] Setting 'video_size' to value '640x480'
[graph 0 input from stream 0:0 @ 000002387e743b00] Setting 'pix_fmt' to value '0'
[graph 0 input from stream 0:0 @ 000002387e743b00] Setting 'time_base' to value '1/1000'
[graph 0 input from stream 0:0 @ 000002387e743b00] Setting 'pixel_aspect' to value '1/1'
[graph 0 input from stream 0:0 @ 000002387e743b00] Setting 'sws_param' to value 'flags=2'
[graph 0 input from stream 0:0 @ 000002387e743b00] Setting 'frame_rate' to value '10/1'
[graph 0 input from stream 0:0 @ 000002387e743b00] w:640 h:480 pixfmt:yuv420p tb:1/1000 fr:10/1 sar:1/1 sws_param:flags=2
[format @ 000002387e7fe1e0] compat: called with args=[yuv420p|yuva420p]
[format @ 000002387e7fe1e0] Setting 'pix_fmts' to value 'yuv420p|yuva420p'
[AVFilterGraph @ 000002387e634e60] query_formats: 4 queried, 3 merged, 0 already done, 0 delayed
[Parsed_scale_0 @ 000002387e718a60] w:640 h:480 fmt:yuv420p sar:1/1 -> w:320 h:240 fmt:yuv420p sar:1/1 flags:0x4
[libvpx @ 000002387e657fe0] v1.6.1
[libvpx @ 000002387e657fe0] --prefix=/Users/kyle/software/libvpx/win64/libvpx-1.6.1-win64 --target=x86_64-win64-gcc
[libvpx @ 000002387e657fe0] vpx_codec_enc_cfg
[libvpx @ 000002387e657fe0] generic settings
 g_usage: 0
 g_threads: 0
 g_profile: 0
 g_w: 320
 g_h: 240
 g_bit_depth: 8
 g_input_bit_depth: 8
 g_timebase: {1/30}
 g_error_resilient: 0
 g_pass: 0
 g_lag_in_frames: 0
[libvpx @ 000002387e657fe0] rate control settings
 rc_dropframe_thresh: 0
 rc_resize_allowed: 0
 rc_resize_up_thresh: 60
 rc_resize_down_thresh: 30
 rc_end_usage: 0
 rc_twopass_stats_in: 0000000000000000(0)
 rc_target_bitrate: 256
[libvpx @ 000002387e657fe0] quantizer settings
 rc_min_quantizer: 4
 rc_max_quantizer: 63
[libvpx @ 000002387e657fe0] bitrate tolerance
 rc_undershoot_pct: 100
 rc_overshoot_pct: 100
[libvpx @ 000002387e657fe0] decoder buffer model
 rc_buf_sz: 6000
 rc_buf_initial_sz: 4000
 rc_buf_optimal_sz: 5000
[libvpx @ 000002387e657fe0] 2 pass rate control settings
 rc_2pass_vbr_bias_pct: 50
 rc_2pass_vbr_minsection_pct: 0
 rc_2pass_vbr_maxsection_pct: 400
[libvpx @ 000002387e657fe0] keyframing settings
 kf_mode: 1
 kf_min_dist: 0
 kf_max_dist: 128
[libvpx @ 000002387e657fe0] 
[libvpx @ 000002387e657fe0] vpx_codec_enc_cfg
[libvpx @ 000002387e657fe0] generic settings
 g_usage: 0
 g_threads: 0
 g_profile: 0
 g_w: 320
 g_h: 240
 g_bit_depth: 8
 g_input_bit_depth: 8
 g_timebase: {1/10}
 g_error_resilient: 0
 g_pass: 0
 g_lag_in_frames: 25
[libvpx @ 000002387e657fe0] rate control settings
 rc_dropframe_thresh: 0
 rc_resize_allowed: 0
 rc_resize_up_thresh: 60
 rc_resize_down_thresh: 30
 rc_end_usage: 0
 rc_twopass_stats_in: 0000000000000000(0)
 rc_target_bitrate: 200
[libvpx @ 000002387e657fe0] quantizer settings
 rc_min_quantizer: 4
 rc_max_quantizer: 63
[libvpx @ 000002387e657fe0] bitrate tolerance
 rc_undershoot_pct: 100
 rc_overshoot_pct: 100
[libvpx @ 000002387e657fe0] decoder buffer model
 rc_buf_sz: 6000
 rc_buf_initial_sz: 4000
 rc_buf_optimal_sz: 5000
[libvpx @ 000002387e657fe0] 2 pass rate control settings
 rc_2pass_vbr_bias_pct: 50
 rc_2pass_vbr_minsection_pct: 0
 rc_2pass_vbr_maxsection_pct: 400
[libvpx @ 000002387e657fe0] keyframing settings
 kf_mode: 1
 kf_min_dist: 0
 kf_max_dist: 128
[libvpx @ 000002387e657fe0] 
[libvpx @ 000002387e657fe0] vpx_codec_control
[libvpx @ 000002387e657fe0] VP8E_SET_CPUUSED: 1
[libvpx @ 000002387e657fe0] VP8E_SET_ARNR_MAXFRAMES: 0
[libvpx @ 000002387e657fe0] VP8E_SET_ARNR_STRENGTH: 3
[libvpx @ 000002387e657fe0] VP8E_SET_ARNR_TYPE: 3
[libvpx @ 000002387e657fe0] VP8E_SET_NOISE_SENSITIVITY: 0
[libvpx @ 000002387e657fe0] VP8E_SET_TOKEN_PARTITIONS: 0
[libvpx @ 000002387e657fe0] VP8E_SET_STATIC_THRESHOLD: 0
[libvpx @ 000002387e657fe0] Using deadline: 1000000
Output #0, webm, to 'out.webm':
 Metadata:
 encoder : Lavf57.83.100
 Stream #0:0, 0, 1/1000: Video: vp8 (libvpx), 1 reference frame, yuv420p, 320x240 [SAR 1:1 DAR 4:3], 0/1, q=-1--1, 200 kb/s, 10 fps, 1k tbn, 10 tbc (default)
 Metadata:
 alpha_mode : 1
 DURATION : 00:00:00.400000000
 encoder : Lavc57.107.100 libvpx
 Side data:
 cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Clipping frame in rate conversion by 0.000008
[webm @ 000002387e656880] get_metadata_duration returned: 400000
[webm @ 000002387e656880] Write early duration from metadata = 400
[webm @ 000002387e656880] Writing block at offset 3, size 11223, pts 0, dts 0, duration 100, keyframe 1
[webm @ 000002387e656880] Writing block at offset 11233, size 1288, pts 100, dts 100, duration 100, keyframe 0
[webm @ 000002387e656880] Writing block at offset 12528, size 1504, pts 200, dts 200, duration 100, keyframe 0
[webm @ 000002387e656880] Writing block at offset 14039, size 2481, pts 300, dts 300, duration 100, keyframe 0
[out_0_0 @ 000002387e743d60] EOF on sink link out_0_0:default.
No more output streams to write to, finishing.
[webm @ 000002387e656880] end duration = 400
[webm @ 000002387e656880] stream 0 end duration = 400
frame= 4 fps=0.0 q=0.0 Lsize= 17kB time=00:00:00.30 bitrate= 457.8kbits/s speed=4.45x 
video:16kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 4.413191%
Input file #0 (in.webm):
 Input stream #0:0 (video): 4 packets read (34992 bytes); 4 frames decoded; 
 Total: 4 packets (34992 bytes) demuxed
Output file #0 (out.webm):
 Output stream #0:0 (video): 4 frames encoded; 4 packets muxed (16496 bytes); 
 Total: 4 packets (16496 bytes) muxed
4 frames successfully decoded, 0 decoding errors
[AVIOContext @ 000002387e698c20] Statistics: 14 seeks, 10 writeouts
[AVIOContext @ 000002387cc773e0] Statistics: 71649 bytes read, 0 seeks



-
android crop square video android compress to upload like instagram
27 février 2018, par Mehdi ShojaeianI had an android application which like instagram& now I want to crop selected video in square and compress it.
I tested ffmpeg with FFmpegAndroid by this command :{"-y", "-ss", "" + (startTime / 1000), "-t", "" + ((endTime - startTime) / 1000), "-i", srcFilePath, "-vcodec", "libx264", "-crf", "35", dstFilePath}
The problem is ffmpeg run too mush slowly about 15 minute for just 30 sec video.
I also test silicompressorr but it just resize in standard video size and not compress final video.
How instagram cut, crop and scale down video files too fast ?
please help me !!!
Edit
Ffmpef log for above is :D/BHUVNESH: Progress command : ffmpeg ffmpeg version n3.0.1 Copyright (c) 2000-2016 the FFmpeg developers
02-27 20:29:36.402 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg built with gcc 4.8 (GCC)
02-27 20:29:36.402 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg configuration: --target-os=linux --cross-prefix=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/bin/arm-linux-androideabi- --arch=arm --cpu=cortex-a8 --enable-runtime-cpudetect --sysroot=/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/sysroot --enable-pic --enable-libx264 --enable-libass --enable-libfreetype --enable-libfribidi --enable-libmp3lame --enable-fontconfig --enable-pthreads --disable-debug --disable-ffserver --enable-version3 --enable-hardcoded-tables --disable-ffplay --disable-ffprobe --enable-gpl --enable-yasm --disable-doc --disable-shared --enable-static --pkg-config=/home/vagrant/SourceCode/ffmpeg-android/ffmpeg-pkg-config --prefix=/home/vagrant/SourceCode/ffmpeg-android/build/armeabi-v7a --extra-cflags='-I/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/include -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fstack-protector-all' --extra-ldflags='-L/home/vagrant/SourceCode/ffmpeg-android/toolchain-android/lib -Wl,-z,relro -Wl,-z,now -pie' --extra-libs='-lpng -lexpat -lm' --extra-cxxflags=
02-27 20:29:36.402 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg libavutil 55. 17.103 / 55. 17.103
02-27 20:29:36.402 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg libavcodec 57. 24.102 / 57. 24.102
02-27 20:29:36.402 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg libavformat 57. 25.100 / 57. 25.100
02-27 20:29:36.403 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg libavdevice 57. 0.101 / 57. 0.101
02-27 20:29:36.403 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg libavfilter 6. 31.100 / 6. 31.100
02-27 20:29:36.403 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg libswscale 4. 0.100 / 4. 0.100
02-27 20:29:36.403 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg libswresample 2. 0.101 / 2. 0.101
02-27 20:29:36.403 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg libpostproc 54. 0.100 / 54. 0.100
02-27 20:29:37.526 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/storage/9016-4EF8/movie/compress_video_new14.mp4':
02-27 20:29:37.527 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Metadata:
02-27 20:29:37.527 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg major_brand : isom
02-27 20:29:37.527 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg minor_version : 512
02-27 20:29:37.527 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg compatible_brands: isomiso2avc1mp41
02-27 20:29:37.528 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg encoder : Lavf57.25.100
02-27 20:29:37.528 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Duration: 00:00:20.01, start: 0.000000, bitrate: 48020 kb/s
02-27 20:29:37.528 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuvj420p(pc, smpte170m), 3840x2160, 47857 kb/s, 28.58 fps, 30 tbr, 90k tbn, 180k tbc (default)
02-27 20:29:37.528 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Metadata:
02-27 20:29:37.528 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg rotate : 90
02-27 20:29:37.528 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg handler_name : VideoHandler
02-27 20:29:37.528 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Side data:
02-27 20:29:37.529 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg displaymatrix: rotation of -90.00 degrees
02-27 20:29:37.529 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 155 kb/s (default)
02-27 20:29:37.529 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Metadata:
02-27 20:29:37.529 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg handler_name : SoundHandler
02-27 20:29:37.541 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg [swscaler @ 0xf47ef000] deprecated pixel format used, make sure you did set range correctly
02-27 20:29:37.594 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg [swscaler @ 0xf47e4000] deprecated pixel format used, make sure you did set range correctly
02-27 20:29:37.594 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg No pixel format specified, yuvj420p for H.264 encoding chosen.
02-27 20:29:37.594 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Use -pix_fmt yuv420p for compatibility with outdated media players.
02-27 20:29:37.594 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg [libx264 @ 0xf506d400] using cpu capabilities: none!
02-27 20:29:37.674 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg [libx264 @ 0xf506d400] profile High, level 3.1
02-27 20:29:37.674 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg [libx264 @ 0xf506d400] 264 - core 148 - H.264/MPEG-4 AVC codec - Copyleft 2003-2015 - 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=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
02-27 20:29:37.674 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Output #0, mp4, to '/storage/emulated/0/Movies/compress_video_new21.mp4':
02-27 20:29:37.674 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Metadata:
02-27 20:29:37.674 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg major_brand : isom
02-27 20:29:37.674 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg minor_version : 512
02-27 20:29:37.674 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg compatible_brands: isomiso2avc1mp41
02-27 20:29:37.675 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg encoder : Lavf57.25.100
02-27 20:29:37.675 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Stream #0:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuvj420p(pc), 1280x720, q=-1--1, 30 fps, 15360 tbn, 30 tbc (default)
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Metadata:
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg handler_name : VideoHandler
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg encoder : Lavc57.24.102 libx264
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Side data:
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg unknown side data type 10 (24 bytes)
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Stream #0:1(eng): Audio: aac (LC) ([64][0][0][0] / 0x0040), 48000 Hz, stereo, 155 kb/s (default)
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Metadata:
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg handler_name : SoundHandler
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Stream mapping:
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Stream #0:1 -> #0:1 (copy)
02-27 20:29:37.676 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg Press [q] to stop, [?] for help
02-27 20:29:38.359 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 1 fps=0.0 q=0.0 size= 0kB time=00:00:00.16 bitrate= 2.3kbits/s speed=0.247x
02-27 20:29:39.053 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 4 fps=2.9 q=0.0 size= 0kB time=00:00:00.27 bitrate= 1.4kbits/s speed=0.197x
02-27 20:29:39.752 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 7 fps=3.4 q=0.0 size= 0kB time=00:00:00.35 bitrate= 1.1kbits/s speed=0.173x
02-27 20:29:40.466 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 10 fps=3.6 q=0.0 size= 0kB time=00:00:00.46 bitrate= 0.8kbits/s speed=0.167x
02-27 20:29:40.990 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 12 fps=3.6 q=0.0 size= 0kB time=00:00:00.52 bitrate= 0.7kbits/s speed=0.159x
02-27 20:29:41.672 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 15 fps=3.8 q=0.0 size= 0kB time=00:00:00.63 bitrate= 0.6kbits/s speed=0.16x
02-27 20:29:42.408 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 18 fps=3.8 q=0.0 size= 0kB time=00:00:00.72 bitrate= 0.5kbits/s speed=0.153x
02-27 20:29:42.917 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 20 fps=3.8 q=0.0 size= 0kB time=00:00:00.80 bitrate= 0.5kbits/s speed=0.154x
02-27 20:29:43.660 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 23 fps=3.8 q=0.0 size= 0kB time=00:00:00.89 bitrate= 0.4kbits/s speed=0.149x
02-27 20:29:44.392 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 26 fps=3.9 q=0.0 size= 0kB time=00:00:00.99 bitrate= 0.4kbits/s speed=0.149x
02-27 20:29:44.904 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 28 fps=3.9 q=0.0 size= 0kB time=00:00:01.06 bitrate= 0.4kbits/s speed=0.147x
02-27 20:29:45.467 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 30 fps=3.9 q=0.0 size= 0kB time=00:00:01.12 bitrate= 0.3kbits/s speed=0.145x
02-27 20:29:46.014 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 32 fps=3.8 q=0.0 size= 0kB time=00:00:01.19 bitrate= 0.3kbits/s speed=0.143x
02-27 20:29:46.533 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 34 fps=3.8 q=0.0 size= 0kB time=00:00:01.25 bitrate= 0.3kbits/s speed=0.142x
02-27 20:29:47.094 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 36 fps=3.8 q=0.0 size= 0kB time=00:00:01.33 bitrate= 0.3kbits/s speed=0.142x
02-27 20:29:47.681 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 38 fps=3.8 q=0.0 size= 0kB time=00:00:01.40 bitrate= 0.3kbits/s speed=0.14x
02-27 20:29:48.191 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 40 fps=3.8 q=0.0 size= 0kB time=00:00:01.48 bitrate= 0.3kbits/s speed=0.142x
02-27 20:29:48.752 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 42 fps=3.8 q=0.0 size= 0kB time=00:00:01.57 bitrate= 0.2kbits/s speed=0.142x
02-27 20:29:49.531 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 45 fps=3.8 q=0.0 size= 0kB time=00:00:01.68 bitrate= 0.2kbits/s dup=1 drop=0 speed=0.142x
02-27 20:29:51.327 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 46 fps=3.4 q=0.0 size= 0kB time=00:00:01.74 bitrate= 0.2kbits/s dup=1 drop=0 speed=0.128x
02-27 20:29:52.108 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 49 fps=3.4 q=0.0 size= 0kB time=00:00:01.83 bitrate= 0.2kbits/s dup=2 drop=0 speed=0.127x
02-27 20:29:52.755 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 51 fps=3.4 q=29.0 size= 70kB time=00:00:01.89 bitrate= 301.9kbits/s dup=3 drop=0 speed=0.126x
02-27 20:29:53.826 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 52 fps=3.2 q=29.0 size= 93kB time=00:00:01.93 bitrate= 391.3kbits/s dup=3 drop=0 speed=0.12x
02-27 20:29:54.884 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 54 fps=3.1 q=29.0 size= 117kB time=00:00:01.97 bitrate= 482.4kbits/s dup=4 drop=0 speed=0.115x
02-27 20:29:55.448 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 55 fps=3.1 q=29.0 size= 121kB time=00:00:02.04 bitrate= 484.1kbits/s dup=4 drop=0 speed=0.115x
02-27 20:29:55.643 12094-12116/videoeditor.bhuvnesh.com.ffmpegvideoeditor I/MediaPlayer: message received msg=6, ext1=0, ext2=0
02-27 20:29:56.328 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 57 fps=3.1 q=29.0 size= 146kB time=00:00:02.08 bitrate= 571.8kbits/s dup=5 drop=0 speed=0.112x
02-27 20:29:57.838 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 58 fps=2.9 q=29.0 size= 165kB time=00:00:02.12 bitrate= 633.4kbits/s dup=5 drop=0 speed=0.106x
02-27 20:29:58.733 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 60 fps=2.9 q=29.0 size= 189kB time=00:00:02.19 bitrate= 707.6kbits/s dup=6 drop=0 speed=0.104x
02-27 20:29:59.497 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 61 fps=2.8 q=29.0 size= 194kB time=00:00:02.23 bitrate= 712.0kbits/s dup=6 drop=0 speed=0.102x
02-27 20:30:00.706 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 63 fps=2.7 q=29.0 size= 220kB time=00:00:02.29 bitrate= 782.9kbits/s dup=7 drop=0 speed=0.0999x
02-27 20:30:02.546 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 64 fps=2.6 q=29.0 size= 240kB time=00:00:02.34 bitrate= 840.0kbits/s dup=7 drop=0 speed=0.0942x
02-27 20:30:03.278 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 66 fps=2.6 q=29.0 size= 265kB time=00:00:02.38 bitrate= 908.4kbits/s dup=8 drop=0 speed=0.0932x
02-27 20:30:03.877 12094-12094/videoeditor.bhuvnesh.com.ffmpegvideoeditor D/BHUVNESH: Progress command : ffmpeg frame= 67 fps=2.6 q=29.0 size= 270kB time=00:00:02.44 bitrate= 902.0kbits/s dup=8 drop=0 speed=0.0936x -
Convert Audio Files using FFMPEG in android
25 avril 2018, par Venkat MaddyI developing android application, Where I’ve asked to record the calls and convert them to WAVE(.wav) format and send to server.
I am able to successfully record and save the audio in my mobile. The recorded file mime type is 3gpp, now I want to convert this 3gpp file to wav. I tried using FFMPEG but unable to convert it. I am posting my code here, Any help would be grateful.
While Converting the recorded file from aac to wav, I’m getting below error
Exception while trying to run: [Ljava.lang.String;@64075a0
java.io.IOException: Cannot run program "/data/user/0/com.sms.example.example/files/ffmpeg": error=2, No such file or directory
at java.lang.ProcessBuilder.start(ProcessBuilder.java:983)
at java.lang.Runtime.exec(Runtime.java:691)
at java.lang.Runtime.exec(Runtime.java:559)
at com.github.hiteshsondhi88.libffmpeg.ShellCommand.run(ShellCommand.java:10)
at com.github.hiteshsondhi88.libffmpeg.FFmpegExecuteAsyncTask.doInBackground(FFmpegExecuteAsyncTask.java:38)
at com.github.hiteshsondhi88.libffmpeg.FFmpegExecuteAsyncTask.doInBackground(FFmpegExecuteAsyncTask.java:10)
at android.os.AsyncTask$2.call(AsyncTask.java:305)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:243)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
at java.lang.Thread.run(Thread.java:761)
Caused by: java.io.IOException: error=2, No such file or directory
at java.lang.UNIXProcess.forkAndExec(Native Method)
at java.lang.UNIXProcess.<init>(UNIXProcess.java:133)
at java.lang.ProcessImpl.start(ProcessImpl.java:128)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:964)
</init>Recorder Service
public class CallService extends Service {
//util object creation
NetworkUtils networkUtils;
SharedPref sharedPref;
MediaRecorder recorder;
File audiofile;
String name, phonenumber;
String audio_format;
public String Audio_Type;
int audioSource;
Context context;
private Handler handler;
Timer timer;
Boolean offHook = false, ringing = false;
Toast toast;
Boolean isOffHook = false;
private boolean recordstarted = false;
private static final String ACTION_IN = "android.intent.action.PHONE_STATE";
private static final String ACTION_OUT = "android.intent.action.NEW_OUTGOING_CALL";
private CallBr br_call;
public String file_name="", recordedFileName="",uploadedFileName="", base64_file="", statusMessage="";
public int statusCode, file_size=0, delay = 1000,period = 5000;
public FFmpeg fFmpeg;
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onDestroy() {
Log.d("service", "destroy");
super.onDestroy();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
sharedPref = new SharedPref(this);
networkUtils = new NetworkUtils(this);
final IntentFilter filter = new IntentFilter();
filter.addAction(ACTION_OUT);
filter.addAction(ACTION_IN);
this.br_call = new CallBr();
this.registerReceiver(this.br_call, filter);
fFmpeg = FFmpeg.getInstance(CallService.this);
Timer task = new Timer();
task.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
if (networkUtils.checkConnection()){
}else{
// Toast.makeText(CallService.this, getResources().getString(R.string.no_connection), Toast.LENGTH_SHORT).show();
}
}
}, delay, period);
// if(terminate != null) {
// stopSelf();
// }
return START_STICKY;
}
public class CallBr extends BroadcastReceiver {
Bundle bundle;
String state;
String inCall, outCall;
public boolean wasRinging = false;
public File sampleDir;
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getAction().equals(ACTION_IN)) {
if ((bundle = intent.getExtras()) != null) {
state = bundle.getString(TelephonyManager.EXTRA_STATE);
if (state.equals(TelephonyManager.EXTRA_STATE_RINGING)) {
inCall = bundle.getString(TelephonyManager.EXTRA_INCOMING_NUMBER);
wasRinging = true;
Toast.makeText(context, "IN : " + inCall, Toast.LENGTH_LONG).show();
} else if (state.equals(TelephonyManager.EXTRA_STATE_OFFHOOK)) {
if (wasRinging == true) {
Toast.makeText(context, "ANSWERED", Toast.LENGTH_LONG).show();
String out = new SimpleDateFormat("dd-MM-yyyy hh-mm-ss").format(new Date());
sampleDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "/OfficeRecordings/");
if (!sampleDir.exists()) {
sampleDir.mkdirs();
}
Log.d("TService", "onReceive: "+sampleDir);
file_name = "Incoming";
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
// try {
// audiofile = File.createTempFile(file_name, ".wav", sampleDir);
// recordedFileName = sampleDir + String.valueOf(System.currentTimeMillis() + ".wav");
//
// } catch (IOException e) {
// e.printStackTrace();
// }
// recordedFileName = sampleDir+"_"+ file_name +String.valueOf(System.currentTimeMillis() + ".wav");
uploadedFileName = sharedPref.getStringValue("userId")+"_"+sharedPref.getStringValue("mobile_number_prefs")+"_" +file_name +String.valueOf(System.currentTimeMillis()+ ".aac");
recordedFileName = sampleDir+"/"+uploadedFileName;
recorder = new MediaRecorder();
// recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
// recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.AAC_ADTS);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
// recorder.setOutputFile(audiofile.getAbsolutePath());
recorder.setOutputFile(recordedFileName);
try {
recorder.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
recorder.start();
recordstarted = true;
}
} else if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
wasRinging = false;
Toast.makeText(context, "REJECT || DISCO", Toast.LENGTH_LONG).show();
if (recordstarted) {
recorder.stop();
recordstarted = false;
if (recordedFileName.isEmpty()){
}else{
convertFileToBase64(context);
}
}
}
}
} else if (intent.getAction().equals(ACTION_OUT)) {
if ((bundle = intent.getExtras()) != null) {
outCall = intent.getStringExtra(Intent.EXTRA_PHONE_NUMBER);
Toast.makeText(context, "OUT : " + outCall, Toast.LENGTH_LONG).show();
sampleDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath(), "/OfficeRecordings/");
if (!sampleDir.exists()) {
sampleDir.mkdirs();
}
Log.d("TService", "onReceive: "+sampleDir);
file_name = "Outgoing";
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
uploadedFileName = sharedPref.getStringValue("userId")+"_"+sharedPref.getStringValue("mobile_number_prefs")+"_" +file_name +String.valueOf(System.currentTimeMillis() + ".amr");
recordedFileName = sampleDir+"/"+uploadedFileName;
// try {
// audiofile = File.createTempFile(file_name, ".wav", sampleDir);
// recordedFileName = audiofile.getName();
//
// } catch (IOException e) {
// e.printStackTrace();
// }
recorder = new MediaRecorder();
// recorder.setAudioSource(MediaRecorder.AudioSource.VOICE_CALL);
// recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.AMR_NB);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
recorder.setOutputFile(audiofile.getAbsolutePath());
try {
recorder.prepare();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
recorder.start();
recordstarted = true;
if (state.equals(TelephonyManager.EXTRA_STATE_IDLE)) {
wasRinging = false;
Toast.makeText(context, "REJECT || DISCO", Toast.LENGTH_LONG).show();
if (recordstarted) {
recorder.stop();
recordstarted = false;
if (recordedFileName.isEmpty()){
}else{
convertFileToBase64(context);
}
}
}
}
}
// LocalBroadcastManager.getInstance(context).sendBroadcast(new Intent("callRecord"));
}
public void convertFileToBase64(Context context){
File uploadedFile = new File(recordedFileName);
Log.d("CallService", "convertFileToBase64: "+uploadedFile);
String[] cmd = new String[4];
cmd[0] = "ffmpeg ";
cmd[1] = "-i ";
cmd[2] = recordedFileName+" ";
cmd[3] = " "+sampleDir+"/"+"sampleAudio.wav";
execFFmpegBinary(cmd);
file_size = Integer.parseInt(String.valueOf(uploadedFile.length()/1024));
Log.d("CallService", "onReceive: "+file_size);
byte[] byteArray = new byte[1024*11];
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
// File uploadedFile = new File(sampleDir+"/"+recordedFileName);
Uri path = Uri.fromFile(uploadedFile);
// Uri path = Uri.fromFile(uploadedFile);
Log.d("CallService", "convertFileToBase64: "+path);
try {
InputStream inputStream = context.getContentResolver().openInputStream(path);
byte[] b = new byte[1024 * 11];
int bytesRead = 0;
while ((bytesRead = inputStream.read(b)) != -1) {
byteArrayOutputStream.write(b, 0, bytesRead);
}
byteArray = byteArrayOutputStream.toByteArray();
Log.e("Byte array", ">" + byteArray);
} catch (IOException e) {
e.printStackTrace();
}
base64_file = Base64.encodeToString(byteArray, Base64.DEFAULT);
Log.d("CallRecorder", "base64File: "+base64_file);
if (!(base64_file.isEmpty())){
Log.d("CallService", "convertFileToBase64: base64 not empty");
if (networkUtils.checkConnection()){
uploadRecordedFileToServer();
}else{
saveFileToLocalDB();
Toast.makeText(context, getString(R.string.no_connection), Toast.LENGTH_SHORT).show();
}
}
}
private void execFFmpegBinary(final String[] command) {
try {
fFmpeg.execute(command, new ExecuteBinaryResponseHandler() {
@Override
public void onFailure(String s) {
Log.d("CallService", "onFailure: "+s);
Toast.makeText(CallService.this, "Failed to convert", Toast.LENGTH_SHORT).show();
}
@Override
public void onSuccess(String s) {
Log.d("CallService", "onSuccess: "+s);
}
@Override
public void onProgress(String s) {
Log.d("CallService", "Started command : ffmpeg "+command);
Log.d("CallService", "progress : "+s);
// progressDialog.setMessage("Processing\n"+s);
}
@Override
public void onStart() {
Log.d("CallService", "Started command : ffmpeg " + command);
// progressDialog.setMessage("Processing...");
// progressDialog.show();
}
@Override
public void onFinish() {
Log.d("CallService", "Finished command : ffmpeg "+command);
// progressDialog.dismiss();
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// do nothing for now
}
}Amy help would be really very grateful... Thanks in advance !!!