Recherche avancée

Médias (1)

Mot : - Tags -/punk

Autres articles (56)

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

  • 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

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

  • Concatenating Video Files using FFMPEG YUV issue

    3 novembre 2015, par SpoiledTechie.com

    I am concatenating three videos with FFMPEG.

    The 1st and 3rd video of the concatenation were pulled from an AVI file using FFMPEG and converted into MP4.

    Their codec information is below.

    enter image description here

    The 2nd video in the concatenation is compiled using FFMPEG. I am compiling frames with FFMPEG to create this video.

    Its codec information is below.

    enter image description here
    As you can see, the videos share the same codec, resolution and frame rate.

    The only thing they don’t share is the Decoded format. One being 4:4:4 and one being 4:2:2

    I think I understand what YUV means from this link, https://msdn.microsoft.com/en-us/library/windows/desktop/dd391027%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

    When I concatenate these three videos together, using concat demuxer, it works, but when I try to watch the final video, the video shows the first file playing just right, then the 2nd video in the final video shows up BLANK and the third video plays just fine as well.

    So my question is, how do I concat 3 MP4 files, but change what seems to be the decoded format for the 2nd video to 4:2:2. When I compile the frames, I imagine I can change the YUV format, but I don’t know how just yet.

  • FFmpeg : MD5 hash of M3U8 playlists generated from same input video with different segment durations (after applying video filter) don't match

    30 juillet 2020, par Saurabh P Bhandari

    Here are a few commands I am using to convert and transize a video in MP4 format to a M3U8 playlist.

    


    For a given input video (MP4 format), generate multiple video segments with segment duration 30 seconds.

    


    ffmpeg -loglevel error -i input.mp4 -dn -sn -an -c:v copy -bsf:v h264_mp4toannexb -copyts -start_at_zero -f segment -segment_time 30 30%03d.mp4 -dn -sn -vn -c:a copy audio.aac


    


    Apply a video filter (in this case scaling) on each segment and convert it to a M3U8 format.

    


    ls 30*.mp4 | parallel 'ffmpeg -loglevel error -i {} -vf scale=-2:144 -hls_list_size 0 {}.m3u8'


    


    Store the list of m3u8 files generated in list.txt in this format file 'segment-name.m3u8'

    


    for f in 30*.m3u8; do echo "file '$f'" >> list.txt; done


    


    Using concat demuxer, combine all segment files (which are in M3U8 format) and the audio to get one final m3u8 playlist pointing to segments with duration of 10 seconds.

    


    ffmpeg -loglevel error -f concat -i list.txt -i audio.aac -c copy -hls_list_size 0 -hls_time 10 output_30.m3u8


    



    


    I can change the segment duration in the first step from 30 seconds to 60 seconds, and compare the MD5 hash of the final M3U8 playlist generated in both the cases using this command :

    


    ffmpeg -loglevel error -i <input m3u8="m3u8" playlist="playlist" /> -f md5 -&#xA;

    &#xA;

    The MD5 hash of the output files differ, i.e., video streams of output_30.m3u8 and output_60.m3u8 are not the same.

    &#xA;

    Can anyone elaborate on this ?

    &#xA;

    (I expected the MD5 hash to be the same)

    &#xA;

  • How can several .ts files be converted to one (non-fragmented) .mp4 file using ffmpeg ?

    23 juin 2021, par verified_tinker

    Problem Description

    &#xA;

    The video player I'm using doesn't support .ts files, but it does play .mp4 files, so I'd like to use ffmpeg to convert my .ts files to .mp4 files.

    &#xA;

    Goal Solution

    &#xA;

    Use ffmpeg to download several .ts segments and transcode them into an .mp4 file that I'd load into my video player. Rinse and repeat. It'd add a delay of 10-20 seconds, but that's fine.

    &#xA;

    The trick is to do the transcoding fast enough so, by the time one .mp4 file is finished playing, the next one is available ; in other words, the transcoding should take less than a second per second of footage. Ideally, it would take significantly less than that, to account for varying processing power on different devices.

    &#xA;

    To clarify, when I say .mp4, I don't mean fragmented .mp4 files.

    &#xA;


    &#xA;

    If transcoding to some other format is faster, that might be fine, too. For example, I know the .mkv format is playable. I'm still exploring the full range of available formats.

    &#xA;

    What I've Tried

    &#xA;

    I tested transcoding 1 .ts file into an .mp4 file, and unfortunately it took about 6 seconds when the file was about 4 seconds long. That was with ffmpeg-wasm. I was hoping the JavaScript bridge might be slowing it down and that batching several .ts segments in 1 call might help.

    &#xA;

    Command

    &#xA;

    ffmpeg -i test.ts test.mp4&#xA;

    &#xA;

    Log

    &#xA;

    [info] run FS.writeFile test.ts &lt;349304 bytes binary file>&#xA;log.js:15 [info] run ffmpeg command: -i test.ts test.mp4&#xA;log.js:15 [fferr] ffmpeg version v0.9.0-2-gb11e5c1495 Copyright (c) 2000-2020 the FFmpeg developers&#xA;log.js:15 [fferr]   built with emcc (Emscripten gcc/clang-like replacement) 2.0.8 (d059fd603d0b45b584f634dc2365bc9e9a6ec1dd)&#xA;log.js:15 [fferr]   configuration: --target-os=none --arch=x86_32 --enable-cross-compile --disable-x86asm --disable-inline-asm --disable-stripping --disable-programs --disable-doc --disable-debug --disable-runtime-cpudetect --disable-autodetect --extra-cflags=&#x27;-s USE_PTHREADS=1 -I/src/build/include -O3 --closure 1&#x27; --extra-cxxflags=&#x27;-s USE_PTHREADS=1 -I/src/build/include -O3 --closure 1&#x27; --extra-ldflags=&#x27;-s USE_PTHREADS=1 -I/src/build/include -O3 --closure 1 -L/src/build/lib&#x27; --pkg-config-flags=--static --nm=llvm-nm --ar=emar --ranlib=emranlib --cc=emcc --cxx=em&#x2B;&#x2B; --objcc=emcc --dep-cc=emcc --enable-gpl --enable-nonfree --enable-zlib --enable-libx264 --enable-libx265 --enable-libvpx --enable-libwavpack --enable-libmp3lame --enable-libfdk-aac --enable-libtheora --enable-libvorbis --enable-libfreetype --enable-libopus --enable-libwebp --enable-libass --enable-libfribidi&#xA;log.js:15 [fferr]   libavutil      56. 51.100 / 56. 51.100&#xA;log.js:15 [fferr]   libavcodec     58. 91.100 / 58. 91.100&#xA;log.js:15 [fferr]   libavformat    58. 45.100 / 58. 45.100&#xA;log.js:15 [fferr]   libavdevice    58. 10.100 / 58. 10.100&#xA;log.js:15 [fferr]   libavfilter     7. 85.100 /  7. 85.100&#xA;log.js:15 [fferr]   libswscale      5.  7.100 /  5.  7.100&#xA;log.js:15 [fferr]   libswresample   3.  7.100 /  3.  7.100&#xA;log.js:15 [fferr]   libpostproc    55.  7.100 / 55.  7.100&#xA;log.js:15 [fferr] Input #0, mpegts, from &#x27;test.ts&#x27;:&#xA;log.js:15 [fferr]   Duration: 00:00:04.00, start: 10.006000, bitrate: 698 kb/s&#xA;log.js:15 [fferr]   Program 1 &#xA;log.js:15 [fferr]     Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p(progressive), 1280x720, 23.98 tbr, 90k tbn, 1411200000.00 tbc&#xA;log.js:15 [fferr]     Stream #0:1[0x101]: Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, stereo, fltp, 130 kb/s&#xA;log.js:15 [fferr] Stream mapping:&#xA;log.js:15 [fferr]   Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))&#xA;log.js:15 [fferr]   Stream #0:1 -> #0:1 (aac (native) -> aac (native))&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] using cpu capabilities: none!&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] profile High, level 3.1, 4:2:0, 8-bit&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] 264 - core 160 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=1 ref=3 deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=23 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00&#xA;log.js:15 [fferr] Output #0, mp4, to &#x27;test.mp4&#x27;:&#xA;log.js:15 [fferr]   Metadata:&#xA;log.js:15 [fferr]     encoder         : Lavf58.45.100&#xA;log.js:15 [fferr]     Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1280x720, q=-1--1, 23.98 fps, 24k tbn, 23.98 tbc&#xA;log.js:15 [fferr]     Metadata:&#xA;log.js:15 [fferr]       encoder         : Lavc58.91.100 libx264&#xA;log.js:15 [fferr]     Side data:&#xA;log.js:15 [fferr]       cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: N/A&#xA;log.js:15 [fferr]     Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 128 kb/s&#xA;log.js:15 [fferr]     Metadata:&#xA;log.js:15 [fferr]       encoder         : Lavc58.91.100 aac&#xA;log.js:15 [fferr] frame=    3 fps=0.0 q=0.0 size=       0kB time=00:00:00.38 bitrate=   1.0kbits/s dup=1 drop=0 speed=0.521x    &#xA;log.js:15 [fferr] frame=   47 fps= 27 q=0.0 size=       0kB time=00:00:02.09 bitrate=   0.2kbits/s dup=1 drop=0 speed=1.22x    &#xA;log.js:15 [fferr] frame=   57 fps= 25 q=28.0 size=       0kB time=00:00:02.51 bitrate=   0.2kbits/s dup=1 drop=0 speed=1.13x    &#xA;log.js:15 [fferr] frame=   67 fps= 24 q=28.0 size=       0kB time=00:00:02.96 bitrate=   0.1kbits/s dup=1 drop=0 speed=1.08x    &#xA;log.js:15 [fferr] frame=   77 fps= 23 q=28.0 size=       0kB time=00:00:03.37 bitrate=   0.1kbits/s dup=1 drop=0 speed=1.03x    &#xA;log.js:15 [fferr] frame=   89 fps= 23 q=28.0 size=       0kB time=00:00:03.96 bitrate=   0.1kbits/s dup=1 drop=0 speed=1.04x    &#xA;log.js:15 [fferr] frame=   96 fps= 15 q=-1.0 Lsize=      60kB time=00:00:04.01 bitrate= 122.8kbits/s dup=1 drop=0 speed=0.646x    &#xA;log.js:15 [fferr] video:55kB audio:1kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 7.249582%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] frame I:1     Avg QP:17.20  size: 31521&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] frame P:24    Avg QP:16.17  size:   735&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] frame B:71    Avg QP:27.68  size:    91&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] consecutive B-frames:  1.0%  0.0%  3.1% 95.8%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] mb I  I16..4: 26.2% 56.4% 17.4%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] mb P  I16..4:  0.1%  0.2%  0.0%  P16..4:  3.5%  0.4%  0.2%  0.0%  0.0%    skip:95.4%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] mb B  I16..4:  0.0%  0.0%  0.0%  B16..8:  1.6%  0.0%  0.0%  direct: 0.0%  skip:98.3%  L0:31.0% L1:69.0% BI: 0.0%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] 8x8 transform intra:56.5% inter:59.4%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] coded y,uvDC,uvAC intra: 17.4% 15.4% 7.5% inter: 0.2% 0.4% 0.0%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] i16 v,h,dc,p: 29% 63%  1%  7%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 51% 31% 14%  0%  2%  1%  1%  0%  1%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 45% 11%  2%  3%  2%  4%  2%  4%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] i8c dc,h,v,p: 76% 17%  6%  1%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] Weighted P-Frames: Y:0.0% UV:0.0%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] ref P L0: 89.5%  1.6%  6.7%  2.3%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] ref B L0: 38.5% 60.9%  0.6%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] ref B L1: 97.7%  2.3%&#xA;log.js:15 [fferr] [libx264 @ 0x1f5f080] kb/s:111.08&#xA;log.js:15 [fferr] [aac @ 0x1f48100] Qavg: 65536.000&#xA;log.js:15 [ffout] FFMPEG_END&#xA;log.js:15 [info] run FS.readFile test.mp4&#xA;(index):38 Time elapsed: 6345 (This one&#x27;s my own code.)&#xA;[info] run FS.readFile test.mp4&#xA;

    &#xA;

    (I'm running this on the browser. For the purposes of this question, consider the HTML player unavailable for use.)

    &#xA;


    &#xA;

    I also tested feeding the HLS live-stream URL as input to ffmpeg and outputting a single .mp4 file, but I couldn't play it until I ended the live-stream and ffmpeg finished downloading it.

    &#xA;

    This one I ran on the (Windows) PC ; not the browser.

    &#xA;

    Command

    &#xA;

    ffmpeg -i https://stream.mux.com/lngMYGqNpHhYg2ZXqpH8WODVGzuenaZuhckdyunGpzU.m3u8 -acodec copy -bsf:a aac_adtstoasc -vcodec copy out.mp4&#xA;

    &#xA;

    Log

    &#xA;

    The log is too large and StackOverflow won't let me paste it here, so I uploaded it to PasteBin : https://pastebin.com/FqvPQ1DZ

    &#xA;