
Recherche avancée
Autres articles (39)
-
Use, discuss, criticize
13 avril 2011, parTalk 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. -
Keeping control of your media in your hands
13 avril 2011, parThe 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 (...) -
Organiser par catégorie
17 mai 2013, parDans MédiaSPIP, une rubrique a 2 noms : catégorie et rubrique.
Les différents documents stockés dans MédiaSPIP peuvent être rangés dans différentes catégories. On peut créer une catégorie en cliquant sur "publier une catégorie" dans le menu publier en haut à droite ( après authentification ). Une catégorie peut être rangée dans une autre catégorie aussi ce qui fait qu’on peut construire une arborescence de catégories.
Lors de la publication prochaine d’un document, la nouvelle catégorie créée sera proposée (...)
Sur d’autres sites (4557)
-
FFMPEG fails to stream from .m3u8 over HTTP
16 mars 2017, par Parsa SametFFMPEG will fail to stream from .m3u8 over HTTP. It is pointing to getting an empty playlist whilst it’s not empty. It also points to the following error sometimes :
Failed to open segment of playlist 0
.UPDATE :
The command that I use :
ffmpeg -re -i http://cdn.live.domain.tld:port/radio.stream/playlist.m3u8?wmsAuthSign=xyz -vn -codec:a libmp3lame -b:a 64k -f mp3 -content_type audio/mpeg icecast://"source":"password"@destinationIPorDomain:8000/mountPoint
Logs on macOS 10.12.3 :
ffmpeg version N-83840-gce01065-tessus Copyright (c) 2000-2017 the FFmpeg developers
built with Apple LLVM version 8.0.0 (clang-800.0.42.1)
configuration: --cc=/usr/bin/clang --prefix=/opt/ffmpeg --extra-version=tessus --enable-avisynth --enable-fontconfig --enable-gpl --enable-libass --enable-libbluray --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopus --enable-libschroedinger --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzmq --enable-version3 --disable-ffplay --disable-indev=qtkit --disable-indev=x11grab_xcb
libavutil 55. 48.100 / 55. 48.100
libavcodec 57. 82.102 / 57. 82.102
libavformat 57. 66.104 / 57. 66.104
libavdevice 57. 3.100 / 57. 3.100
libavfilter 6. 74.100 / 6. 74.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
Input #0, hls,applehttp, from 'http://cdn.live.domain.tld:port/radio.stream/playlist.m3u8?wmsAuthSign=xyz':
Duration: N/A, start: 26772.495667, bitrate: 52 kb/s
Program 0
Metadata:
variant_bitrate : 54206
Stream #0:0: Audio: aac (HE-AAC), 44100 Hz, stereo, fltp, 52 kb/s
Metadata:
variant_bitrate : 54206
Stream mapping:
Stream #0:0 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
Output #0, mp3, to 'icecast://source:password@destinationIPorDomain:8000/mountPoint':
Metadata:
TSSE : Lavf57.66.104
Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, stereo, fltp, 64 kb/s
Metadata:
variant_bitrate : 54206
encoder : Lavc57.82.102 libmp3lame
[http @ 0x7f949ad03bc0] HTTP error 404 Not Foundbits/s speed= 1x
[hls,applehttp @ 0x7f949c000000] Failed to reload playlist 0
skipping 13 segments ahead, expired from playlists
http://cdn.live.domain.tld:port/radio.stream/playlist.m3u8?wmsAuthSign=xyz: Server returned 404 Not FoundLogs - Empty Playlist - on RHEL 7 - kernel 4.8.5 :
ffmpeg version N-83691-g7f62368 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 4.8.5 (GCC) 20150623 (Red Hat 4.8.5-11)
configuration: --prefix=/root/ffmpeg_build --extra-cflags=-I/root/ffmpeg_build/include --extra-ldflags='-L/root/ffmpeg_build/lib -ldl' --bindir=/root/bin --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-libfdk_aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265
libavutil 55. 47.100 / 55. 47.100
libavcodec 57. 81.100 / 57. 81.100
libavformat 57. 66.102 / 57. 66.102
libavdevice 57. 3.100 / 57. 3.100
libavfilter 6. 74.100 / 6. 74.100
libswscale 4. 3.101 / 4. 3.101
libswresample 2. 4.100 / 2. 4.100
libpostproc 54. 2.100 / 54. 2.100
Empty playlist
http://cdn.live.domain.tld:port/radio.stream/playlist.m3u8?wmsAuthSign=xyz: End of fileAnd sometimes "Conversion Failed !" on RHEL 7 :
Duration: N/A, start: 23599.450667, bitrate: 51 kb/s
Program 0
Metadata:
variant_bitrate : 54206
Stream #0:0: Audio: aac (HE-AAC), 44100 Hz, stereo, fltp, 51 kb/s
Metadata:
variant_bitrate : 54206
Output #0, mp3, to 'icecast://"source":"password"@destinationIPorDomain:8000/mountPoint':
Metadata:
TSSE : Lavf57.66.102
Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, stereo, fltp, 64 kb/s
Metadata:
variant_bitrate : 54206
encoder : Lavc57.81.100 libmp3lame
Stream mapping:
Stream #0:0 -> #0:0 (aac (native) -> mp3 (libmp3lame))
Press [q] to stop, [?] for help
[http @ 0x41c92e0] HTTP error 404 Not Found64.1kbits/s speed=0.997x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x40965e0] HTTP error 404 Not Found51.2kbits/s speed=0.998x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x41c92e0] HTTP error 404 Not Found45.7kbits/s speed=0.999x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x40cbec0] HTTP error 404 Not Found46.5kbits/s speed=0.999x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x40cbc00] HTTP error 404 Not Found44.3kbits/s speed=0.999x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x4097300] HTTP error 404 Not Found44.0kbits/s speed= 1x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x40965e0] HTTP error 404 Not Found44.8kbits/s speed= 1x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x40cbc00] HTTP error 404 Not Found44.5kbits/s speed= 1x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x4096660] HTTP error 404 Not Found46.9kbits/s speed= 1x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x40c74e0] HTTP error 404 Not Found47.5kbits/s speed= 1x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x4096260] HTTP error 404 Not Found
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x40c7800] HTTP error 404 Not Found46.4kbits/s speed= 1x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x40c64c0] HTTP error 404 Not Found46.1kbits/s speed= 1x
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
[http @ 0x40c75a0] HTTP error 404 Not Found
[hls,applehttp @ 0x408e4e0] Failed to open segment of playlist 0
av_interleaved_write_frame(): Broken pipe 46.1kbits/s speed=0.956x
Error writing trailer of icecast://"source":"password"@destinationIPorDomain:8000/mountPoint: Broken pipe
size= 2463kB time=00:07:17.29 bitrate= 46.1kbits/s speed=0.955x
video:0kB audio:2463kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.001784%
Conversion failed! -
FFMPEG creating static video ?
10 juillet 2018, par KjellI’m using ffmpeg 4.0.1 on the latest version of MacOS. I’ve got webcam capture down, as well as creating a video from a series of images. But for some reason, when I try to do screen capture, the outputted video is a bunch of colorful static with the correct audio.
Here is the command I use :
ffmpeg -f avfoundation -i '1:0' -y -r 30 -pix_fmt yuv420p test.mp4
And here are my devices :
[AVFoundation input device @ 0x7f9924404b00] AVFoundation video devices:
[AVFoundation input device @ 0x7f9924404b00] [0] FaceTime HD Camera
[AVFoundation input device @ 0x7f9924404b00] [1] Capture screen 0
[AVFoundation input device @ 0x7f9924404b00] AVFoundation audio devices:
[AVFoundation input device @ 0x7f9924404b00] [0] Built-in MicrophoneAnd here is some of my config :
built with Apple LLVM version 9.1.0 (clang-902.0.39.2)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100Anyone have an ideas on how to fix this ?
Update with Terminal Log
I reran the terminal command, let it run for 30s, and then canceled the operation.
[12:41:40 Developer@Kjells-MacBook-Air ~/desktop]$ ffmpeg -f
avfoundation -r 30 -i "1:0" -pix_fmt yuv420p output.mov
ffmpeg version 4.0.1 Copyright (c) 2000-2018 the FFmpeg developers
built with Apple LLVM version 9.1.0 (clang-902.0.39.2)
configuration: --prefix=/usr/local/Cellar/ffmpeg/4.0.1 --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-gpl --enable-libmp3lame --enable-libx264 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma
libavutil 56. 14.100 / 56. 14.100
libavcodec 58. 18.100 / 58. 18.100
libavformat 58. 12.100 / 58. 12.100
libavdevice 58. 3.100 / 58. 3.100
libavfilter 7. 16.100 / 7. 16.100
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 1.100 / 5. 1.100
libswresample 3. 1.100 / 3. 1.100
libpostproc 55. 1.100 / 55. 1.100
[avfoundation @ 0x7fc9a4808e00] Selected pixel format (yuv420p) is not supported by the input device.
[avfoundation @ 0x7fc9a4808e00] Supported pixel formats:
[avfoundation @ 0x7fc9a4808e00] uyvy422
[avfoundation @ 0x7fc9a4808e00] yuyv422
[avfoundation @ 0x7fc9a4808e00] nv12
[avfoundation @ 0x7fc9a4808e00] 0rgb
[avfoundation @ 0x7fc9a4808e00] bgr0
[avfoundation @ 0x7fc9a4808e00] Overriding selected pixel format to use uyvy422 instead.
Input #0, avfoundation, from '1:0':
Duration: N/A, start: 116959.473833, bitrate: N/A
Stream #0:0: Video: rawvideo (UYVY / 0x59565955), uyvy422, 1366x768, 30 tbr, 1000k tbn, 1000k tbc
Stream #0:1: Audio: pcm_f32le, 44100 Hz, stereo, flt, 2822 kb/s
Stream mapping:
Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
Stream #0:1 -> #0:1 (pcm_f32le (native) -> aac (native))
Press [q] to stop, [?] for help
[libx264 @ 0x7fc9a48e4a00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7fc9a48e4a00] profile High, level 3.2
[libx264 @ 0x7fc9a48e4a00] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - 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=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mov, to 'output.mov':
Metadata:
encoder : Lavf58.12.100
Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p(progressive), 1366x768, q=-1--1, 30 fps, 15360 tbn, 30 tbc
Metadata:
encoder : Lavc58.18.100 libx264
Side data:
cpb: bitrate max/min/avg: 0/0/0 buffer size: 0 vbv_delay: -1
Stream #0:1: Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s
Metadata:
encoder : Lavc58.18.100 aac
frame= 892 fps= 30 q=-1.0 Lsize= 1907kB time=00:00:29.74 bitrate= 525.1kbits/s speed=0.991x
video:1409kB audio:465kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 1.754444%
[libx264 @ 0x7fc9a48e4a00] frame I:4 Avg QP:18.77 size:288641
[libx264 @ 0x7fc9a48e4a00] frame P:225 Avg QP:24.73 size: 790
[libx264 @ 0x7fc9a48e4a00] frame B:663 Avg QP:33.63 size: 166
[libx264 @ 0x7fc9a48e4a00] consecutive B-frames: 0.8% 0.2% 0.3% 98.7%
[libx264 @ 0x7fc9a48e4a00] mb I I16..4: 19.3% 10.7% 70.0%
[libx264 @ 0x7fc9a48e4a00] mb P I16..4: 0.6% 0.0% 0.1% P16..4: 0.4% 0.0% 0.0% 0.0% 0.0% skip:98.7%
[libx264 @ 0x7fc9a48e4a00] mb B I16..4: 0.0% 0.3% 0.0% B16..8: 1.0% 0.0% 0.0% direct: 0.0% skip:98.7% L0:58.1% L1:41.7% BI: 0.2%
[libx264 @ 0x7fc9a48e4a00] 8x8 transform intra:30.2% inter:6.9%
[libx264 @ 0x7fc9a48e4a00] coded y,uvDC,uvAC intra: 33.5% 34.9% 33.2% inter: 0.0% 0.0% 0.0%
[libx264 @ 0x7fc9a48e4a00] i16 v,h,dc,p: 10% 89% 1% 0%
[libx264 @ 0x7fc9a48e4a00] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 7% 81% 0% 0% 0% 0% 0% 0%
[libx264 @ 0x7fc9a48e4a00] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 47% 13% 2% 3% 1% 12% 1% 9%
[libx264 @ 0x7fc9a48e4a00] i8c dc,h,v,p: 65% 29% 5% 1%
[libx264 @ 0x7fc9a48e4a00] Weighted P-Frames: Y:0.0% UV:0.0%
[libx264 @ 0x7fc9a48e4a00] ref P L0: 74.7% 2.8% 20.6% 1.9%
[libx264 @ 0x7fc9a48e4a00] ref B L0: 56.2% 43.2% 0.7%
[libx264 @ 0x7fc9a48e4a00] ref B L1: 97.7% 2.3%
[libx264 @ 0x7fc9a48e4a00] kb/s:388.06
[aac @ 0x7fc9a5217400] Qavg: 252.357
Exiting normally, received signal 2.To note : I added
-pix_fmt yuv420
because without it, none of my ffmpeg output seems to be able to run via Quicktime Player. Since this is the only player I use currently, I want my output to run on this player. I noticed there is a log about switching touyvy422
, but I think this is a bug because when I manually adduyvy422
, the output cannot be opened at all. -
How to stream a screen sharing through a server
27 mai 2020, par MoazI'm trying to write an application that captures the screen of the client device and streams it (using
ffmpeg
) to anode-media-server
which publishes it as an HLS stream. The stream is then viewed with an HLS player on a web browser (in my approach I used video.js)


