
Recherche avancée
Autres articles (75)
-
L’espace de configuration de MediaSPIP
29 novembre 2010, parL’espace de configuration de MediaSPIP est réservé aux administrateurs. Un lien de menu "administrer" est généralement affiché en haut de la page [1].
Il permet de configurer finement votre site.
La navigation de cet espace de configuration est divisé en trois parties : la configuration générale du site qui permet notamment de modifier : les informations principales concernant le site (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP utilise les balises HTML5 video et audio pour la lecture de documents multimedia en profitant des dernières innovations du W3C supportées par les navigateurs modernes.
Pour les navigateurs plus anciens, le lecteur flash Flowplayer est utilisé.
Le lecteur HTML5 utilisé a été spécifiquement créé pour MediaSPIP : il est complètement modifiable graphiquement pour correspondre à un thème choisi.
Ces technologies permettent de distribuer vidéo et son à la fois sur des ordinateurs conventionnels (...)
Sur d’autres sites (7433)
-
bigbluebutton ...
7 mars 2015, par signo
Hello i have a BigBlueButton (0.9.0-beta (622)) installation on Debian Wheezy (7.8) all is ok except archiving recordings...
in the log (/var/log/bigbluebutton/archive-488052dc7c095c74bf8992ec51a66298db04b765-1425642166675.log) i have always same message :
I, [2015-03-06T11:48:19.320704 #4550] INFO -- : Archiving events for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675.
W, [2015-03-06T11:48:19.851280 #4550] WARN -- : Failed to archive events for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675. Permission denied - /var/bigbluebutton/recording/raw/488052dc7c095c74bf8992ec51a66298db04b765-1425642166675/events.xml (complete error below...)but all directory are writable by right user (tomcat7).
More Info :
bbb packages installed
ii bbb-apps 0.9.0-1ubuntu88 amd64 BigBlueButton applications for Red5
ii bbb-apps-deskshare 0.9.0-1ubuntu25 amd64 BigBlueButton deskshare module for Red5
ii bbb-apps-sip 0.9.0-1ubuntu19 amd64 BigBlueButton SIP module for Red5
ii bbb-apps-video 0.9.0-1ubuntu18 amd64 BigBlueButton video module for Red5
ii bbb-client 0.9.0-1ubuntu235 all BigBlueButton Flash client
ii bbb-config 0.9.0-1ubuntu42 all BigBlueButton configuration
rc bbb-demo 0.9.0-1ubuntu8 amd64 BigBlueButton API demos
ii bbb-freeswitch 0.9.0-1ubuntu38 amd64 BigBlueButton build of FreeSWITCH 1.5.x
ii bbb-mkclean 0.8.7-1 amd64 tool to clean and optimize Matroska and WebM files
ii bbb-office 0.9.0-1ubuntu6 amd64 BigBlueButton wrapper for LibreOffice
ii bbb-playback-presentation 0.9.0-1ubuntu11 amd64 BigBluebutton playback of presentation
ii bbb-record-core 0.9.0-1ubuntu37 amd64 BigBlueButton record and playback
ii bbb-red5 0.9.0-1ubuntu25 amd64 The Red5 server for bbb
ii bbb-swftools 0.9.2-1ubuntu14 amd64 The swftools files for bbb
ii bbb-web 0.9.0-1ubuntu54 all BigBlueButton API
ii bigbluebutton 0.9.0-1ubuntu2 amd64 Open source web conferencing platform (bbb)
bbb-conf —check
BigBlueButton Server 0.9.0-beta (622)
Kernel version: 3.16.0-4-amd64(64-bit)
Memory: 12044 MB
/var/www/bigbluebutton/client/conf/config.xml (bbb-client)
Port test (tunnel): 2xx.xxx.xxx.xx
Red5: 2xx.xxx.xxx.xx
useWebrtcIfAvailable: true
/opt/freeswitch/conf/sip_profiles/external.xml (FreeSWITCH)
websocket port: 5066
WebRTC enabled: true
/etc/nginx/sites-available/bigbluebutton (nginx)
server name: 2xx.xxx.xxx.xx
port: 80
bbb-client dir: /var/www/bigbluebutton
/var/lib/tomcat7/webapps/bigbluebutton/WEB-INF/classes/bigbluebutton.properties (bbb-web)
bbb-web host: 2xx.xxx.xxx.xx
/usr/share/red5/webapps/bigbluebutton/WEB-INF/red5-web.xml (red5)
voice conference: FreeSWITCH
capture video: true
capture desktop: true
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback)
playback host: 2xx.xxx.xxx.xx
* Potential problems described below **
# IP does not match:
# IP from ifconfig: 172.xx.xxx.xx
# /etc/nginx/sites-available/bigbluebutton: 2xx.xxx.xxx.xx
# Error: Unable to connect to port 1935 (RTMP) 2xx.xxx.xxx.xx
# Error: Unable to connect to port 9123 (desktop sharing) on 212.xxx.xxx.xx
ls -l /var/freeswitch/meetings/
-rw-r--r-- 1 freeswitch daemon 5139984 Mar 6 11:44 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675-81976383.wav
ls -l /usr/share/red5/webapps/video/streams/488052dc7c095c74bf8992ec51a66298db04b765-1425642166675/
-rw-rw-r-- 1 red5 red5 438342 Mar 6 11:44 320x240-cztd6nyzasaz_1-1425642114164.flv
ls -l /usr/share/red5/webapps/video/streams/488052dc7c095c74bf8992ec51a66298db04b765-1425642166675/
-rw-rw-r-- 1 red5 red5 438342 Mar 6 11:44 320x240-cztd6nyzasaz_1-1425642114164.flv
cat /usr/share/red5/webapps/video/WEB-INF/red5-web.xml
<bean class="org.bigbluebutton.app.video.VideoApplication">
<property value="true"></property>
<property ref="redisRecorder"></property>
</bean>
cat /usr/share/red5/webapps/deskshare/WEB-INF/red5-web.xml
<bean class="org.bigbluebutton.deskshare.server.stream.StreamManager">
</bean>
bbb-record —watch
Every 2.0s: bbb-record --list20 Fri Mar 6 11:53:58 2015
Internal MeetingID Time APVD APVDE RAS Slides Processed Published External MeetingID
------------------------------------------------------ ---------------------------- ---- ----- --- ------ -------------------- ------------------ -------------------
57d9849193299cebe9409d1c98d175958331d34a-1425642748807 Fri 6 Mar 11:52:28 GMT 2015 X 5
488052dc7c095c74bf8992ec51a66298db04b765-1425642166675 Fri 6 Mar 11:42:46 GMT 2015 XXX X 6
bbb-record —debug
E, [2015-03-06T11:48:20.335578 #4548] ERROR -- : Sanity check failed on 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675
cat /var/log/bigbluebutton/archive-488052dc7c095c74bf8992ec51a66298db04b765-1425642166675.log
# Logfile created on 2015-03-06 11:48:19 +0000 by logger.rb/31641
I, [2015-03-06T11:48:19.320704 #4550] INFO -- : Archiving events for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675.
W, [2015-03-06T11:48:19.851280 #4550] WARN -- : Failed to archive events for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675. Permission denied - /var/bigbluebutton/recording/raw/488052dc7c095c74bf8992ec51a66298db04b765-1425642166675/events.xml
I, [2015-03-06T11:48:19.851428 #4550] INFO -- : Fetching the recording marks for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675.
I, [2015-03-06T11:48:19.851501 #4550] INFO -- : Getting record status events
W, [2015-03-06T11:48:19.851585 #4550] WARN -- : Failed to fetch the recording marks for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675. Permission denied - /var/bigbluebutton/recording/raw/488052dc7c095c74bf8992ec51a66298db04b765-1425642166675/events.xml
I, [2015-03-06T11:48:19.851645 #4550] INFO -- : Archiving audio /var/freeswitch/meetings/488052dc7c095c74bf8992ec51a66298db04b765-1425642166675*.wav.
W, [2015-03-06T11:48:19.851920 #4550] WARN -- : Failed to archive audio for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675. Permission denied - /var/bigbluebutton/recording/raw/488052dc7c095c74bf8992ec51a66298db04b765-1425642166675/audio
I, [2015-03-06T11:48:19.851981 #4550] INFO -- : Archiving presentation for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675.
W, [2015-03-06T11:48:19.852257 #4550] WARN -- : Failed to archive presentations for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675. Permission denied - /var/bigbluebutton/recording/raw/488052dc7c095c74bf8992ec51a66298db04b765-1425642166675/presentation
I, [2015-03-06T11:48:19.852322 #4550] INFO -- : Archiving deskshare for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675.
W, [2015-03-06T11:48:19.852561 #4550] WARN -- : Failed to archive deskshare for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675. Permission denied - /var/bigbluebutton/recording/raw/488052dc7c095c74bf8992ec51a66298db04b765-1425642166675/deskshare
I, [2015-03-06T11:48:19.852620 #4550] INFO -- : Archiving video for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675.
W, [2015-03-06T11:48:19.852834 #4550] WARN -- : Failed to archive video for 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675. Permission denied - /var/bigbluebutton/recording/raw/488052dc7c095c74bf8992ec51a66298db04b765-1425642166675/video
all folder under /var/bigbluebutton/ have same rights (drwxrwxrwx tomcat7 tomcat7)
ls -l /var/bigbluebutton/
total 40
drwxr-xr-x 3 tomcat7 tomcat7 4096 Mar 6 11:42 488052dc7c095c74bf8992ec51a66298db04b765-1425642166675
drwxr-xr-x 3 tomcat7 tomcat7 4096 Mar 6 11:52 57d9849193299cebe9409d1c98d175958331d34a-1425642748807
drwxrwxrwx 2 tomcat7 tomcat7 4096 Mar 3 15:52 blank
drwxrwxrwx 2 tomcat7 tomcat7 4096 Feb 17 17:17 configs
drwxrwxrwx 2 tomcat7 tomcat7 4096 Mar 3 15:57 deskshare
drwxrwxrwx 2 tomcat7 tomcat7 4096 Mar 3 15:57 meetings
drwxrwxrwx 3 tomcat7 tomcat7 4096 Mar 3 15:52 playback
drwxrwxrwx 3 tomcat7 tomcat7 4096 Mar 3 15:57 published
drwxrwxrwx 6 tomcat7 tomcat7 4096 Mar 3 15:57 recording
drwxrwxrwx 2 tomcat7 tomcat7 4096 Mar 3 15:57 unpublished -
FFmpeg library is detecting pixel format of VP9 video stream not correctly
6 avril 2023, par PikachuI am using a C code to detect pixel format of VP9 video stream in a WebM container. FFmpeg version 6.0, full shared library build, downloaded from official website. Operating system is Windows 10. I feed the library with a VP9 video encoded with alpha channel, pixel format is YUVA420p. It detects pixel format as YUV420p.


I have found a similar question on StackOverflow.com, Is there a way to force FFMPEG to decode a video stream with alpha from a WebM video encoded with libvpx-vp9 ?, but it does not actually help.


When I override the decoder with a
libvpx
, it continues to detect the pixel format as YUV420p instead of YUVA420p.

C code is following. Note that error handling in code is omitted here for StackOverflow question to be shorter.


AVFormatContext *fmt_ctx = NULL;
int err = avformat_open_input(&fmt_ctx, infp, NULL, NULL);
err = avformat_find_stream_info(fmt_ctx, NULL);
int stream = av_find_best_stream(fmt_ctx, AVMEDIA_TYPE_VIDEO, -1, -1, NULL, 0);
AVCodecParameters *codecpar = fmt_ctx->streams[stream]->codecpar;

const AVCodec *codec = NULL;
if (codecpar->codec_id == AV_CODEC_ID_VP9) {
 codec = avcodec_find_decoder_by_name(CODEC_LIBVPX_VP9);
} else {
 codec = avcodec_find_decoder(codecpar->codec_id);
}

AVCodecContext *ctx = avcodec_alloc_context3(codec);
err = avcodec_parameters_to_context(ctx, codecpar);
av_log(NULL, AV_LOG_DEBUG, "Pixel format: %d.\n", ctx->pix_fmt); //TODO:DEBUG.
err = avcodec_open2(ctx, codec, NULL);



The program tells
Pixel format: 0.
, which meansAV_PIX_FMT_YUV420P
, not theAV_PIX_FMT_YUVA420P
!

If I override pixel format manually, I am able to decode video with alpha channel and to see the transparent background, but it breaks the logics, because when a real YUV420p pixel format comes in and gets overridden by YUVA420p, this will be a problem.


if (codecpar->codec_id == AV_CODEC_ID_VP9) {
 if (strcmp(codec->name, CODEC_LIBVPX_VP9) == 0) {
 if (ctx->pix_fmt == AV_PIX_FMT_YUV420P) {
 ctx->pix_fmt = AV_PIX_FMT_YUVA420P;
 }
 }
}



At the same time ffmpeg tool started from command line with libvpx decoder tells that my video has
YUVA420p
pixel format. Output is following.

D:\Temp\4>ffmpeg -c:v libvpx-vp9 -i yuva.webm
ffmpeg version 6.0-full_build-www.gyan.dev Copyright (c) 2000-2023 the FFmpeg developers
 built with gcc 12.2.0 (Rev10, Built by MSYS2 project)
 configuration: --enable-gpl --enable-version3 --enable-shared --disable-w32threads --disable-autodetect --enable-fontconfig --enable-iconv --enable-gnutls --enable-libxml2 --enable-gmp --enable-bzlib --enable-lzma --enable-libsnappy --enable-zlib --enable-librist --enable-libsrt --enable-libssh --enable-libzmq --enable-avisynth --enable-libbluray --enable-libcaca --enable-sdl2 --enable-libaribb24 --enable-libdav1d --enable-libdavs2 --enable-libuavs3d --enable-libzvbi --enable-librav1e --enable-libsvtav1 --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libaom --enable-libjxl --enable-libopenjpeg --enable-libvpx --enable-mediafoundation --enable-libass --enable-frei0r --enable-libfreetype --enable-libfribidi --enable-liblensfun --enable-libvidstab --enable-libvmaf --enable-libzimg --enable-amf --enable-cuda-llvm --enable-cuvid --enable-ffnvcodec --enable-nvdec --enable-nvenc --enable-d3d11va --enable-dxva2 --enable-libvpl --enable-libshaderc --enable-vulkan --enable-libplacebo --enable-opencl --enable-libcdio --enable-libgme --enable-libmodplug --enable-libopenmpt --enable-libopencore-amrwb --enable-libmp3lame --enable-libshine --enable-libtheora --enable-libtwolame --enable-libvo-amrwbenc --enable-libilbc --enable-libgsm --enable-libopencore-amrnb --enable-libopus --enable-libspeex --enable-libvorbis --enable-ladspa --enable-libbs2b --enable-libflite --enable-libmysofa --enable-librubberband --enable-libsoxr --enable-chromaprint
 libavutil 58. 2.100 / 58. 2.100
 libavcodec 60. 3.100 / 60. 3.100
 libavformat 60. 3.100 / 60. 3.100
 libavdevice 60. 1.100 / 60. 1.100
 libavfilter 9. 3.100 / 9. 3.100
 libswscale 7. 1.100 / 7. 1.100
 libswresample 4. 10.100 / 4. 10.100
 libpostproc 57. 1.100 / 57. 1.100
[libvpx-vp9 @ 000001ecdf6002c0] v1.13.0-71-g45dc0d34d
 Last message repeated 1 times
Input #0, matroska,webm, from 'yuva.webm':
 Metadata:
 ENCODER : Lavf60.3.100
 Duration: 00:00:05.55, start: 0.000000, bitrate: 227 kb/s
 Stream #0:0: Video: vp9 (Profile 0), yuva420p(tv, progressive), 1920x1080, SAR 1:1 DAR 16:9, 60 fps, 60 tbr, 1k tbn
 Metadata:
 alpha_mode : 1
 ENCODER : Lavc60.3.100 libvpx-vp9
 DURATION : 00:00:05.550000000
At least one output file must be specified



Here is my YUVA420p in the first video stream at the end of the console output :


Stream #0:0: Video: vp9 (Profile 0), yuva420p(tv, progressive), 1920x1080, SAR 1:1 DAR 16:9, 60 fps, 60 tbr, 1k tbn





The questions are following.


- 

- How to detect real pixel format of VP9 video with FFmpeg library in C code reliably ?
- Why is the C code not detecting the actual pixel format even with codec overriden to libvpx ?






Thank you.


-
Presentation of Piwik’s collaborative translations platform : oTrance [Interview]
19 avril 2013, par matt — Community, translationPiwik enables domain administrators, hobbyists, power users, personal website builders and everyone in between to access enormous amounts of data for website analytics. To support all those users, Piwik needs to be available in a number of different languages. From the start, we made internationalization (i18n) part of Piwik’s DNA. There are now dozens active volunteers who help make sure each language is well represented in the latest official release of Piwik. As of now, Piwik is available in 48 languages.
Recently a new tool became available that makes the translation of Piwik much easier. The software we are using is an open source platform called oTrance. It has made our translation architecture more robust, and it allows us to expedite the timely delivery of high quality and up-to-date translations to the thousands of people who rely on Piwik every day.
We’ve met with oTrance creator and lead developer Daniel Schlichtholz who answered a few questions for us.
What is oTrance ?
oTranCe is the short form of “Online Translation Center”. It was born because I needed a translation platform for my project MySQLDumper.
Many languages have been added by the community and manual maintenance became more and more time consuming. I wanted to change that. So I searched for an existing platform I could use and tested a lot of approaches. To put a long story short : none of the given solutions satisfied my needs.
From the view of a translator maintaining a language should be as easy as possible. In most cases they have to install a program on their local machine or the workflow was too difficult. A translator doesn’t want to struggle with technical things ; he just wants to translate the phrases and wants to know the progress.
That’s the main goal we want to reach : to make the translation process as easy as possible.
What sets oTrance apart from the other ways to manage translations ?
Ease of use is one advantage of oTranCe compared to other solutions. Another advantage is that project administrators can install oTranCe on their own server – so nobody is dependant of a third party provider.
We love to get feedback from other users. User feedback influences the way oTranCe is developed. We believe that this way oTranCe satisfies the requirements of the real world.
We also have extensive user documentation, in our “Working with oTranCe” wiki. We try to document use cases in an understandable way. We don’t write down marketing buzz words, but try to explain the use from the view of the user/administrator.
Now that oTranCe 1.0 is out, what will you be working on next ?
The language files can be exported to version control and oTranCe can commit changes to the target repository. Currently we support export to Subversion, and we are working on a Git export adapter, which will be released soon.
Another issue we are trying to solve is the context problem. When your project uses many different phrases the translator often doesn’t know in which context the current phrase is used. Version 1.1.0 (not released yet, but you can grab the latest developer version from GitHub) introduces the oTranCe-connector. The idea behind it : a small plug in grabs the used phrases/keys on the current page, and on click this list is submitted to oTranCe, where the translator can edit the words. This way the translator knows in which context these phrases are used. I wrote a small plug in for OXID eShop. Since it is really easy to implement, my hope is that other plug ins for other applications will be added by the community.
Matthieu : Congratulations Daniel for having created such an awesome Translation Platform. At Piwik we are really thankful for oTranCe, which has resulted in much better translation process, and happier translators. Keep up the good work !
If you are a Piwik user, and if you want to participate in translating Piwik, please sign up for an account on oTrance and become part of the team making Piwik available in more languages across the world.