Advanced search

Medias (2)

Tag: - Tags -/documentation

Other articles (9)

  • Contribute to documentation

    13 April 2011

    Documentation is vital to the development of improved technical capabilities.
    MediaSPIP welcomes documentation by users as well as developers - including: critique of existing features and functions articles contributed by developers, administrators, content producers and editors screenshots to illustrate the above translations of existing documentation into other languages
    To contribute, register to the project users’ mailing (...)

  • Keeping control of your media in your hands

    13 April 2011, by

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

  • Installation en mode ferme

    4 February 2011, by

    Le mode ferme permet d’héberger plusieurs sites de type MediaSPIP en n’installant qu’une seule fois son noyau fonctionnel.
    C’est la méthode que nous utilisons sur cette même plateforme.
    L’utilisation en mode ferme nécessite de connaïtre un peu le mécanisme de SPIP contrairement à la version standalone qui ne nécessite pas réellement de connaissances spécifique puisque l’espace privé habituel de SPIP n’est plus utilisé.
    Dans un premier temps, vous devez avoir installé les mêmes fichiers que l’installation (...)

On other websites (3910)

  • What are good settings for transcoding videos uploaded to my app?

    14 May 2020, by Dmitry Minkovsky

    I am working on an app that allows users to share videos. The problem is that many videos are very high bitrate. For example, A 4-minute H264 video from an old iPhone is encoded at 1080p and runs 17,000 kb/s ( 500 megabytes). Accepting and distributing such videos at this bitrate/resolution is not practical for a social application.

    



    I have been playing with ffmpeg to transcode videos to smaller sizes and higher compression, but have not achieved acceptable results. For example:

    



    ffmpeg \
    -i in.mov \
    -vf scale=w='if(gt(iw\,ih)\,780\,-2)':h='if(gt(iw\,ih)\,-2\,780)' \ 
    -c:v libx264 \
    -crf 28 \
    -preset medium \
    -pix_fmt yuv420p \
    -movflags +faststart \
    out.mp4


    



    This command transcodes the above-mentioned 500MB file down to 70MB. It scales the larger dimension of the video to 780 pixels and compresses the video quite a bit. The results are okay, but the file is still large.

    



    Taking the longer dimension down to 480 pixels, the file is reduced to 40MB. Still quite large, and now significantly degraded. Also, the transcoding still takes quite a long time: about 1-1.5x on my 4 year old i7 Macbook Pro with 16GB RAM.

    



    I'm not sure how to improve on this. H265 is not supported in browsers. I am wondering:

    



      

    • How can I reduce size further?
    • 


    • How can I transcode faster than 1x without significantly reducing quality? Even 2-3x doesn't seem great?
    • 


    



    Is this as good as it gets?

    


  • ffmpeg: Continiously encode and append base64 data chunks into output file

    11 February 2021, by O.O

    I have a .mov file thats being written into by my iphone cam saved as input.mov and I have a script that's reading the currently updating file and I am trying to encode the video and audio codec into a .mkv container.

    


    I have little knowledge of this tool, but looking at similar Q/A's around ffmpeg usage I have found little on using base64 as input. But it is documented by ffmpeg for images, so I assume it is possible and I have also used data:video/mp4 since these file types are very similar.

    


    I have:

    


    const ifRecordingStream = await fs.readStream('input.mov', 'base64', 4095);
ifRecordingStream.open();

