Recherche avancée

Médias (2)

Mot : - Tags -/rotation

Autres articles (53)

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

  • Les autorisations surchargées par les plugins

    27 avril 2010, par

    Mediaspip core
    autoriser_auteur_modifier() afin que les visiteurs soient capables de modifier leurs informations sur la page d’auteurs

  • Des sites réalisés avec MediaSPIP

    2 mai 2011, par

    Cette page présente quelques-uns des sites fonctionnant sous MediaSPIP.
    Vous pouvez bien entendu ajouter le votre grâce au formulaire en bas de page.

Sur d’autres sites (9471)

  • FFmpeg metadata tags for YouTube 3D side-by-side movies

    17 février 2021, par Some1Else

    YouTube requires specific metadata tags for 3D Side-By-Side format movies. If the tag is not there then YouTube does not give the anaglyph playback options for the end user.

    



    Their "help" is here
https://support.google.com/youtube/answer/7278886?hl=en-GB

    



    I am trying to get FFmpeg to add the MP4 tag when building my movie.

    



    Code that works now for a series of PNG files into a MP4.

    



    "ffmpeg.exe" -framerate 60 -i "VID%05d.PNG" -c:v libx264 -preset:v veryslow -profile:v high -crf 15 -s 1280x720 -pix_fmt yuvj420p -an -y "OUTPUT.MP4"


    



    But when I add the tag from the YouTube help page

    



    "ffmpeg.exe" -framerate 60 -i "VID%05d.PNG" -c:v libx264 -preset:v veryslow -profile:v high -crf 15 -s 1280x720 -pix_fmt yuvj420p -an -y -x264opts "frame-packing=3:frame-packing-interpret=1:frame-packing-quincunx=0:frame-packing-grid=0,0,0,0" "OUTPUT.MP4"


    



    I get this error from FFmpeg

    



    [libx264 @ 0000000002a8c3a0] bad option 'frame-packing-interpret': '1'


    



    This page (ignore the proselytising)

    



    http://www.pantherdynamics.yolasite.com/panther-dynamics-blog/uploading-3dsbs-content-to-youtube

    



    says you only need to use this tag

    



    -x264opts frame-packing=3


    



    Using that does make FFmpeg finish correctly, but the SBS is still ignored by YouTube

    



    The YouTube engineer blog post here

    



    https://youtube-eng.googleblog.com/2011/09/getting-3d-content-on-youtube_8.html

    



    links to an older supposed 3D movie that also does not give 3D options any more.

    



    https://www.youtube.com/watch?v=ubRHSg5daMs

    



    So maybe even YouTube's own 3D movies are crippled ?

    



    What am I doing wrong ? Any FFmpeg gurus able to help ?

    


  • Creating an infinite MP4 with FFMPEG (not looping)

    28 décembre 2017, par ESala

    I know that mp4 streaming is a no-no, this project is just for playing with video :)

    I have an infinite h264 stream provided by a Raspberry Pi camera, and I want to wrap it in an infinite mp4 so I can watch it in a browser.

    (source) raspivid -t 0 -w 1640 -h 1232 -fps 20 -b 500000 -vf -hf -o -

    (ffmpeg) ffmpeg -r 20 -i - -vcodec copy -movflags "frag_keyframe+empty_moov" -f mp4 pipe:1

    What I do is that I pipe (source) into (ffmpeg) and then (ffmpeg) to my program which buffers, uploads to a server, authenticates, etc.

    This works fine, and I am able to watch the stream from a browser.

    PROBLEM : the problem is that (ffmpeg) stops outputting data after 6 minutes.

    When the video reaches 6:00, the (ffmpeg) command just stops writing data to itsstdout.

    I tried changing the framerate, bitrate, resolution, etc but nothing makes a difference, it always stops at 6:00.

    I checked the (source) command and it is still writing to its own stdout.

    QUESTION : Is there something that I am missing ? why does it stop writing to stdout after just 6 minutes ? is the command missing some flag to allow an infinite mp4 ?

    EDIT : added the output of -report below.

    ffmpeg started on 2017-12-26 at 19:59:13
    Report written to "ffmpeg-20171226-195913.log"
    Command line:
    ffmpeg -report -r 20 -i - -vcodec copy -movflags frag_keyframe+empty_moov -f mp4 pipe:1
    ffmpeg version git-2017-12-10-eaff5fc Copyright (c) 2000-2017 the FFmpeg developers
     built with gcc 6.3.0 (Raspbian 6.3.0-18+rpi1) 20170516
     configuration: --arch=armel --target-os=linux --enable-gpl --enable-nonfree
     libavutil      56.  5.100 / 56.  5.100
     libavcodec     58.  6.103 / 58.  6.103
     libavformat    58.  3.100 / 58.  3.100
     libavdevice    58.  0.100 / 58.  0.100
     libavfilter     7.  7.100 /  7.  7.100
     libswscale      5.  0.101 /  5.  0.101
     libswresample   3.  0.101 /  3.  0.101
     libpostproc    55.  0.100 / 55.  0.100
    Splitting the commandline.
    Reading option '-report' ... matched as option 'report' (generate a report) with argument '1'.
    Reading option '-r' ... matched as option 'r' (set frame rate (Hz value, fraction or abbreviation)) with argument '20'.
    Reading option '-i' ... matched as input url with argument '-'.
    Reading option '-vcodec' ... matched as option 'vcodec' (force video codec ('copy' to copy stream)) with argument 'copy'.
    Reading option '-movflags' ... matched as AVOption 'movflags' with argument 'frag_keyframe+empty_moov'.
    Reading option '-f' ... matched as option 'f' (force format) with argument 'mp4'.
    Reading option 'pipe:1' ... matched as output url.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option report (generate a report) with argument 1.
    Successfully parsed a group of options.
    Parsing a group of options: input url -.
    Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 20.
    Successfully parsed a group of options.
    Opening an input file: -.
    [NULL @ 0x2e7d450] Opening 'pipe:' for reading
    [pipe @ 0x2e7db70] Setting default whitelist 'crypto'
    [h264 @ 0x2e7d450] Format h264 probed with size=2048 and score=51
    [h264 @ 0x2e7d450] Before avformat_find_stream_info() pos: 0 bytes read:4096 seeks:0 nb_streams:1
    [AVBSFContext @ 0x2e8f3e0] nal_unit_type: 7, nal_ref_idc: 1
    [AVBSFContext @ 0x2e8f3e0] nal_unit_type: 8, nal_ref_idc: 1
    [AVBSFContext @ 0x2e8f3e0] nal_unit_type: 5, nal_ref_idc: 1
    [h264 @ 0x2e7fa60] nal_unit_type: 7, nal_ref_idc: 1
    [h264 @ 0x2e7fa60] nal_unit_type: 8, nal_ref_idc: 1
    [h264 @ 0x2e7fa60] nal_unit_type: 5, nal_ref_idc: 1
    [h264 @ 0x2e7fa60] Format yuv420p chosen by get_format().
    [h264 @ 0x2e7fa60] Reinit context to 1648x1232, pix_fmt: yuv420p
    [h264 @ 0x2e7fa60] nal_unit_type: 1, nal_ref_idc: 1
    [h264 @ 0x2e7fa60] nal_unit_type: 1, nal_ref_idc: 1
    [h264 @ 0x2e7fa60] nal_unit_type: 1, nal_ref_idc: 1
    [h264 @ 0x2e7fa60] nal_unit_type: 1, nal_ref_idc: 1
    [h264 @ 0x2e7fa60] nal_unit_type: 1, nal_ref_idc: 1
    [h264 @ 0x2e7fa60] nal_unit_type: 1, nal_ref_idc: 1
    [h264 @ 0x2e7d450] max_analyze_duration 5000000 reached at 5000000 microseconds st:0
    [h264 @ 0x2e7d450] After avformat_find_stream_info() pos: 395264 bytes read:397312 seeks:0 frames:127
    Input #0, h264, from 'pipe:':
     Duration: N/A, bitrate: N/A
       Stream #0:0, 127, 1/1200000: Video: h264 (High), yuv420p(progressive), 1640x1232, 25 fps, 25 tbr, 1200k tbn, 50 tbc
    Successfully opened the file.
    Parsing a group of options: output url pipe:1.
    Applying option vcodec (force video codec ('copy' to copy stream)) with argument copy.
    Applying option f (force format) with argument mp4.
    Successfully parsed a group of options.
    Opening an output file: pipe:1.
    [pipe @ 0x2e8ef70] Setting default whitelist 'crypto'
    Successfully opened the file.
    [mp4 @ 0x2e80680] Empty MOOV enabled; disabling automatic bitstream filtering
    Output #0, mp4, to 'pipe:1':
     Metadata:
       encoder         : Lavf58.3.100
       Stream #0:0, 0, 1/10240: Video: h264 (High) (avc1 / 0x31637661), yuv420p(progressive), 1640x1232, q=2-31, 25 fps, 25 tbr, 10240 tbn, 20 tbc
    Stream mapping:
     Stream #0:0 -> #0:0 (copy)
    cur_dts is invalid (this is harmless if it occurs once at the start per stream)
    [mp4 @ 0x2e80680] Timestamps are unset in a packet for stream 0. This is deprecated and will stop working in the future. Fix your code to set the timestamps properly
    frame=  140 fps=0.0 q=-1.0 size=     352kB time=00:00:06.95 bitrate= 415.4kbits/s speed=11.8x    
    frame=  152 fps=128 q=-1.0 size=     352kB time=00:00:07.55 bitrate= 382.4kbits/s speed=6.35x    
    frame=  164 fps= 94 q=-1.0 size=     352kB time=00:00:08.15 bitrate= 354.3kbits/s speed=4.69x    
    frame=  174 fps= 78 q=-1.0 size=     352kB time=00:00:08.65 bitrate= 333.8kbits/s speed=3.86x    
    .....
    frame= 7342 fps= 20 q=-1.0 size=   22381kB time=00:06:07.05 bitrate= 499.5kbits/s speed=1.02x    
    frame= 7354 fps= 20 q=-1.0 size=   22381kB time=00:06:07.65 bitrate= 498.7kbits/s speed=1.02x    
    frame= 7366 fps= 20 q=-1.0 size=   22381kB time=00:06:08.25 bitrate= 497.9kbits/s speed=1.02x

    As you can see, it stoped working at 6:08 on this run. Then it sat idle for a couple minutes and I had to kill the process.

  • Transcoding video server. FFMPEG. Queues

    2 janvier 2018, par kostia7alania

    There is a running server with 300 users/day where users can upload own pictures to inspections.
    Now need to add video share service with sharing pictures.

    Now we use :
    1) IIS 10 (yes, WINDOWS server !) ;
    2) MS SQL 2017 ;
    3) PHP 7.0.
    and : asp.net,xlt 1,C#.

    It is desirable that we use the technologies we already use.

    Now I buy one new server and want to use it for transcoding and streaming.

    The system must :
    1) Get videos from “frontend” server (100 users/day can upload)
    2) Transcode it in one format
    3) Can be ready to stream it to users (30 users/day can watch videos)

    See my little review about possible solutions —>> https://vk.com/topic-125614288_363361445

    IMAGE => Video uploading, transcoding and keeping system

    p.s. I found FFMPEG, but don’t know how it works in parallel mode.
    Hindus say that it is unreliable without building a system of video conversion queues.

    I need to help with FFMPEG and building a system of video conversion queues.

    UPD : HERE IS MY EXAMPLE CODE :

       

       
           
           
           <?php require ('dbconn.php');?>
       
           <code class="echappe-js">&lt;script src='http://stackoverflow.com/feeds/tag/js/jquery.js' type=&quot;text/javascript&quot;&gt;&lt;/script&gt;

    &lt;script src='http://stackoverflow.com/feeds/tag/js/bootstrap.js' type=&quot;text/javascript&quot;&gt;&lt;/script&gt;



    < ?php if(isset($_FILES[’file’])) $name = $_FILES[’file’][’name’] ; $extension = explode(’.’, $name) ; $extension = end($extension) ; $type = $_FILES[’file’][’type’] ; $size = $_FILES[’file’][’size’] /1024/1024 ; $random_name = rand() ; $tmp = $_FILES[’file’][’tmp_name’] ; if (empty($_POST["descript"])) $descript = "" ; else $descript = ($_POST["descript"]) ;

    if ((strtolower($type) != "video/mpg") &&
    (strtolower($type) != "video/wma") &&
    (strtolower($type) != "video/mov") &&
    (strtolower($type) != "video/flv") &&
    (strtolower($type) != "video/mp4") &&
    (strtolower($type) != "video/avi") &&
    (strtolower($type) != "video/qt") &&
    (strtolower($type) != "video/wmv") &&
    (strtolower($type) != "video/wmv") )

    $message="Video Format Not Supported !" ;
    else
    $message="Video uploaded successively !" ;
    move_uploaded_file($tmp, ’./upload/’.$random_name.’.’.$extension) ;
    //$conn->query("INSERT INTO [dbo].[videos] VALUES(’$name’,’$random_name.$extension’,’descript !’)") ;

    $SQL2 = "INSERT INTO [dbo].[videos] VALUES(’$name’,’$random_name.$extension’,’$descript’)" ;
    $RES2 = @odbc_exec( $DB, $SQL2 ) ;

     ?>
    < ?php
    echo "&lt;script type='text/javascript'&gt;alert('$descript\\n\\n$message\\n\\nUpload: $name\\nSize: $size\\nType: $type\\nStored in: uploads/$name');&lt;/script&gt;" ;
     ?>

    < ?php

     ?>

    Select a Video :



    &nbsp ;&nbsp ;&nbsp ;&nbsp ;


    List of Videos :

      < ?php //$query = $conn->query("SELECT * FROM videos") ; $SQL = "SELECT * FROM [dbo].[videos]" ; $RES = @odbc_exec( $DB, $SQL ) ; //while($row = $RES->fetch()) while($row = odbc_fetch_array($RES)) $video_id = $row[’video_id’] ;  ?>

      Click to Watch --->

      < ?php
      echo $row[’title’] ;
       ?>


      < ?php include (’video_modal.php’) ; ?>
      < ?php

       ?>

    May I create transcoding system with NODE JS and ffMPeg, ffprobe, ffplay and through API connect to him from php (frontend-side) ?