
Recherche avancée
Médias (1)
-
Richard Stallman et le logiciel libre
19 octobre 2011, par
Mis à jour : Mai 2013
Langue : français
Type : Texte
Autres articles (53)
-
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
Encoding and processing into web-friendly formats
13 avril 2011, parMediaSPIP automatically converts uploaded files to internet-compatible formats.
Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
All uploaded files are stored online in their original format, so you can (...) -
Submit bugs and patches
13 avril 2011Unfortunately a software is never perfect.
If you think you have found a bug, report it using our ticket system. Please to help us to fix it by providing the following information : the browser you are using, including the exact version as precise an explanation as possible of the problem if possible, the steps taken resulting in the problem a link to the site / page in question
If you think you have solved the bug, fill in a ticket and attach to it a corrective patch.
You may also (...)
Sur d’autres sites (10769)
-
| NGINX | FFMPEG not creating DASH manifests or chunks in the designated DIR |
7 avril 2020, par Mathew KnightHopefully someone can help here, I have a setup that takes two input RTMP streams from two separate machines into my server. From here I am trying to serve some MPEG DASH manifests and chunks to an experimental spatial audio/360 web (.js) player.



My issue is that while i can see the FFMPEG processes running and creating the Chunks the files themselves are not appearing in the specified folder and so the media player will not read the content.



Is there something obvious that i am not doing that is preventing these files being written ?



Any help with this would be amazing !!!



Here is my config :



#user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;

events {
 worker_connections 768;
 # multi_accept on;
}

