
Recherche avancée
Médias (1)
-
Revolution of Open-source and film making towards open film making
6 octobre 2011, par
Mis à jour : Juillet 2013
Langue : English
Type : Texte
Autres articles (74)
-
Des sites réalisés avec MediaSPIP
2 mai 2011, parCette 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. -
Support audio et vidéo HTML5
10 avril 2011MediaSPIP 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 (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP 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 (...)
Sur d’autres sites (7458)
-
Parse dynamic mpd file with Media Source Extensions
17 février 2023, par FrankCI just started learning about adaptive streaming, and currently I'm working on a project that needs showing a live video. In order to control some of the elements in mpd file, I determined to use MSE instead of dash.js. I refer to the code at the following URL :https://learn.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/samples/dn551368(v=vs.85)
But I found out that there is no "Initialization" tag or "range" attribute in my mpd file. I don't find any relative attribute as well. By the way I'm use nginx-rtmp + ffmpeg to generate dash file.
So here is my dash file looks like


<?xml version="1.0"?>
 
 <period start="PT0S">
 
 
 
 <segmenttimeline>
 <s t="0" d="10000"></s>
 <s t="10000" d="10000"></s>
 <s t="20000" d="5000"></s>
 <s t="25000" d="10000"></s>
 </segmenttimeline>
 
 
 
 </period>




My question is :
1.Did I have any missing parameters in using ffmpeg or nginx-rtmp resulting in losting tag in mpd file ?
2.Or there is other way to setup "Initialization"/"range" attribute and let my program work ?
3.I also curious about why my mpd file doesn't have a baseURL element ?


※My mpd file works fine with dash.js, I can see the video properly


THANKS A LOT


-
I want to record my computer screen and stream it to other computer browser over same network
25 décembre 2022, par Abdullah QasimI am using Flask for this purpose. I wanted to create a rtmp server that stream the screen in web browser.


My Python Code is :


import os
import subprocess

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/')
def index():
 return render_template('index.html')

if __name__ == '__main__':
 # Start the RTMP server in a separate process
 subprocess.Popen(['ffmpeg', '-f', 'gdigrab', '-framerate', '25', '-probesize', '100000000000', '-i', 'desktop', '-vcodec', 'libx264', '-preset', 'ultrafast', '-tune', 'zerolatency', '-f', 'flv', 'rtmp://localhost:5000/live/stream_name'])

 # Start the Flask app
 app.run()




My HTML code is :



 
 
 
 <code class="echappe-js"><script src="https://unpkg.com/video.js/dist/video.js"></script>

 
 
 
<script>&#xA; var player = videojs(&#x27;my-video&#x27;);&#xA; </script>

 




When I run the flask app it produces an error :


* Serving Flask app 'server' (lazy loading)
 * Environment: production
 WARNING: This is a development server. Do not use it in a production deployment.
 Use a production WSGI server instead.
 * Debug mode: off
ffmpeg version N-109449-gb92260f70a-20221223 Copyright (c) 2000-2022 the FFmpeg developers
 built with gcc 12.2.0 (crosstool-NG 1.25.0.90_cf9beb1)
 configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-libxml2 --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-lzma --enable-fontconfig --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable-avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --disable-libfdk-aac --enable-ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable-libkvazaar --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-lv2 --disable-libmfx --enable-libvpl --enable-openal --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable-librubberband --enable-schannel --enable-sdl2 --enable-libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable-libuavs3d --disable-libdrm --disable-vaapi --enable-libvidstab --enable-vulkan --enable-libshaderc --enable-libplacebo --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-ldflags=-pthread --extra-ldexeflags= --extra-libs=-lgomp --extra-version=20221223
 libavutil 57. 43.100 / 57. 43.100
 libavcodec 59. 55.103 / 59. 55.103
 libavformat 59. 34.102 / 59. 34.102
 libavdevice 59. 8.101 / 59. 8.101
 libavfilter 8. 53.100 / 8. 53.100
 libswscale 6. 8.112 / 6. 8.112
 libswresample 4. 9.100 / 4. 9.100
 libpostproc 56. 7.100 / 56. 7.100
 * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
[gdigrab @ 00000134692d9cc0] Capturing whole desktop as 1280x1024x32 at (0,0)
Input #0, gdigrab, from 'desktop':
 Duration: N/A, start: 1671986678.012939, bitrate: 1048586 kb/s
 Stream #0:0: Video: bmp, bgra, 1280x1024, 1048586 kb/s, 25 fps, 25.08 tbr, 1000k tbn
127.0.0.1 - - [25/Dec/2022 21:44:39] code 400, message Bad request version ('û\x9beùSØHãEieÐ×kbz\x84ã^\x9dÚ½\x8bCðúÚîE\x8cßYë×s\x92.')
127.0.0.1 - - [25/Dec/2022 21:44:39] "♥ |☻÷xU▲Ϋ▲6/Åp²fÔ☻ a↑¢.6Õü+c)Â.çÇɰµ³Eߨ9ê;Èy ►hBZ¡↨LµrXÏëâM¤.Äÿ{@o↑É[ýÐNäo2¶¤{ö°RTâZ驨´ÅIonׯ¶¼ÈAiæ>7/þ↑m¨Q8bů޵¡!wâÙâÄt±õ§ð² ®
 ·×«2ùðT«{ ý?ò¸ö$¬pòpów4êñOf¬=dâ2♣D¤B ¤↓▲ôm<·-/"CÑu*A&2Öj uõÓ☻ô\ß+ŧ«ø↑1☺Φúì\yª~Ç↑▲¤Yín
eîÔioPþ♣ü Mí▲^ôüdÕ{∟¶¶jE▼j♦1VÒYW×▼©Àñ_K|÷¶Ã}¦ ↑a↔;☻ÿ|É@8u7Ó8.AkÕuwMùÊ÷H5!PÎÐÛ´▼Ãdá~5iã
▬e
ûùSØHãEieÐ×kbz
 ã^CðúÚîEßYë×s." 400 -
[rtmp @ 000001346ae35180] Cannot read RTMP handshake response
rtmp://localhost:5000/live/stream_name: End of file



I have searched on internet to fix this error but did not got any help.


-
How to preserve data stream with none codec from a video while compressing it using ffmpeg ?
5 octobre 2022, par rj_7I'm using the following command to compress a video of size 1.5GB to 80 MB.


ffmpeg -i input.mp4 -copy_unknown -map_metadata 0 -c copy -c:v h264 -b:v 5000k -c:a aac -b:a 48k -map 0:v -map 0:a -map 0:d output.mp4



The problem I'm facing is - it doesn't copy the data stream to the output video even when I explicitly mention it via mapping. If I don't use the -map options for each kind of stream, it just process the video and audio as expected. But I also want the data stream in my output video.


The logs for the above command are -


ffmpeg version 4.2.2 Copyright (c) 2000-2019 the FFmpeg developers
 built with gcc 9.2.1 (GCC) 20200122
 configuration: --disable-static --enable-shared --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
 libavutil 56. 31.100 / 56. 31.100
 libavcodec 58. 54.100 / 58. 54.100
 libavformat 58. 29.100 / 58. 29.100
 libavdevice 58. 8.100 / 58. 8.100
 libavfilter 7. 57.100 / 7. 57.100
 libswscale 5. 5.100 / 5. 5.100
 libswresample 3. 5.100 / 3. 5.100
 libpostproc 55. 5.100 / 55. 5.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000022581bc0f80] stream 0, timescale not set
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
 Metadata:
 major_brand : mp42
 minor_version : 0
 compatible_brands: mp42mp41isomiso2
 creation_time : 2021-09-16T16:10:08.000000Z
 artist : AnafiThermal-H006560
 title : Thu, 16 Sep 2021 09:10:08 -0700
 date : 2021-09-16T09:10:08-07:00
 make : Parrot
 model : AnafiThermal
 encoder : PI040445AC0H006560
 location : +33.67128695-117.61610583+415.50/
 com.apple.quicktime.artist: AnafiThermal-H006560
 com.apple.quicktime.title: Thu, 16 Sep 2021 09:10:08 -0700
 com.apple.quicktime.creationdate: 2021-09-16T09:10:08-07:00
 com.apple.quicktime.make: Parrot
 com.apple.quicktime.model: AnafiThermal
 com.apple.quicktime.software: 1.8.0
 com.apple.quicktime.location.ISO6709: +33.67128695-117.61610583+415.50/
 com.parrot.model.id: 0919
 com.parrot.serial: PI040445AC0H006560
 com.parrot.build.id: anafi-thermal-1.8.0
 com.parrot.run.date: 2021-09-16T09:04:29-07:00
 com.parrot.run.id: 0B3D536B2F1A425EFA8978850B4C2C71
 com.parrot.boot.id: 992D5FBA74A04BA5077C3FCA3BE9C707
 com.parrot.video.mode: Standard
 Duration: 00:02:05.49, start: 0.000000, bitrate: 100391 kb/s
 Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160 [SAR 1:1 DAR 16:9], 99998 kb/s, 29.98 fps, 29.97 tbr, 30k tbn, 59.94 tbc (default)
 Metadata:
 creation_time : 2021-09-16T16:10:08.000000Z
 handler_name : DefaultVideo
 Stream #0:1(eng): Data: none (mett / 0x7474656D), 27 kb/s (default)
 Metadata:
 creation_time : 2021-09-16T16:10:08.000000Z
 handler_name : ParrotVideoMetadata
 Stream #0:2(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 384 kb/s (default)
 Metadata:
 creation_time : 2021-09-16T16:10:08.000000Z
 handler_name : DefaultAudio
 Stream #0:3: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 320x180 [SAR 1:1 DAR 16:9], 90k tbr, 90k tbn, 90k tbc (attached pic)
Stream mapping:
 Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
 Stream #0:3 -> #0:1 (mjpeg (native) -> h264 (libx264))
 Stream #0:2 -> #0:2 (aac (native) -> aac (native))
 Stream #0:1 -> #0:3 (copy)
Press [q] to stop, [?] for help
[mp4 @ 0000022581c5e280] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
[libx264 @ 0000022582975a00] using SAR=1/1
[libx264 @ 0000022582975a00] MB rate (21600000) > level limit (16711680)
[libx264 @ 0000022582975a00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0000022582975a00] profile High, level 6.2, 4:2:0, 8-bit
[libx264 @ 0000022582975a00] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - 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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=5000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[libx264 @ 000002258241c980] using SAR=1/1
[libx264 @ 000002258241c980] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 000002258241c980] profile High, level 5.1, 4:2:0, 8-bit
[libx264 @ 000002258241c980] 264 - core 159 - H.264/MPEG-4 AVC codec - Copyleft 2003-2019 - 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=12 lookahead_threads=2 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=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=5000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[mp4 @ 0000022581c5e280] Could not find tag for codec h264 in stream #1, codec not currently supported in container
Could not write header for output file #0 (incorrect codec parameters ?): Invalid argument
Error initializing output stream 0:0 --
[libx264 @ 000002258241c980] final ratefactor: 25.51
[libx264 @ 0000022582975a00] final ratefactor: 73.59
[aac @ 00000225829747c0] Qavg: 63100.754
[aac @ 00000225829747c0] 2 frames left in the queue on closing
Conversion failed!



I've also tried mapping the streams via number, that doesn't work either (shows same logs as above).


ffmpeg -i input.mp4 -copy_unknown -map_metadata 0 -c copy -c:v h264 -b:v 5000k -c:a aac -b:a 48k -map 0:0 -map 0:1 -map 0:2 output.mp4



So, essentially my question is - How to preserve data stream (packed) with none codec from a video while compressing it using ffmpeg ?