Recherche avancée

Médias (91)

Autres articles (37)

  • Use, discuss, criticize

    13 avril 2011, par

    Talk to people directly involved in MediaSPIP’s development, or to people around you who could use MediaSPIP to share, enhance or develop their creative projects.
    The bigger the community, the more MediaSPIP’s potential will be explored and the faster the software will evolve.
    A discussion list is available for all exchanges between users.

  • 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 (...)

  • De l’upload à la vidéo finale [version standalone]

    31 janvier 2010, par

    Le chemin d’un document audio ou vidéo dans SPIPMotion est divisé en trois étapes distinctes.
    Upload et récupération d’informations de la vidéo source
    Dans un premier temps, il est nécessaire de créer un article SPIP et de lui joindre le document vidéo "source".
    Au moment où ce document est joint à l’article, deux actions supplémentaires au comportement normal sont exécutées : La récupération des informations techniques des flux audio et video du fichier ; La génération d’une vignette : extraction d’une (...)

Sur d’autres sites (6228)

  • avformat_open_input crash using ffmpeg on android

    2 octobre 2019, par Timmy K

    I am writing an Android app to capture audio streams from a USB device using ffmpeg, and mux them into an m4a file. I then open the recording file to read back the audio data. The app works fine on Samsung S8 (Android 8.0) and S9 (Android 9.0). On a Moto G5+ (Android 8.1), however the app crashes inside avformat_open_input() when I try to open the recording file ; but if I restart the app and it reads the same file with the same code, it works without crashing.

    I thought maybe that I hadn’t closed the recording file properly ; or there was maybe a race condition : trying to read the file before it was written. However I have established that av_write_trailer() is called successfully and avio_closep() is called successfully before the call to avformat_open_input. I also established that the length of the file is the same just before the call to avformat_open_input() in the crash case as it is in the non-crash case.

    The code that finishes the recording :

    // AVFormatContext *mAvFormatContext
    // ...
    int ret = av_write_trailer(mAvFormatContext);
    if ( ret != 0 )
    {
       __android_log_print(ANDROID_LOG_DEBUG, "MyTag", "failed to write trailer %s", av_err2str( ret ) );
       goto fail;
    }

    ret = avio_close( mAvFormatContext->pb );
    if ( ret < 0 )
    {
       __android_log_print(ANDROID_LOG_DEBUG, "MyTag", "failed to avio_close %s", av_err2str( ret ) );
       goto fail;
    }

    avformat_free_context(mAvFormatContext);

    The call that causes a crash immediately after the above code, on a Moto 5G+ (but not Samsung S8/S9) :

    mAvFormatContext = nullptr;
    if ( (ret = avformat_open_input( &mAvFormatContext, filePath, 0, 0)) < 0 )
    {
       __android_log_print(ANDROID_LOG_DEBUG, "MyTag++", "Could not open input file '%s' error %s ", filePath, av_err2str(ret) );
       cleanup();
       return false;
    }

    Also, when the call to avformat_open_input() does not crash, there is no output in logcat from within that call. However, I’ve noticed that in the crash case there is output of what seems to be corrupted data :

    2019-09-02 09:39:14.105 19999-19999/fm.x.y D/AudioEngine: Opening '@�7���-d��@�7�' for
    2019-09-02 09:39:14.106 19999-19999/fm.x.y D/AudioEngine: Setting default whitelist '<��'
    2019-09-02 09:39:14.106 19999-19999/fm.x.y D/AudioEngine: Probing ���d score:-1828887548 size:-1093138844
    2019-09-02 09:39:14.106 19999-19999/fm.x.y D/AudioEngine: Format ��� probed with size=-1093138756 and score=-1093138748
    (crash occurs)

    Any advice on what to look into further to investigate this problem ? Is there something I am missing when cleaning up the muxing state before I try to open the recording file for demuxing ? For simplicity I have not included the freeing of codec contexts, AVFrames and AVPackets.

  • Video created via ffmpeg will not play on iPhone 10 or Huawei Android using Chrome

    17 février 2020, par MHatton

    I have created a video from a image and adding an MP3 file. It plays fine on my Moto G Android phone and on my desktop, but a collegue has said it will not play on his iPhone 10 or Huawei Android phone running Chrome.

    Does the following ffmpeg need an extra command adding to make the created MP4 more compatible across devices ?

    ffmpeg -loop 1 -i 6f4aa5dfefc4dd32186f41315ad9d1e2-0.png -i "download.mp3" -c:v libx264 -tune stillimage -c:a aac -b:a 192k -pix_fmt yuv420p -shortest aw-slide0.mp4
  • mp4 video rotation metadata removal

    6 mars 2019, par Horst Fiedler

    Using ffmpeg to remove rotate metadata works but output is little bit confusing as Metadata : rotate : 90 still appears in output section.

    ffmpeg version N-92663-g8affd75

    seems to keep rotate metadata :

    Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'vid_20190302_162804987.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       creation_time   : 2019-03-02T15:28:43.000000Z
       com.android.version: 6.0.1
     Duration: 00:00:32.40, start: 0.000000, bitrate: 17230 kb/s
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080, 17003 kb/s, SAR 1:1 DAR 16:9, 28.98 fps, 29.33 tbr, 90k tbn, 180k tbc (default)
       Metadata:
         rotate          : 90
         creation_time   : 2019-03-02T15:28:43.000000Z
         handler_name    : VideoHandle
         encoder         : MOTO
       Side data:
         displaymatrix: rotation of -90.00 degrees
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
         creation_time   : 2019-03-02T15:28:43.000000Z
         handler_name    : SoundHandle
    Output #0, mp4, to '1.mp4':
     Metadata:
       major_brand     : mp42
       minor_version   : 0
       compatible_brands: isommp42
       com.android.version: 6.0.1
       encoder         : Lavf58.24.100
       Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 17003 kb/s, 28.98 fps, 29.33 tbr, 90k tbn, 90k tbc (default)
       Metadata:
         rotate          : 90
         creation_time   : 2019-03-02T15:28:43.000000Z
         handler_name    : VideoHandle
         encoder         : MOTO
       Side data:
         displaymatrix: rotation of -0.00 degrees
       Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s (default)
       Metadata:
         creation_time   : 2019-03-02T15:28:43.000000Z
         handler_name    : SoundHandle

    but fortunatly the rotate is missing in succeeding ffmpeg (or ffprobe)