http {

 ##
 # Basic Settings
 ##

 sendfile on;
 tcp_nopush on;
 tcp_nodelay on;
 keepalive_timeout 65;
 types_hash_max_size 2048;
 # server_tokens off;

 # server_names_hash_bucket_size 64;
 # server_name_in_redirect off;

 include /etc/nginx/mime.types;
 default_type application/octet-stream;

 ##
 # SSL Settings
 ##

 ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
 ssl_prefer_server_ciphers on;

 ##
 # Logging Settings
 ##

 access_log /var/log/nginx/access.log;
 error_log /var/log/nginx/error.log;


 ##
 # Virtual Host Configs
 ##

 include /etc/nginx/conf.d/*.conf;
 include /etc/nginx/sites-enabled/*;

}

rtmp {
 server {
 listen 1935;
 chunk_size 4096;

 application live {
 live on;
 record off;
 interleave off;
 wait_key on;
 meta on;
 wait_video off;
 idle_streams off;
 sync 300ms;
 session_relay on;
 #allow publish 127.0.0.1;
 #allow publish 192.168.2.0/24;
 allow publish all;
 #deny publish all;
 allow play all; 

 dash on;
 dash_nested on;
 dash_path /tmp/dash;
 dash_fragment 3;
 dash_playlist_length 120;
 dash_cleanup on;

 #dash_clock_compensation http_head;
 #dash_clock_helper_uri https://localhost/time;

 #dash_variant _low bandwidth="500000" width="640" height="360";
 #dash_variant _med bandwidth="1500000" width="1280" height="720";
 #dash_variant _high bandwidth="5000000" width="1920" height="1080" max;

 # EDIT THESE SO THE LIVESTREAM_KEY IS REPLACED BY YOUR PERSONAL KEY THAT YOU CAN LOOK UP ON THE SITE OF THE PLATFORM
 # push rtmp://live-ams.twitch.tv/app/LIVESTREAM_KEY;
 # push rtmp://a.rtmp.youtube.com/live2/LIVESTREAM_KEY;
 # push rtmp://ingest-ams.mixer.com:1935/beam/LIVESTREAM_KEY;

 exec_push ffmpeg -re -an -i 'rtmp://localhost:1935/live/stream' -c:v libx264 -preset veryfast -s 1920x1080 -bufsize 15000k -b:v 15000k -keyint_min 150 -g 150 -tile-columns 4 -frame-parallel 1 -an -f dash -init_seg_name 'init-stream$RepresentationID$_video.webm' -media_seg_name 'chunk-stream$RepresentationID$_video-$Number%05d$.webm' 'http://localhost:1935/dash/video.mpd' 2>>/var/log/nginx/ffmpegvideo.log;




 }



 application dash {
 #TRANSCODED VIDEO/AUDIO FROM FFMPEG COMES HERE?????
 live on;
 meta copy;

 record all;
 record_path /rec;
 }

 }


 server {
 listen 1936;
 chunk_size 4096;

 application live {
 live on;
 record off;
 interleave off;
 wait_key on;
 meta on;
 wait_video off;
 idle_streams off;
 sync 300ms;
 session_relay on;
 #allow publish 127.0.0.1;
 #allow publish 192.168.2.0/24;
 allow publish all;
 #deny publish all;
 allow play all; 


 # EDIT THESE SO THE LIVESTREAM_KEY IS REPLACED BY YOUR PERSONAL KEY THAT YOU CAN LOOK UP ON THE SITE OF THE PLATFORM
 # push rtmp://live-ams.twitch.tv/app/LIVESTREAM_KEY;
 # push rtmp://a.rtmp.youtube.com/live2/LIVESTREAM_KEY;
 # push rtmp://ingest-ams.mixer.com:1935/beam/LIVESTREAM_KEY;

 exec_push ffmpeg -re -i 'rtmp://localhost:1936/live/stream' -filter 'channelmap=0|1|2|3|4|5|6|7:' -c:a libopus -b:a 512k -vn -f dash -init_seg_name 'init-stream$RepresentationID$_audio_01-08ch.webm' -media_seg_name 'chunk-stream$RepresentationID$_audio_01-08ch-$Number%05d$.webm' 'http://localhost:1936/dash/audio_01-08ch.mpd' -filter 'channelmap=8|9|10|11|12|13|14|15:' -c:a libopus -b:a 512k -vn -f dash -init_seg_name 'init-stream$RepresentationID$_audio_09-16ch.webm' -media_seg_name 'chunk-stream$RepresentationID$_audio_09-16ch-$Number%05d$.webm' 'http://localhost:1936/dash/audio_09-16ch.mpd' 2>>/var/log/nginx/ffmpegaudio.log;
 }





 application dash {
 #TRANSCODED AUDIO FROM FFMPEG COMES HERE?????
 live on;
 meta copy;
 }


}
}




and here is the output from my FFMPEG logs :



AUDIO :



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
[aac @ 0x55bfeaaafc60] Channel layout 'stereo' with 2 channels does not match specified number of channels 16: ignoring specified channel layout
Guessed Channel Layout for Input Stream #0.0 : hexadecagonal
Input #0, flv, from 'rtmp://localhost:1936/live/stream':
 Metadata:
 Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
 displayWidth : 0
 displayHeight : 0
 fps : 0
 profile : 
 level : 
 Duration: 00:00:00.00, start: 0.042000, bitrate: N/A
 Stream #0:0: Audio: aac (LC), 48000 Hz, hexadecagonal, fltp, 512 kb/s
Stream mapping:
 Stream #0:0 -> #0:0 (aac (native) -> opus (libopus))
 Stream #0:0 -> #1:0 (aac (native) -> opus (libopus))
Press [q] to stop, [?] for help
[dash @ 0x55bfeaab43e0] Opening 'http://localhost:1936/dash/init-stream_audio_01-08ch.webm' for writing
Output #0, dash, to 'http://localhost:1936/dash/audio_01-08ch.mpd':
 Metadata:
 Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
 displayWidth : 0
 displayHeight : 0
 fps : 0
 profile : 
 level : 
 encoder : Lavf57.83.100
 Stream #0:0: Audio: opus (libopus), 48000 Hz, 7.1, flt, 512 kb/s
 Metadata:
 encoder : Lavc57.107.100 libopus
[dash @ 0x55bfeaab43e0] Cannot use rename on non file protocol, this may lead to races and temporary partial files
[dash @ 0x55bfeaaecb00] Opening 'http://localhost:1936/dash/init-stream_audio_09-16ch.webm' for writing
Output #1, dash, to 'http://localhost:1936/dash/audio_09-16ch.mpd':
 Metadata:
 Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
 displayWidth : 0
 displayHeight : 0
 fps : 0
 profile : 
 level : 
 encoder : Lavf57.83.100
 Stream #1:0: Audio: opus (libopus), 48000 Hz, 7.1, flt, 512 kb/s
 Metadata:
 encoder : Lavc57.107.100 libopus
size=N/A time=00:00:00.49 bitrate=N/A speed=0.986x 
size=N/A time=00:00:01.01 bitrate=N/A speed=1.01x 
size=N/A time=00:00:01.49 bitrate=N/A speed=0.993x 
size=N/A time=00:00:02.01 bitrate=N/A speed= 1x 
size=N/A time=00:00:02.49 bitrate=N/A speed=0.995x 
size=N/A time=00:00:03.01 bitrate=N/A speed= 1x 
size=N/A time=00:00:03.53 bitrate=N/A speed= 1x 
size=N/A time=00:00:04.01 bitrate=N/A speed=0.998x 
size=N/A time=00:00:04.53 bitrate=N/A speed= 1x 
[dash @ 0x55bfeaab43e0] Opening 'http://localhost:1936/dash/chunk-stream_audio_01-08ch-%05d.webm' for writing
[dash @ 0x55bfeaaecb00] Opening 'http://localhost:1936/dash/chunk-stream_audio_09-16ch-%05d.webm' for writing
size=N/A time=00:00:05.01 bitrate=N/A speed=0.997x 
size=N/A time=00:00:05.53 bitrate=N/A speed= 1x 
size=N/A time=00:00:06.03 bitrate=N/A speed=0.999x 
size=N/A time=00:00:06.55 bitrate=N/A speed= 1x 
size=N/A time=00:00:07.05 bitrate=N/A speed=0.999x 
size=N/A time=00:00:07.55 bitrate=N/A speed=0.999x 
size=N/A time=00:00:08.07 bitrate=N/A speed= 1x 
size=N/A time=00:00:08.57 bitrate=N/A speed= 1x 
size=N/A time=00:00:09.09 bitrate=N/A speed= 1x 
size=N/A time=00:00:09.59 bitrate=N/A speed= 1x 
[dash @ 0x55bfeaab43e0] Opening 'http://localhost:1936/dash/chunk-stream_audio_01-08ch-%05d.webm' for writing
[dash @ 0x55bfeaaecb00] Opening 'http://localhost:1936/dash/chunk-stream_audio_09-16ch-%05d.webm' for writing
size=N/A time=00:00:10.09 bitrate=N/A speed=0.999x 
size=N/A time=00:00:10.61 bitrate=N/A speed= 1x 
size=N/A time=00:00:11.09 bitrate=N/A speed=0.999x 
size=N/A time=00:00:11.61 bitrate=N/A speed= 1x 
size=N/A time=00:00:12.11 bitrate=N/A speed=0.999x 
size=N/A time=00:00:12.63 bitrate=N/A speed= 1x 
size=N/A time=00:00:13.13 bitrate=N/A speed= 1x 
size=N/A time=00:00:13.63 bitrate=N/A speed=0.999x 
size=N/A time=00:00:14.15 bitrate=N/A speed= 1x 
size=N/A time=00:00:14.63 bitrate=N/A speed=0.999x 
[dash @ 0x55bfeaab43e0] Opening 'http://localhost:1936/dash/chunk-stream_audio_01-08ch-%05d.webm' for writing
[dash @ 0x55bfeaaecb00] Opening 'http://localhost:1936/dash/chunk-stream_audio_09-16ch-%05d.webm' for writing
size=N/A time=00:00:15.15 bitrate=N/A speed= 1x 
size=N/A time=00:00:15.67 bitrate=N/A speed= 1x 
size=N/A time=00:00:16.15 bitrate=N/A speed=0.999x 
size=N/A time=00:00:16.67 bitrate=N/A speed= 1x 
size=N/A time=00:00:17.15 bitrate=N/A speed=0.999x 
size=N/A time=00:00:17.67 bitrate=N/A speed= 1x 
size=N/A time=00:00:18.17 bitrate=N/A speed= 1x 
size=N/A time=00:00:18.67 bitrate=N/A speed=0.999x 
size=N/A time=00:00:19.19 bitrate=N/A speed= 1x 
size=N/A time=00:00:19.69 bitrate=N/A speed= 1x 
[dash @ 0x55bfeaab43e0] Opening 'http://localhost:1936/dash/chunk-stream_audio_01-08ch-%05d.webm' for writing
[dash @ 0x55bfeaaecb00] Opening 'http://localhost:1936/dash/chunk-stream_audio_09-16ch-%05d.webm' for writing





VIDEO :



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, flv, from 'rtmp://localhost:1935/live/stream':
 Metadata:
 Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
 displayWidth : 3840
 displayHeight : 1920
 fps : 30
 profile : 
 level : 
 Duration: 00:00:00.00, start: 0.033000, bitrate: N/A
 Stream #0:0: Video: h264 (High), yuv420p(tv, bt470bg/bt709/bt709, progressive), 3840x1920 [SAR 1:1 DAR 2:1], 15360 kb/s, 30 fps, 30 tbr, 1k tbn, 60 tbc
 Stream #0:1: Audio: aac (LC), 48000 Hz, 7.1, fltp, 327 kb/s
Codec AVOption tile-columns (Number of tile columns to use, log2) specified for output file #0 (http://localhost:1935/dash/video.mpd) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Codec AVOption frame-parallel (Enable frame parallel decodability features) specified for output file #0 (http://localhost:1935/dash/video.mpd) has not been used for any stream. The most likely reason is either wrong type (e.g. a video option with no video streams) or that it is a private option of some encoder which was not actually used for any stream.
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[libx264 @ 0x55e24ea47f40] VBV maxrate unspecified, assuming CBR
[libx264 @ 0x55e24ea47f40] using SAR=9/8
[libx264 @ 0x55e24ea47f40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x55e24ea47f40] profile High, level 4.0
[libx264 @ 0x55e24ea47f40] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html - options: cabac=1 ref=1 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=6 lookahead_threads=2 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=1 keyint=150 keyint_min=76 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=cbr mbtree=1 bitrate=15000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=15000 vbv_bufsize=15000 nal_hrd=none filler=0 ip_ratio=1.40 aq=1:1.00
[dash @ 0x55e24ea4b640] Opening 'http://localhost:1935/dash/init-stream_video.webm' for writing
Output #0, dash, to 'http://localhost:1935/dash/video.mpd':
 Metadata:
 Server : NGINX RTMP (github.com/arut/nginx-rtmp-module)
 displayWidth : 3840
 displayHeight : 1920
 fps : 30
 profile : 
 level : 
 encoder : Lavf57.83.100
 Stream #0:0: Video: h264 (libx264), yuv420p, 1920x1080 [SAR 9:8 DAR 2:1], q=-1--1, 15000 kb/s, 30 fps, 15360 tbn, 30 tbc
 Metadata:
 encoder : Lavc57.107.100 libx264
 Side data:
 cpb: bitrate max/min/avg: 0/0/15000000 buffer size: 15000000 vbv_delay: -1
frame= 11 fps=0.0 q=0.0 size=N/A time=00:00:00.00 bitrate=N/A speed= 0x 
[dash @ 0x55e24ea4b640] Cannot use rename on non file protocol, this may lead to races and temporary partial files
frame= 26 fps= 26 q=19.0 size=N/A time=00:00:00.10 bitrate=N/A speed=0.0997x 
frame= 42 fps= 28 q=17.0 size=N/A time=00:00:00.63 bitrate=N/A speed=0.421x 
frame= 57 fps= 28 q=14.0 size=N/A time=00:00:01.13 bitrate=N/A speed=0.565x 
frame= 72 fps= 29 q=15.0 size=N/A time=00:00:01.63 bitrate=N/A speed=0.65x 
frame= 87 fps= 29 q=14.0 size=N/A time=00:00:02.13 bitrate=N/A speed=0.706x 
frame= 102 fps= 29 q=16.0 size=N/A time=00:00:02.63 bitrate=N/A speed=0.746x 
frame= 118 fps= 29 q=16.0 size=N/A time=00:00:03.16 bitrate=N/A speed=0.785x 
frame= 133 fps= 29 q=17.0 size=N/A time=00:00:03.66 bitrate=N/A speed=0.807x 
frame= 148 fps= 29 q=15.0 size=N/A time=00:00:04.16 bitrate=N/A speed=0.826x 
frame= 163 fps= 29 q=18.0 size=N/A time=00:00:04.66 bitrate=N/A speed=0.841x 
[dash @ 0x55e24ea4b640] Opening 'http://localhost:1935/dash/chunk-stream_video-%05d.webm' for writing
frame= 178 fps= 29 q=17.0 size=N/A time=00:00:05.16 bitrate=N/A speed=0.854x 
frame= 193 fps= 29 q=18.0 size=N/A time=00:00:05.66 bitrate=N/A speed=0.864x 
frame= 208 fps= 29 q=15.0 size=N/A time=00:00:06.16 bitrate=N/A speed=0.873x 
frame= 224 fps= 30 q=15.0 size=N/A time=00:00:06.70 bitrate=N/A speed=0.885x 
frame= 239 fps= 30 q=16.0 size=N/A time=00:00:07.20 bitrate=N/A speed=0.892x 
frame= 254 fps= 30 q=15.0 size=N/A time=00:00:07.70 bitrate=N/A speed=0.898x 
frame= 269 fps= 30 q=17.0 size=N/A time=00:00:08.20 bitrate=N/A speed=0.903x 
frame= 284 fps= 30 q=16.0 size=N/A time=00:00:08.70 bitrate=N/A speed=0.908x 
frame= 299 fps= 30 q=16.0 size=N/A time=00:00:09.20 bitrate=N/A speed=0.912x 
frame= 314 fps= 30 q=18.0 size=N/A time=00:00:09.70 bitrate=N/A speed=0.916x 
[dash @ 0x55e24ea4b640] Opening 'http://localhost:1935/dash/chunk-stream_video-%05d.webm' for writing
frame= 330 fps= 30 q=17.0 size=N/A time=00:00:10.23 bitrate=N/A speed=0.922x 
frame= 345 fps= 30 q=17.0 size=N/A time=00:00:10.73 bitrate=N/A speed=0.925x 
frame= 360 fps= 30 q=15.0 size=N/A time=00:00:11.23 bitrate=N/A speed=0.928x 
frame= 375 fps= 30 q=15.0 size=N/A time=00:00:11.73 bitrate=N/A speed=0.931x 
frame= 390 fps= 30 q=16.0 size=N/A time=00:00:12.23 bitrate=N/A speed=0.933x 
frame= 405 fps= 30 q=17.0 size=N/A time=00:00:12.73 bitrate=N/A speed=0.935x 
frame= 420 fps= 30 q=14.0 size=N/A time=00:00:13.23 bitrate=N/A speed=0.937x 
frame= 435 fps= 30 q=16.0 size=N/A time=00:00:13.73 bitrate=N/A speed=0.94x 
frame= 450 fps= 30 q=16.0 size=N/A time=00:00:14.23 bitrate=N/A speed=0.941x 
frame= 465 fps= 30 q=18.0 size=N/A time=00:00:14.73 bitrate=N/A speed=0.943x 
[dash @ 0x55e24ea4b640] Opening 'http://localhost:1935/dash/chunk-stream_video-%05d.webm' for writing
frame= 481 fps= 30 q=16.0 size=N/A time=00:00:15.26 bitrate=N/A speed=0.946x 
frame= 496 fps= 30 q=17.0 size=N/A time=00:00:15.76 bitrate=N/A speed=0.947x 
frame= 511 fps= 30 q=16.0 size=N/A time=00:00:16.26 bitrate=N/A speed=0.949x 
frame= 526 fps= 30 q=16.0 size=N/A time=00:00:16.76 bitrate=N/A speed=0.95x 
frame= 541 fps= 30 q=16.0 size=N/A time=00:00:17.26 bitrate=N/A speed=0.951x 
frame= 557 fps= 30 q=16.0 size=N/A time=00:00:17.80 bitrate=N/A speed=0.953x 
frame= 572 fps= 30 q=15.0 size=N/A time=00:00:18.30 bitrate=N/A speed=0.954x 
frame= 587 fps= 30 q=16.0 size=N/A time=00:00:18.80 bitrate=N/A speed=0.955x 
frame= 602 fps= 30 q=16.0 size=N/A time=00:00:19.30 bitrate=N/A speed=0.956x 
frame= 618 fps= 30 q=18.0 size=N/A time=00:00:19.83 bitrate=N/A speed=0.958x 
[dash @ 0x55e24ea4b640] Opening 'http://localhost:1935/dash/chunk-stream_video-%05d.webm' for writing
frame= 633 fps= 30 q=17.0 size=N/A time=00:00:20.33 bitrate=N/A speed=0.959x 
frame= 648 fps= 30 q=16.0 size=N/A time=00:00:20.83 bitrate=N/A speed=0.96x 
frame= 663 fps= 30 q=16.0 size=N/A time=00:00:21.33 bitrate=N/A speed=0.961x 
frame= 678 fps= 30 q=16.0 size=N/A time=00:00:21.83 bitrate=N/A speed=0.961x 
frame= 693 fps= 30 q=16.0 size=N/A time=00:00:22.33 bitrate=N/A speed=0.962x 
frame= 708 fps= 30 q=16.0 size=N/A time=00:00:22.83 bitrate=N/A speed=0.962x 
frame= 723 fps= 30 q=17.0 size=N/A time=00:00:23.33 bitrate=N/A speed=0.963x 
frame= 739 fps= 30 q=17.0 size=N/A time=00:00:23.86 bitrate=N/A speed=0.965x 
frame= 754 fps= 30 q=16.0 size=N/A time=00:00:24.36 bitrate=N/A speed=0.965x 
frame= 769 fps= 30 q=18.0 size=N/A time=00:00:24.86 bitrate=N/A speed=0.966x 
[dash @ 0x55e24ea4b640] Opening 'http://localhost:1935/dash/chunk-stream_video-%05d.webm' for writing
frame= 784 fps= 30 q=15.0 size=N/A time=00:00:25.36 bitrate=N/A speed=0.966x 
frame= 799 fps= 30 q=15.0 size=N/A time=00:00:25.86 bitrate=N/A speed=0.967x 
frame= 814 fps= 30 q=15.0 size=N/A time=00:00:26.36 bitrate=N/A speed=0.967x 
frame= 829 fps= 30 q=16.0 size=N/A time=00:00:26.86 bitrate=N/A speed=0.968x 
frame= 844 fps= 30 q=15.0 size=N/A time=00:00:27.36 bitrate=N/A speed=0.968x 
frame= 860 fps= 30 q=15.0 size=N/A time=00:00:27.90 bitrate=N/A speed=0.97x 
frame= 875 fps= 30 q=15.0 size=N/A time=00:00:28.40 bitrate=N/A speed=0.97x 
frame= 890 fps= 30 q=15.0 size=N/A time=00:00:28.90 bitrate=N/A speed=0.971x 
frame= 905 fps= 30 q=16.0 size=N/A time=00:00:29.40 bitrate=N/A speed=0.971x 
frame= 920 fps= 30 q=18.0 size=N/A time=00:00:29.90 bitrate=N/A speed=0.971x 
[dash @ 0x55e24ea4b640] Opening 'http://localhost:1935/dash/chunk-stream_video-%05d.webm' for writing
frame= 935 fps= 30 q=16.0 size=N/A time=00:00:30.40 bitrate=N/A speed=0.971x 
frame= 950 fps= 30 q=16.0 size=N/A time=00:00:30.90 bitrate=N/A speed=0.972x 
frame= 966 fps= 30 q=15.0 size=N/A time=00:00:31.43 bitrate=N/A speed=0.973x 
frame= 981 fps= 30 q=15.0 size=N/A time=00:00:31.93 bitrate=N/A speed=0.973x 
frame= 996 fps= 30 q=16.0 size=N/A time=00:00:32.43 bitrate=N/A speed=0.974x 
frame= 1011 fps= 30 q=15.0 size=N/A time=00:00:32.93 bitrate=N/A speed=0.974x 
frame= 1026 fps= 30 q=16.0 size=N/A time=00:00:33.43 bitrate=N/A speed=0.974x 
frame= 1041 fps= 30 q=16.0 size=N/A time=00:00:33.93 bitrate=N/A speed=0.974x 
frame= 1057 fps= 30 q=16.0 size=N/A time=00:00:34.46 bitrate=N/A speed=0.975x 
[dash @ 0x55e24ea4b640] Opening 'http://localhost:1935/dash/chunk-stream_video-%05d.webm' for writing
frame= 1072 fps= 30 q=18.0 size=N/A time=00:00:34.96 bitrate=N/A speed=0.976x 
frame= 1087 fps= 30 q=18.0 size=N/A time=00:00:35.46 bitrate=N/A speed=0.976x 
frame= 1102 fps= 30 q=15.0 size=N/A time=00:00:35.96 bitrate=N/A speed=0.976x 
frame= 1117 fps= 30 q=15.0 size=N/A time=00:00:36.46 bitrate=N/A speed=0.976x 
frame= 1132 fps= 30 q=16.0 size=N/A time=00:00:36.96 bitrate=N/A speed=0.976x 
frame= 1148 fps= 30 q=16.0 size=N/A time=00:00:37.50 bitrate=N/A speed=0.977x 
frame= 1163 fps= 30 q=17.0 size=N/A time=00:00:38.00 bitrate=N/A speed=0.978x 
frame= 1178 fps= 30 q=15.0 size=N/A time=00:00:38.50 bitrate=N/A speed=0.978x 
frame= 1193 fps= 30 q=15.0 size=N/A time=00:00:39.00 bitrate=N/A speed=0.978x 
frame= 1208 fps= 30 q=18.0 size=N/A time=00:00:39.50 bitrate=N/A speed=0.978x 
[dash @ 0x55e24ea4b640] Opening 'http://localhost:1935/dash/chunk-stream_video-%05d.webm' for writing 



-
when i record video with javacv it comes "java.lang.NoClassDefFoundError : org.bytedeco.javacpp.avutil"
9 avril 2020, par Pradeep SimbaI make a video recorder android app with javacv.
But, when i run this app this error occurs "java.lang.NoClassDefFoundError : org.bytedeco.javacpp.avutil".



How can I solve this error ?



gradle.build file



android {
 ..............
 packagingOptions {
 exclude 'META-INF/services/javax.annotation.processing.Processor'
 pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.properties'
 pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.xml'
 pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.properties'
 pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.xml'
 }
}

dependencies {

implementation group: 'org.bytedeco', name: 'javacv', version: '1.1'
implementation group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.0.0-1.1', classifier: 'android-arm'
implementation group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '2.8.1-1.1', classifier: 'android-arm'
implementation group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '3.0.0-1.1', classifier: 'android-x86'
implementation group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '2.8.1-1.1', classifier: 'android-x86'

}




My demo code VideoService which will invoke in MainActivity



package com.fs.fs.api;

import com.fs.fs.App;
import com.fs.fs.utils.DateUtils;
import com.fs.fs.utils.FileUtils;

import org.bytedeco.javacpp.avcodec;
import org.bytedeco.javacv.FFmpegFrameRecorder;
import org.bytedeco.javacv.FrameRecorder;

import java.util.Date;

/**
 * Created by wyx on 2017/1/11.
 */
public class VideoService {
 private FFmpegFrameRecorder mFrameRecorder;
 private String path;

 private VideoService() {
 }

 private static class SingletonHolder {
 private static final VideoService INSTANCE = new VideoService();
 }

 public static VideoService getInstance() {
 return SingletonHolder.INSTANCE;
 }

 public void startRecordVideo() {
 String fileName = String.format("%s.%s", DateUtils.date2String(new Date(), "yyyyMMdd_HHmmss"), "mp4");
 path = FileUtils.getExternalFullPath(App.getInstance(), fileName);
 mFrameRecorder = new FFmpegFrameRecorder(path, 640, 480, 1);
 mFrameRecorder.setVideoCodec(avcodec.AV_CODEC_ID_H264);
 mFrameRecorder.setVideoOption("tune", "zerolatency");
 mFrameRecorder.setVideoOption("preset", "ultrafast");
 mFrameRecorder.setVideoOption("crf", "28");
 mFrameRecorder.setVideoBitrate(300 * 1000);
 mFrameRecorder.setFormat("mp4");

 mFrameRecorder.setFrameRate(30);
 mFrameRecorder.setAudioOption("crf", "0");
 mFrameRecorder.setSampleRate(48 * 1000);
 mFrameRecorder.setAudioBitrate(960 * 1000);
 mFrameRecorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);
 try {
 mFrameRecorder.start();
 } catch (FrameRecorder.Exception e) {
 e.printStackTrace();
 }
 }

 public void stop() {
 if (mFrameRecorder != null) {
 try {
 mFrameRecorder.stop();
 mFrameRecorder.release();
 } catch (FrameRecorder.Exception e) {
 e.printStackTrace();
 }
 mFrameRecorder = null;
 }
 }

}




