
Advanced search
Other articles (21)
-
MediaSPIP Core : La Configuration
9 November 2010, byMediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes; une page spécifique à la configuration de la page d’accueil du site; une page spécifique à la configuration des secteurs;
Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques de (...) -
Personnaliser en ajoutant son logo, sa bannière ou son image de fond
5 September 2013, byCertains thèmes prennent en compte trois éléments de personnalisation : l’ajout d’un logo; l’ajout d’une bannière l’ajout d’une image de fond;
-
Librairies et logiciels spécifiques aux médias
10 December 2010, byPour un fonctionnement correct et optimal, plusieurs choses sont à prendre en considération.
Il est important, après avoir installé apache2, mysql et php5, d’installer d’autres logiciels nécessaires dont les installations sont décrites dans les liens afférants. Un ensemble de librairies multimedias (x264, libtheora, libvpx) utilisées pour l’encodage et le décodage des vidéos et sons afin de supporter le plus grand nombre de fichiers possibles. Cf. : ce tutoriel; FFMpeg avec le maximum de décodeurs et (...)
On other websites (7079)
-
How can I stream very long H.264 videos over HTTP without long startup times? (or: MOOV atom too large)
5 October 2012, by michaelI want to stream videos of public meetings that are often 10 hours long. Users will generally be starting at some point in the middle of the video and jumping around frequently.
H.264 in an MP4 container seems like the current best option for encoding streaming video (right?). But these are large files — about 1.3GB for one file — and the metadata (MOOV atom) at the beginning of the file is itself about 40MB. If I understand correctly, clients need to download the full metadata before they're able to seek within the remainder of the file. Obviously, having to download 40MB before you can start streaming is unacceptable.
(My tests of streaming have been with VLC and the HTML5 tag in Chrome.)
I'm encoding the file using avconv, and am currently providing no additional settings beyond telling it which encoders to use (x264 and libfaac). I then move the metadata to the beginning of the file using qt-faststart.
Is there a way to make the MOOV atom smaller?
If not, are there other strategies to use (e.g. is splitting long videos into several files something that's frequently done? it seems like a real pain in terms of users seeking around the whole day's video)?
Or should I be using a different codec or container?
thanks!
Here's a breakdown of the file header structure, from AtomicParsley:
Atom ftyp @ 0 of size: 32, ends @ 32
Atom moov @ 32 of size: 40157673, ends @ 40157705
Atom mvhd @ 40 of size: 108, ends @ 148
Atom iods @ 148 of size: 24, ends @ 172
Atom trak @ 172 of size: 20156304, ends @ 20156476
Atom tkhd @ 180 of size: 92, ends @ 272
Atom edts @ 272 of size: 36, ends @ 308
Atom elst @ 280 of size: 28, ends @ 308
Atom mdia @ 308 of size: 20156168, ends @ 20156476
Atom mdhd @ 316 of size: 32, ends @ 348
Atom hdlr @ 348 of size: 45, ends @ 393
Atom minf @ 393 of size: 20156083, ends @ 20156476
Atom vmhd @ 401 of size: 20, ends @ 421
Atom dinf @ 421 of size: 36, ends @ 457
Atom dref @ 429 of size: 28, ends @ 457
Atom stbl @ 457 of size: 20156019, ends @ 20156476
Atom stsd @ 465 of size: 147, ends @ 612
Atom avc1 @ 481 of size: 131, ends @ 612
Atom avcC @ 567 of size: 45, ends @ 612
Atom stts @ 612 of size: 6115608, ends @ 6116220
Atom stss @ 6116220 of size: 16960, ends @ 6133180
Atom ctts @ 6133180 of size: 5683824, ends @ 11817004
Atom stsc @ 11817004 of size: 28, ends @ 11817032
Atom stsz @ 11817032 of size: 4169724, ends @ 15986756
Atom stco @ 15986756 of size: 4169720, ends @ 20156476
Atom trak @ 20156476 of size: 20001133, ends @ 40157609
Atom tkhd @ 20156484 of size: 92, ends @ 20156576
Atom mdia @ 20156576 of size: 20001033, ends @ 40157609
Atom mdhd @ 20156584 of size: 32, ends @ 20156616
Atom hdlr @ 20156616 of size: 45, ends @ 20156661
Atom minf @ 20156661 of size: 20000948, ends @ 40157609
Atom smhd @ 20156669 of size: 16, ends @ 20156685
Atom dinf @ 20156685 of size: 36, ends @ 20156721
Atom dref @ 20156693 of size: 28, ends @ 20156721
Atom stbl @ 20156721 of size: 20000888, ends @ 40157609
Atom stsd @ 20156729 of size: 96, ends @ 20156825
Atom mp4a @ 20156745 of size: 80, ends @ 20156825
Atom esds @ 20156781 of size: 44, ends @ 20156825
Atom stts @ 20156825 of size: 9348168, ends @ 29504993
Atom stsc @ 29504993 of size: 28, ends @ 29505021
Atom stsz @ 29505021 of size: 5326296, ends @ 34831317
Atom stco @ 34831317 of size: 5326292, ends @ 40157609
Atom udta @ 40157609 of size: 96, ends @ 40157705
Atom meta @ 40157617 of size: 88, ends @ 40157705
Atom hdlr @ 40157629 of size: 33, ends @ 40157662
Atom ilst @ 40157662 of size: 43, ends @ 40157705
Atom ©too @ 40157670 of size: 35, ends @ 40157705
Atom data @ 40157678 of size: 27, ends @ 40157705
Atom free @ 40157705 of size: 8, ends @ 40157713
Atom mdat @ 40157713 of size: 1320096566, ends @ 1360254279 -
ffmpeg with Axis P1347 returns 400 Bad Request, but Axis 1357 works
3 May 2016, by steampoweredI have two cameras: an Axis P1347 and an Axis P1357.
ffmpeg
gets a400 Bad Request
on the P1347 but everything works fine with the P1357.I am able to successfully stream rtsp video using vlc from an Axis P1347 Camera using the following url:
rtsp://10.8.3.85:554/axis-media/media.amp?videocodec=h264&audio=1
However, this same url in ffmpeg gives the following for the Axis P1347 Camera:
root@ubuntu4-virtual-machine:/home/ubuntu4# ffmpeg -re -v verbose -i "rtsp://10.8.3.85:554/axis-media/media.amp?videocodec=h264&audio=1"
ffmpeg version git-2016-05-02-9fcb59c Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3
libavutil 55. 23.100 / 55. 23.100
libavcodec 57. 38.100 / 57. 38.100
libavformat 57. 35.100 / 57. 35.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 44.100 / 6. 44.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
rtsp://10.8.3.85:554/axis-media/media.amp?videocodec=h264&audio=1: Server returned 400 Bad RequestThe same ffmpeg command works great with the nearly identical Axis P1357 Camera :
root@ubuntu4-virtual-machine:/home/ubuntu4# ffmpeg -re -rtsp_transport tcp -i "rtsp://10.8.3.90:554/axis-media/media.amp?videocodec=h264&audio=1"
ffmpeg version git-2016-05-02-9fcb59c Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.8 (Ubuntu 4.8.4-2ubuntu1~14.04.1)
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3
libavutil 55. 23.100 / 55. 23.100
libavcodec 57. 38.100 / 57. 38.100
libavformat 57. 35.100 / 57. 35.100
libavdevice 57. 0.101 / 57. 0.101
libavfilter 6. 44.100 / 6. 44.100
libswscale 4. 1.100 / 4. 1.100
libswresample 2. 0.101 / 2. 0.101
libpostproc 54. 0.100 / 54. 0.100
Input #0, rtsp, from 'rtsp://10.8.3.90:554/axis-media/media.amp?videocodec=h264&audio=1':
Metadata:
title : Media Presentation
Duration: N/A, start: 0.083300, bitrate: N/A
Stream #0:0: Video: h264 (Main), yuvj420p(pc, bt709), 2592x1944 [SAR 1:1 DAR 4:3], 12 tbr, 90k tbn
Stream #0:1: Audio: aac (LC), 16000 Hz, mono, fltpObviously
rtsp
is turned on and working if vlc can display video, correct? So why does VLC work with the camera, but not ffmpeg? Note ffmpeg is installed and works correctly with a similar camera. -
#include file from library returns "file not found"
16 June 2015, by Yossi TsafarI’m getting this error from multiple .a files
'libavcodec/avcodec.h' file not found
Even though I added the library to project and also to "Library Search Paths":
$(PROJECT_DIR)/Project/Custom/RTPlayer/3rd-party/ffmpeg/lib
This is how I add it to project:
#include "libavcodec/avcodec.h"
Please someone help me what seems to be the problem?
Thanks in advance!