
Recherche avancée
Autres articles (42)
-
Keeping control of your media in your hands
13 avril 2011, parThe vocabulary used on this site and around MediaSPIP in general, aims to avoid reference to Web 2.0 and the companies that profit from media-sharing.
While using MediaSPIP, you are invited to avoid using words like "Brand", "Cloud" and "Market".
MediaSPIP is designed to facilitate the sharing of creative media online, while allowing authors to retain complete control of their work.
MediaSPIP aims to be accessible to as many people as possible and development is based on expanding the (...) -
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 -
Soumettre améliorations et plugins supplémentaires
10 avril 2011Si vous avez développé une nouvelle extension permettant d’ajouter une ou plusieurs fonctionnalités utiles à MediaSPIP, faites le nous savoir et son intégration dans la distribution officielle sera envisagée.
Vous pouvez utiliser la liste de discussion de développement afin de le faire savoir ou demander de l’aide quant à la réalisation de ce plugin. MediaSPIP étant basé sur SPIP, il est également possible d’utiliser le liste de discussion SPIP-zone de SPIP pour (...)
Sur d’autres sites (8046)
-
Video Conferencing in HTML5 : WebRTC via Socket.io
5 février 2013, par silviaSix months ago I experimented with Web sockets for WebRTC and the early implementations of PeerConnection in Chrome. Last week I gave a presentation about WebRTC at Linux.conf.au, so it was time to update that codebase.
I decided to use socket.io for the signalling following the idea of Luc, which made the server code even smaller and reduced it to a mere reflector :
var app = require(’http’).createServer().listen(1337) ; var io = require(’socket.io’).listen(app) ;
io.sockets.on(’connection’, function(socket)
socket.on(’message’, function(message)
socket.broadcast.emit(’message’, message) ;
) ;
) ;Then I turned to the client code. I was surprised to see the massive changes that PeerConnection has gone through. Check out my slide deck to see the different components that are now necessary to create a PeerConnection.
I was particularly surprised to see the SDP object now fully exposed to JavaScript and thus the ability to manipulate it directly rather than through some API. This allows Web developers to manipulate the type of session that they are asking the browsers to set up. I can imaging e.g. if they have support for a video codec in JavaScript that the browser does not provide built-in, they can add that codec to the set of choices to be offered to the peer. While it is flexible, I am concerned if this might create more problems than it solves. I guess we’ll have to wait and see.
I was also surprised by the need to use ICE, even though in my experiment I got away with an empty list of ICE servers – the ICE messages just got exchanged through the socket.io server. I am not sure whether this is a bug, but I was very happy about it because it meant I could run the whole demo on a completely separate network from the Internet.
The most exciting news since my talk is that Mozilla and Google have managed to get a PeerConnection working between Firefox and Chrome – this is the first cross-browser video conference call without a plugin ! The code differences are minor.
Since the specification of the WebRTC API and of the MediaStream API are now official Working Drafts at the W3C, I expect other browsers will follow. I am also looking forward to the possibilities of :
- multi-peer video conferencing like the efforts around webrtc.io,
- the media stream recording API,
- and the peer-to-peer data API.
The best places to learn about the latest possibilities of WebRTC are webrtc.org and the W3C WebRTC WG. code.google.com has open source code that continues to be updated to the latest released and interoperable features in browsers.
The video of my talk is in the process of being published. There is a MP4 version on the Linux Australia mirror server, but I expect it will be published properly soon. I will update the blog post when that happens.
-
Video Conferencing in HTML5 : WebRTC via Socket.io
1er janvier 2014, par silviaSix months ago I experimented with Web sockets for WebRTC and the early implementations of PeerConnection in Chrome. Last week I gave a presentation about WebRTC at Linux.conf.au, so it was time to update that codebase.
I decided to use socket.io for the signalling following the idea of Luc, which made the server code even smaller and reduced it to a mere reflector :
var app = require(’http’).createServer().listen(1337) ; var io = require(’socket.io’).listen(app) ;
io.sockets.on(’connection’, function(socket)
socket.on(’message’, function(message)
socket.broadcast.emit(’message’, message) ;
) ;
) ;Then I turned to the client code. I was surprised to see the massive changes that PeerConnection has gone through. Check out my slide deck to see the different components that are now necessary to create a PeerConnection.
I was particularly surprised to see the SDP object now fully exposed to JavaScript and thus the ability to manipulate it directly rather than through some API. This allows Web developers to manipulate the type of session that they are asking the browsers to set up. I can imaging e.g. if they have support for a video codec in JavaScript that the browser does not provide built-in, they can add that codec to the set of choices to be offered to the peer. While it is flexible, I am concerned if this might create more problems than it solves. I guess we’ll have to wait and see.
I was also surprised by the need to use ICE, even though in my experiment I got away with an empty list of ICE servers – the ICE messages just got exchanged through the socket.io server. I am not sure whether this is a bug, but I was very happy about it because it meant I could run the whole demo on a completely separate network from the Internet.
The most exciting news since my talk is that Mozilla and Google have managed to get a PeerConnection working between Firefox and Chrome – this is the first cross-browser video conference call without a plugin ! The code differences are minor.
Since the specification of the WebRTC API and of the MediaStream API are now official Working Drafts at the W3C, I expect other browsers will follow. I am also looking forward to the possibilities of :
- multi-peer video conferencing like the efforts around webrtc.io,
- the media stream recording API,
- and the peer-to-peer data API.
The best places to learn about the latest possibilities of WebRTC are webrtc.org and the W3C WebRTC WG. code.google.com has open source code that continues to be updated to the latest released and interoperable features in browsers.
The video of my talk is in the process of being published. There is a MP4 version on the Linux Australia mirror server, but I expect it will be published properly soon. I will update the blog post when that happens.
-
How to compile a static FFmpeg binary on OS X
29 juillet 2014, par Chitanda_EruI want to compile a static ffmpeg binary by myself. I follow this guide, and then built one successfully.
./configure --extra-version=Chitanda_Eru --prefix=/Volumes/Chitanda_Eru/ --enable-gpl --enable-version3 --enable-nonfree --disable-shared --enable-static --enable-ffplay --disable-ffserver --enable-pthreads --enable-avisynth --enable-libvo-aacenc --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libx265 --enable-libxvid --enable-libbluray --enable-libtheora --enable-libcelt --enable-openssl --enable-libspeex --enable-postproc --enable-libvpx --enable-libgsm --enable-libopenjpeg --enable-libopus --enable-fontconfig --enable-libfreetype --enable-libass --enable-filters --disable-indev=qtkit --enable-runtime-cpudetect --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libtwolame --enable-openal --enable-libsoxr --enable-libwavpack --enable-libvidstab --enable-libilbc --enable-libschroedinger --enable-libcaca --enable-opengl --enable-frei0r --enable-libquvi
But I come across a problem, the FFmpeg binary is only 15.5MB which is much smaller than the official builds, what’s more, it can’t work on my second Mac and with errors below.
Library not loaded: /usr/local/lib/libx264.142.dylib
Referenced from: /Applications/CLI/ffmpeg
Reason: image not found
Trace/BPT trap: 5And then I use otool command to see what the dynamic libraries ffmpeg rely on.
otool -L /Applications/CLI/ffmpeg | grep local
/usr/local/lib/libSDL-1.2.0.dylib (compatibility version 12.0.0, current version 12.4.0)
/usr/local/lib/libx265.25.dylib (compatibility version 25.0.0, current version 1.2.0)
/usr/local/lib/libx264.142.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/local/lib/libvorbisenc.2.dylib (compatibility version 3.0.0, current version 3.10.0)
/usr/local/lib/libvorbis.0.dylib (compatibility version 5.0.0, current version 5.7.0)
/usr/local/lib/libogg.0.dylib (compatibility version 9.0.0, current version 9.2.0)
/usr/local/lib/libvo-aacenc.0.dylib (compatibility version 1.0.0, current version 1.3.0)
/usr/local/lib/libvidstab.0.9.dylib (compatibility version 0.9.0, current version 0.0.0)
/usr/local/lib/libtheoraenc.1.dylib (compatibility version 3.0.0, current version 3.2.0)
/usr/local/lib/libtheoradec.1.dylib (compatibility version 3.0.0, current version 3.4.0)
/usr/local/lib/libspeex.1.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libquvi.7.dylib (compatibility version 8.0.0, current version 8.1.0)
/usr/local/lib/libopus.0.dylib (compatibility version 6.0.0, current version 6.0.0)
/usr/local/lib/libopenjpeg.1.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/local/lib/libopencore-amrwb.0.dylib (compatibility version 1.0.0, current version 1.3.0)
/usr/local/lib/libopencore-amrnb.0.dylib (compatibility version 1.0.0, current version 1.3.0)
/usr/local/lib/libmp3lame.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libgsm.1.0.13.dylib (compatibility version 1.0.0, current version 1.0.13)
/usr/local/lib/libfreetype.6.dylib (compatibility version 18.0.0, current version 18.2.0)
/usr/local/lib/libfontconfig.1.dylib (compatibility version 10.0.0, current version 10.0.0)
/usr/local/lib/libfdk-aac.0.dylib (compatibility version 1.0.0, current version 1.4.0)
/usr/local/lib/libfaac.0.0.0.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/local/lib/libcaca.0.dylib (compatibility version 100.0.0, current version 100.19.0)
/usr/local/lib/libcelt0.2.dylib (compatibility version 3.0.0, current version 3.0.0)
/usr/local/lib/libbluray.1.dylib (compatibility version 8.0.0, current version 8.0.0)
/usr/local/lib/libass.5.dylib (compatibility version 6.0.0, current version 6.0.0)Most of my packages are installed by Homebrew, and Homebrew will install them with "—enable-static —enable-shared". And my guess is : when I compile ffmpeg, ffmpeg rather use the dynamic libraries than the static libraries, so the binary won’t work on other Macs.How can I build a static binary of ffmpeg ? Thanks.
update : I successfully build static ffmpeg after moving all the dylibs which have static libraries as well to other dictionary and disable all the libraries that ./configure can’t find.
./configure --extra-version=Chitanda_Eru --prefix=/Volumes/Chitanda_Eru/ --enable-gpl --enable-version3 --enable-nonfree --disable-shared --enable-static --enable-ffplay --disable-ffserver --enable-pthreads --enable-avisynth --enable-libvo-aacenc --enable-libfaac --enable-libfdk-aac --enable-libmp3lame --enable-libvorbis --enable-libx264 --enable-libxvid --enable-libtheora --enable-libcelt --enable-openssl --enable-libspeex --enable-postproc --enable-libvpx --enable-libgsm --enable-libopenjpeg --enable-filters --disable-indev=qtkit --enable-runtime-cpudetect --enable-bzlib --enable-zlib --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libvo-amrwbenc --enable-libtwolame --enable-libsoxr --enable-libwavpack --enable-libilbc --enable-opengl --enable-frei0r