MainActivity



package com.fs.fs.activity;

import android.app.Activity;
import android.os.Bundle;

import com.fs.fs.R;
import com.fs.fs.api.VideoService;

import static java.lang.Thread.sleep;


public class MainActivity extends Activity {

 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);


 VideoService.getInstance().startRecordVideo();
 try {
 sleep(10 * 1000);
 } catch (InterruptedException e) {
 e.printStackTrace();
 }
 VideoService.getInstance().stop();
 }
}




Error



E/AndroidRuntime: FATAL EXCEPTION: main
 Process: com.example.usb, PID: 660
 java.lang.NoClassDefFoundError: org.bytedeco.javacpp.avutil
 at org.bytedeco.javacpp.Loader.load(Loader.java:590)
 at org.bytedeco.javacpp.Loader.load(Loader.java:530)
 at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694)
 at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149)
 at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34)
 at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75)
 at android.app.Activity.performCreate(Activity.java:5304)
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090)
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245)
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331)
 at android.app.ActivityThread.access$1000(ActivityThread.java:143)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
 at android.os.Handler.dispatchMessage(Handler.java:102)
 at android.os.Looper.loop(Looper.java:136)
 at android.app.ActivityThread.main(ActivityThread.java:5291)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:515)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
 at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.ClassNotFoundException: org.bytedeco.javacpp.avutil
 at java.lang.Class.classForName(Native Method)
 at java.lang.Class.forName(Class.java:251)
 at org.bytedeco.javacpp.Loader.load(Loader.java:585)
 at org.bytedeco.javacpp.Loader.load(Loader.java:530) 
 at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694) 
 at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149) 
 at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34) 
 at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75) 
 at android.app.Activity.performCreate(Activity.java:5304) 
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331) 
 at android.app.ActivityThread.access$1000(ActivityThread.java:143) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
 at android.os.Handler.dispatchMessage(Handler.java:102) 
 at android.os.Looper.loop(Looper.java:136) 
 at android.app.ActivityThread.main(ActivityThread.java:5291) 
 at java.lang.reflect.Method.invokeNative(Native Method) 
 at java.lang.reflect.Method.invoke(Method.java:515) 
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 
 at dalvik.system.NativeStart.main(Native Method) 
 Caused by: java.lang.NoClassDefFoundError: org/bytedeco/javacpp/avutil
 at java.lang.Class.classForName(Native Method) 
 at java.lang.Class.forName(Class.java:251) 
 at org.bytedeco.javacpp.Loader.load(Loader.java:585) 
 at org.bytedeco.javacpp.Loader.load(Loader.java:530) 
 at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694) 
 at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149) 
 at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34) 
 at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75) 
 at android.app.Activity.performCreate(Activity.java:5304) 
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331) 
 at android.app.ActivityThread.access$1000(ActivityThread.java:143) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
 at android.os.Handler.dispatchMessage(Handler.java:102) 
 at android.os.Looper.loop(Looper.java:136) 
 at android.app.ActivityThread.main(ActivityThread.java:5291) 
 at java.lang.reflect.Method.invokeNative(Native Method) 
 at java.lang.reflect.Method.invoke(Method.java:515) 
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 
 at dalvik.system.NativeStart.main(Native Method) 
 Caused by: java.lang.ClassNotFoundException: Didn't find class "org.bytedeco.javacpp.avutil" on path: DexPathList[[zip file "/data/app/com.fs.fs-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.fs.fs-2, /vendor/lib, /system/lib, /data/datalib]]
 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
 at java.lang.Class.classForName(Native Method) 
 at java.lang.Class.forName(Class.java:251) 
 at org.bytedeco.javacpp.Loader.load(Loader.java:585) 
 at org.bytedeco.javacpp.Loader.load(Loader.java:530) 
 at org.bytedeco.javacpp.avcodec$AVPacket.<clinit>(avcodec.java:1694) 
 at org.bytedeco.javacv.FFmpegFrameRecorder.<init>(FFmpegFrameRecorder.java:149) 
 at com.fs.fs.api.VideoService.startRecordVideo(VideoService.java:34) 
 at com.fs.fs.activity.MainActivity.onCreate(MainActivity.java:75) 
 at android.app.Activity.performCreate(Activity.java:5304) 
 at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1090) 
 at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2245) 
 at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2331) 
 at android.app.ActivityThread.access$1000(ActivityThread.java:143) 
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244) 
 at android.os.Handler.dispatchMessage(Handler.java:102) 
 at android.os.Looper.loop(Looper.java:136) 
 at android.app.ActivityThread.main(ActivityThread.java:5291) 
 at java.lang.reflect.Method.invokeNative(Native Method) 
 at java.lang.reflect.Method.invoke(Method.java:515) 
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) 
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665) 
 at dalvik.system.NativeStart.main(Native Method) 