What I did so far :



- 

- I created a node media server using the default configurations to Remux to HLS live stream in a file called
app.js
:







const NodeMediaServer = require('node-media-server');

const config = {
 rtmp: {
 port: 1935,
 chunk_size: 60000,
 gop_cache: true,
 ping: 30,
 ping_timeout: 60
 },
 http: {
 port: 8000,
 mediaroot: './media',
 allow_origin: '*'
 },
 trans: {
 ffmpeg: '/usr/local/bin/ffmpeg',
 tasks: [
 {
 app: 'live',
 hls: true,
 hlsFlags: '[hls_time=2:hls_list_size=3:hls_flags=delete_segments]',
 dash: true,
 dashFlags: '[f=dash:window_size=3:extra_window_size=5]'
 }
 ]
 }
};

var nms = new NodeMediaServer(config)
nms.run();








- 

- I ran it with the command
node app.js
- After installing
ffmpeg
and figuring out which video and audio source I wanted to stream from, I started streaming by running the command :







ffmpeg -f avfoundation -framerate 30 -i "1:1" -c:v libx264 -preset superfast -tune zerolatency -c:a aac -ar 44100 -f flv rtmp://localhost/live/STREAM_NAME



- 

- I prepared a simple html page which uses the video.js player to play the HLS stream :








 



 <h1>Video.js Example Embed</h1>

 
 <p class="vjs-no-js">
 To view this video please enable JavaScript, and consider upgrading to a
 web browser that
 <a href="https://videojs.com/html5-video-support/" target="_blank">supports HTML5 video
 </a></p>
 
 
 <code class="echappe-js"><script src="https://vjs.zencdn.net/7.8.2/video.js"></script>

