Recherche avancée

Médias (29)

Mot : - Tags -/Musique

Autres articles (50)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • HTML5 audio and video support

    13 avril 2011, par

    MediaSPIP 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 2011

    MediaSPIP 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 (5940)

  • Compress video with ffmpeg4android library

    30 mars 2015, par Huy Tower

    I tried to follow ffmpeg4android library, and I get the problem when compressing the video, as the Log image below.

    I use intent to transfer to Compressing Media class,

    Intent intent = new Intent(this, CompressingMedia.class);
    intent.putExtra("file_path", mLlItems.get(0).getPath());
    startActivity(intent);

    This is the class was transfered to :

    public class CompressingMedia extends BaseWizard {

    @Override
    public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       Intent intent = getIntent();

       Log.d(Prefs.TAG, "path " + intent.getExtras().getString("file_path"));
       // /storage/emulated/0/DCIM/Camera/VID_20140312_090612.mp4

       String command = "ffmpeg -y -i " + intent.getExtras().getString("file_path") +
               " -strict experimental -s 320x240 -r 15 -aspect 3:4 -ab 12288 -vcodec mpeg4 -b 2097152 -sample_fmt s16 /sdcard/out.mp4";

       // if you want to change the default work location (/sdcard/videokit/) use the uncomment the below method.
       // It must be defined before calling the copyLicenseAndDemoFilesFromAssetsToSDIfNeeded method,
       // in order for this method to copy the assets to the correct location.
               //      setWorkingFolder("/sdcard/videokit/");

       // this will copy the license file and the demo video file.
       // to the videokit work folder location.
       // without the license file the library will not work.
       copyLicenseAndDemoFilesFromAssetsToSDIfNeeded();

       commandStr = command;
       setCommand(commandStr);

       runTranscoing();
       }
    }

    Although I received the notification Transcoding Successfully, but it looks like the capacity of file after compressing is always be 0. (the log in the bottom of images)

    I don’t know the result as image below is good or not, I can not get the expected result - The video was compressed totally successfully.

    Someone know why after compressing the file is always be 0, please tell me. Thanks.

    This is the Log Cat :

    03-13 14:49:45.655 : I/ActivityManager(6065) : Timeline :
    Activity_launch_request id:app.cloudstringers time:38212359

    03-13 14:49:45.665 : V/Home(6065) : Global ID is 000400010007 ;Sell is 3

    03-13 14:49:45.770 : D/ffmpeg4android(6065) : path
    /storage/emulated/0/videokit/out.mp4

    03-13 14:49:45.770 : I/ffmpeg4android(6065) : workingFolderPath :
    /sdcard/videokit/

    03-13 14:49:45.775 : D/ffmpeg4android(6065) : Working directory exists,
    not coping assests (license file and demo videos)

    03-13 14:49:45.785 : D/ffmpeg4android(6065) : output directory exists.

    03-13 14:49:45.785 : I/ffmpeg4android(6065) : Command is set

    03-13 14:49:45.785 : I/ffmpeg4android(6065) : set
    remoteNotificationIconId : 0

    03-13 14:49:45.785 : D/ffmpeg4android(6065) : Client Cannot unbind -
    service not bound

    03-13 14:49:45.785 : D/ffmpeg4android(6065) : Client stopService()

    03-13 14:49:45.790 : W/ContextImpl(6065) : Implicit intents with
    startService are not safe : Intent
    act=com.netcompss.ffmpeg4android.FFMpegRemoteServiceBridge

    android.content.ContextWrapper.stopService:499
    com.netcompss.ffmpeg4android_client.BaseWizard.stopService:451
    com.netcompss.ffmpeg4android_client.BaseWizard.runTranscoing:285

    03-13 14:49:45.795 : I/ffmpeg4android(6065) :
     !!!!!!!!!!!!!!!!!!services.size() : 1

    03-13 14:49:45.795 : I/ffmpeg4android(6065) : putting Base categoty

    03-13 14:49:45.810 : D/ffmpeg4android(6065) : started :
    com.netcompss.ffmpeg4android.FFMpegRemoteServiceBridge

    03-13 14:49:45.810 : D/ffmpeg4android(6065) : Client startService()

    03-13 14:49:45.810 : D/ffmpeg4android(6065) : bindService() called

    03-13 14:49:45.815 : W/ContextImpl(6065) : Implicit intents with
    startService are not safe : Intent
    act=com.netcompss.ffmpeg4android.FFMpegRemoteServiceBridge

    android.content.ContextWrapper.bindService:517
    com.netcompss.ffmpeg4android_client.BaseWizard.bindService:462
    com.netcompss.ffmpeg4android_client.BaseWizard.runTranscoing:288

    03-13 14:49:45.820 : D/ffmpeg4android(6065) : Client bindService()

    03-13 14:49:45.935 : I/ffmpeg4android(6616) : =======service onCreate() :
    Stopping forground (to overcome 2.3.x bug)

    03-13 14:49:45.935 : I/ffmpeg4android(6616) : =======service
    onBind()=======

    03-13 14:49:45.940 : I/ffmpeg4android(6616) : ===onStartCommand called

    03-13 14:49:45.940 : I/ffmpeg4android(6616) : ===onStartCommand cat :
    Base

    03-13 14:49:45.940 : D/ffmpeg4android(6616) : onStartCommand,
    START_STICKY, base Command

    03-13 14:49:45.955 : I/ffmpeg4android(6616) : get
    remoteNotificationIconId : 0

    03-13 14:49:45.955 : I/ffmpeg4android(6616) : notifIcon is set

    03-13 14:49:45.955 : I/ffmpeg4android(6616) : Start RemoteService with
    notification id : 5326

    03-13 14:49:45.965 : I/ffmpeg4android(6616) : Run called.

    03-13 14:49:45.965 : D/ffmpeg4android(6616) : Sleeping, waiting for
    command

    03-13 14:49:45.970 : D/ffmpeg4android(6065) : Client
    onServiceConnected()

    03-13 14:49:45.970 : I/ffmpeg4android(6065) : invokeService called

    03-13 14:49:45.970 : I/Videokit(6065) : licenseCheck in path :
    /sdcard/videokit

    03-13 14:49:45.970 : I/Videokit(6065) : isLicExistsComplex...

    03-13 14:49:45.970 : I/Videokit(6065) : trying to open
    /sdcard/videokit/ffmpeglicense.lic

    03-13 14:49:45.970 : I/Videokit(6065) : license file found...

    03-13 14:49:45.970 : I/Videokit(6065) : time decoded : 1394535283

    03-13 14:49:45.970 : I/Videokit(6065) : timeStrDec 1394535283 is a valid
    number.

    03-13 14:49:45.970 : I/Videokit(6065) : time diff : 161702

    03-13 14:49:45.970 : I/Videokit(6065) : You used 1 of your 15 trial
    days.

    03-13 14:49:45.970 : I/ffmpeg4android(6065) : setting remote
    notification info

    03-13 14:49:45.970 : D/ffmpeg4android(6616) : command items num : 21

    03-13 14:49:45.970 : D/ffmpeg4android(6616) : command : ffmpeg -y -i
    /storage/emulated/0/videokit/out.mp4 -strict experimental -s 320x240
    -r 15 -aspect 3:4 -ab 12288 -vcodec mpeg4 -b 2097152 -sample_fmt s16 /sdcard/out.mp4

    03-13 14:49:45.970 : D/ffmpeg4android(6616) : workingFolder from remote :
    /sdcard/videokit

    03-13 14:49:45.970 : D/ffmpeg4android(6065) : deleteing :
    /sdcard/videokit/vk.log isdeleted : true

    03-13 14:49:45.975 : D/ffmpeg4android(6065) : deleteing :
    /sdcard/videokit/ffmpeg4android.log isdeleted : false

    03-13 14:49:45.975 : D/ffmpeg4android(6065) : deleteing :
    /sdcard/videokit/videokit.log isdeleted : true

    03-13 14:49:45.980 : D/ffmpeg4android(6065) : Client invokeService()

    03-13 14:49:45.980 : D/ffmpeg4android(6065) : Acquire wake lock

    03-13 14:49:46.265 : D/ffmpeg4android(6616) : Sleeping, waiting for
    command

    03-13 14:49:46.295 : D/ffmpeg4android(6065) : TranscodeBackground
    doInBackground started

    03-13 14:49:46.295 : I/ffmpeg4android(6616) : =======remote service
    runTranscoding ======

    03-13 14:49:46.340 : V/HomeAsync(6065) : TOTAL_SPACE is
    1 ;AVAILABLE_SPACE is 0.451

    03-13 14:49:46.345 : I/ActivityManager(6065) : Timeline : Activity_idle
    id : android.os.BinderProxy@423deed8 time:38213045

    03-13 14:49:46.345 : I/ActivityManager(6065) : Timeline : Activity_idle
    id : android.os.BinderProxy@420323a0 time:38213045

    03-13 14:49:46.565 : D/dalvikvm(6616) : Trying to load lib
    /data/app-lib/app.cloudstringers-2/libvideokit.so 0x41b285f0

    03-13 14:49:46.570 : D/dalvikvm(6616) : Added shared lib
    /data/app-lib/app.cloudstringers-2/libvideokit.so 0x41b285f0

    03-13 14:49:46.570 : I/Videokit(6616) : Loading native library compiled
    at 21:59:53 Oct 23 2013

    03-13 14:49:46.575 : I/ffmpeg4android(6616) : ===============Running
    command from thread path : /sdcard/videokit

    03-13 14:49:46.575 : I/Videokit(6616) : vk ffmpeg sdcardPath :
    /sdcard/videokit

    03-13 14:49:46.575 : I/Videokit(6616) : licenseCheck in path :
    /sdcard/videokit

    03-13 14:49:46.575 : I/Videokit(6616) : isLicExistsComplex...

    03-13 14:49:46.575 : I/Videokit(6616) : trying to open
    /sdcard/videokit/ffmpeglicense.lic

    03-13 14:49:46.575 : I/Videokit(6616) : license file found...

    03-13 14:49:46.575 : I/ffmpeg4android(6616) :
    =======ProgressBackgroundRemote doInBackground=========

    03-13 14:49:46.575 : I/Videokit(6616) : time decoded : 1394535283

    03-13 14:49:46.575 : I/Videokit(6616) : timeStrDec 1394535283 is a valid
    number.

    03-13 14:49:46.575 : I/Videokit(6616) : time diff : 161703

    03-13 14:49:46.575 : I/Videokit(6616) : You used 1 of your 15 trial
    days.

    03-13 14:49:46.575 : D/Videokit(6616) : license check rc : 0

    03-13 14:49:46.575 : D/Videokit(6616) : run() called verion 2.0

    03-13 14:49:46.575 : D/Videokit(6616) : run passing off to main()

    03-13 14:49:46.800 : D/ffmpeg4android(6065) : onServiceDisconnected

    03-13 14:49:48.640 : I/ffmpeg4android(6065) : Got real duration :
    00:00:07.78

    03-13 14:49:48.640 : I/ffmpeg4android(6065) : ==== getting
    currentVkLogSize from VK

    03-13 14:49:48.640 : D/ffmpeg4android(6065) : currentVkLogSize : 5751

    03-13 14:49:48.645 : I/ffmpeg4android(6065) : No ffmpeg4android_log
    file, using vk log

    03-13 14:49:48.645 : I/line(6065) : _rate, rate, width or height

    03-13 14:49:48.650 : I/line(6065) : Statistics : 0 seeks, 0 writeouts

    03-13 14:49:48.650 : I/line(6065) : Statistics : 72873 bytes read, 2
    seeks

    03-13 14:49:48.650 : D/ffmpeg4android(6065) : currentTimeStr : exit

    03-13 14:49:48.650 : D/ffmpeg4android(6065) : ============Found one of
    the exit tokens in the log============

    03-13 14:49:48.650 : I/ffmpeg4android(6065) : onProgressUpdate : 100

    03-13 14:49:48.650 : D/ffmpeg4android(6065) : Releasing wake lock

    03-13 14:49:48.650 : D/ffmpeg4android(6065) : TranscodeBackground
    onPostExecute

    03-13 14:49:48.700 : D/ffmpeg4android(6065) : /sdcard/videokit/null
    length in bytes : 0

    03-13 14:49:48.700 : D/ffmpeg4android(6065) : showNotifications

    03-13 14:49:48.700 : W/ffmpeg4android(6065) : output file is not set use
    the setOutputFilePath method to set the full output file path

    03-13 14:49:48.705 : I/ffmpeg4android(6065) : FFMPEG finished.

    03-13 14:49:48.710 : D/ffmpeg4android(6065) : releaseService()

    03-13 14:49:48.710 : D/ffmpeg4android(6065) : Client stopService()

    03-13 14:49:48.710 : W/ContextImpl(6065) : Implicit intents with
    startService are not safe : Intent
    act=com.netcompss.ffmpeg4android.FFMpegRemoteServiceBridge

    android.content.ContextWrapper.stopService:499
    com.netcompss.ffmpeg4android_client.BaseWizard.stopService:451
    com.netcompss.ffmpeg4android_client.BaseWizard.handleServiceFinished:513

  • Video Conferencing in HTML5 : WebRTC via Socket.io

    http://mirror.linux.org.au/linux.conf.au/2013/mp4/Code_up_your_own_video_conference_in_HTML5.mp4
    5 février 2013, par silvia

    Six 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 :

    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 can I encode and segment audio files without having gaps (or audio pops) between segments when I reconstruct it ?

    16 mai 2013, par fenduru

    I'm working on a web application that requires streaming and synchronization of multiple audio files. For this, I am using the Web Audio API over HTML5 audio tags because of the importance of timing audio.

    Currently, I'm using FFMPEG's segmentation feature to encode and segment the audio files into smaller chunks. The reason I am segmenting them is so I can start streaming from the middle of the file instead of starting from the beginning (otherwise I would've just split the files using UNIX split, as shown here. The problem is that when I string the audio segments back together, I get an audio pop between segments.

    If I encode the segments using a PCM encoding (pcm_s24le) in a .wav file, the playback is seamless, which leads me to believe that the encoder is padding either the beginning or the end of the file. Since I will be dealing with many different audio files, using .wav would require far too much bandwidth.

    I'm looking to one of the following solutions to the problem :

    • How can I segment encoded audio files seamlessly,
    • How can I force an encoder to NOT pad audio frames using ffmpeg (or another utility), or
    • What is a better way to stream audio (starting at an arbitrary track time) without using an audio tag ?

    System Information

    • Custom node.js server
    • Upon upload of an audio file, node.js pipes the data into ffmpeg's encoder
    • Need to use HTML5 Web Audio API supported encoding
    • Server sends audio chunks 1 at a time through a WebSockets socket

    Thanks in advance. I've tried to be as clear as possible but if you need clarification I'd be more than willing to provide it.