</init></clinit></init></clinit></init></clinit></init></clinit>



How can i solve this error ?



Why error occurs ?


-
FFMPEG .oma to .mp3 "Unsupported codec 5 !" with a big file
27 mars 2017, par VenturaI’m trying to convert a .OMA file to .MP3 but no success with a specific file.
If I try :
ffmpeg -i audio1.oma -f mp3 output.mp3
The file is converted successfully. The file audio1.oma is a 3 MB file.
Full output :
ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[oma @ 0x7f8fc4000000] Estimating duration from bitrate, this may be inaccurate
Input #0, oma, from 'audio1.oma':
Metadata:
title : Is This It
artist : The Strokes
album : Is This It
genre : Rock
OMG_TRLDA : 2001/01/01 00:00:00
TLEN : 153000
Duration: 00:02:33.36, start: 0.000000, bitrate: 128 kb/s
Stream #0:0: Audio: mp3 ([3][0][0][0] / 0x0003), 44100 Hz, stereo, s16p, 128 kb/s
Output #0, mp3, to 'output.mp3':
Metadata:
TIT2 : Is This It
TPE1 : The Strokes
TALB : Is This It
TCON : Rock
OMG_TRLDA : 2001/01/01 00:00:00
TLEN : 153000
TSSE : Lavf57.56.101
Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, stereo, s16p
Metadata:
encoder : Lavc57.64.101 libmp3lame
Stream mapping:
Stream #0:0 -> #0:0 (mp3 (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
size= 2397kB time=00:02:33.35 bitrate= 128.0kbits/s speed=37.2x
video:0kB audio:2397kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.016094%If I try the same with another .oma (53 MB) I’m getting the error :
Unsupported codec 5 ! audio2.oma : Function not implemented
Full output :
ffmpeg version 3.2.4 Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --prefix=/usr/local/Cellar/ffmpeg/3.2.4 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --disable-lzma --enable-vda
libavutil 55. 34.101 / 55. 34.101
libavcodec 57. 64.101 / 57. 64.101
libavformat 57. 56.101 / 57. 56.101
libavdevice 57. 1.100 / 57. 1.100
libavfilter 6. 65.100 / 6. 65.100
libavresample 3. 1. 0 / 3. 1. 0
libswscale 4. 2.100 / 4. 2.100
libswresample 2. 3.100 / 2. 3.100
libpostproc 54. 1.100 / 54. 1.100
[oma @ 0x7f8792000000] Unsupported codec 5!
audio2.OMA: Function not implementedBoth audios works fine when using the MP3 Player.
The first audio which works is just a random song from my MP3 player to test.
The second file was recorded in a music studio playing live with multiple channels.Anything I’m missing here ?