ifRecordingStream.onData((chunk) => 
    execute(`ffmpeg -f concat -i "data:video/mp4;base64,${chunk} -c:v h264 -c:a aac output.mkv")
);


    


    onData() currently throws Line {}: unknown keyword {}

    


    Is my command wrong?

    


    ffmpeg -f concat -i "data:video/mp4;base64,${chunk}" -c:v h264 -c:a aac output.mkv

    


    Any help at all is welcomed.

    


  • ffmpeg stream video file from ubuntu to youtube

    14 March 2018, by user3010452

    I’m trying to create a stream to youtube. I could see how preview button changes into enable state. However it never actually changes from offline.
    And it gives me several error. What am I doing wrong?

        ffmpeg -i video.flv -f flv rtmp://a.rtmp.youtube.com/live2/XXXXXX


     ffmpeg version 2.8.11-0ubuntu0.16.04.1 Copyright (c) 2000-2017 the FFmpeg developers

         built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
         configuration: --prefix=/usr --extra-version=0ubuntu0.16.04.1 --build-suffix=-ffmpeg --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --cc=cc --cxx=g++ --enable-gpl --enable-shared --disable-stripping --disable-decoder=libopenjpeg --disable-decoder=libschroedinger --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-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --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-libxvid --enable-libzvbi --enable-openal --enable-opengl --enable-x11grab --enable-libdc1394 --enable-libiec61883 --enable-libzmq --enable-frei0r --enable-libx264 --enable-libopencv
         libavutil      54. 31.100 / 54. 31.100
         libavcodec     56. 60.100 / 56. 60.100
         libavformat    56. 40.101 / 56. 40.101
         libavdevice    56.  4.100 / 56.  4.100
         libavfilter     5. 40.101 /  5. 40.101
         libavresample   2.  1.  0 /  2.  1.  0
         libswscale      3.  1.101 /  3.  1.101
         libswresample   1.  2.101 /  1.  2.101
         libpostproc    53.  3.100 / 53.  3.100
       Input #0, flv, from 'video.flv':
         Metadata:
           major_brand     : qt  
           minor_version   : 0
           compatible_brands: qt  
           com.apple.quicktime.creationdate: 2017-07-20T21:44:12+0700
           com.apple.quicktime.make: Apple
           com.apple.quicktime.model: iPhone 6s Plus
           com.apple.quicktime.software: 10.3.2
           encoder         : Lavf57.83.100
         Duration: 00:01:15.24, start: 0.000000, bitrate: 4454 kb/s
           Stream #0:0: Video: flv1, yuv420p, 1920x1080, 200 kb/s, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc
           Stream #0:1: Audio: adpcm_swf, 44100 Hz, mono, s16, 176 kb/s
       Output #0, flv, to 'rtmp://a.rtmp.youtube.com/XXXXXX':
         Metadata:
           major_brand     : qt  
           minor_version   : 0
           compatible_brands: qt  
           com.apple.quicktime.creationdate: 2017-07-20T21:44:12+0700
           com.apple.quicktime.make: Apple
           com.apple.quicktime.model: iPhone 6s Plus
           com.apple.quicktime.software: 10.3.2
           encoder         : Lavf56.40.101
           Stream #0:0: Video: flv1 (flv) ([2][0][0][0] / 0x0002), yuv420p, 1920x1080, q=2-31, 200 kb/s, 29.97 fps, 1k tbn, 29.97 tbc
           Metadata:
             encoder         : Lavc56.60.100 flv
           Stream #0:1: Audio: mp3 (libmp3lame) ([2][0][0][0] / 0x0002), 44100 Hz, mono, s16p
           Metadata:
             encoder         : Lavc56.60.100 libmp3lame
       Stream mapping:
         Stream #0:0 -> #0:0 (flv1 (flv) -> flv1 (flv))
         Stream #0:1 -> #0:1 (adpcm_swf (native) -> mp3 (libmp3lame))
       Press [q] to stop, [?] for help
       [flv @ 0x162bac0] Failed to update header with correct duration.ate=4125.4kbits/s    
       [flv @ 0x162bac0] Failed to update header with correct filesize.
       frame= 2255 fps=114 q=31.0 Lsize=   37863kB time=00:01:15.24 bitrate=4122.0kbits/s    
       video:37194kB audio:588kB subtitle:0kB other streams:0kB global

    headers:0kB mixing overhead: 0.213941%