<script src="https://unpkg.com/@videojs/http-streaming/dist/videojs-http-streaming.js"></script>

 
<script>&#xD;&#xA; var player = videojs(&#x27;my_video_1&#x27;);&#xD;&#xA; player.src([{&#xD;&#xA; "type":"application/x-mpegURL",&#xD;&#xA; "src":"http://localhost:8000/live/STREAM_NAME/index.m3u8"&#xD;&#xA; }]);&#xD;&#xA; player.play();&#xD;&#xA; </script>









- 

- then I ran an http server and served this html page to prevent and origin access errors.
- when opening this html page the stream works well in Chrome (v83.0.4103.61)







BUT :



- 

-
In Firefox Developer Edition (v76.0b8 (64-bit)) the player hangs on loading and nothing is shown. It keeps loading the HLS manifest file and the .ts files but the video is not showing :

-
In Safari (v13.1) on MacOS the player never loads correctly and the following errors are printed :








I tried another video player (flv.js) which workes with http-flv streams using the following basic html page :









 <video controls="controls" autoplay="autoplay" muted="muted" width="640" height="268"></video>

 <code class="echappe-js"><script src="https://cdn.bootcss.com/flv.js/1.5.0/flv.min.js"></script>

<script>&#xD;&#xA; if (flvjs.isSupported()) {&#xD;&#xA; var videoElement = document.getElementById(&#x27;flvPlayer&#x27;);&#xD;&#xA; var flvPlayer = flvjs.createPlayer({&#xD;&#xA; type: &#x27;flv&#x27;,&#xD;&#xA; "isLive": true,&#xD;&#xA; url: &#x27;http://localhost:8000/live/STREAM_NAME.flv&#x27;&#xD;&#xA; });&#xD;&#xA; flvPlayer.attachMediaElement(videoElement);&#xD;&#xA; flvPlayer.load();&#xD;&#xA; flvPlayer.play();&#xD;&#xA; }&#xD;&#xA; </script>










- 

- It worked as expected in Chrome





BUT :



- 

-
On Firefox it plays an empty video with some noise showing the following warnings :

-
And on Safari it doesn't play at all and shows the following error : 








I also tried the same steps on IE11 and on Edge and it also didn't work (Unfortunately, I don't have any screenshots)



So my questions are : what am I doing wrong ? why didn't each approach work ? and are there other/better approaches that I can also try which helps achiving the same goal (preferably something free/open source with as least latency as possible)


- I created a node media server using the default configurations to Remux to HLS live stream in a file called