
Recherche avancée
Autres articles (67)
-
La sauvegarde automatique de canaux SPIP
1er avril 2010, parDans le cadre de la mise en place d’une plateforme ouverte, il est important pour les hébergeurs de pouvoir disposer de sauvegardes assez régulières pour parer à tout problème éventuel.
Pour réaliser cette tâche on se base sur deux plugins SPIP : Saveauto qui permet une sauvegarde régulière de la base de donnée sous la forme d’un dump mysql (utilisable dans phpmyadmin) mes_fichiers_2 qui permet de réaliser une archive au format zip des données importantes du site (les documents, les éléments (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir -
L’utiliser, en parler, le critiquer
10 avril 2011La première attitude à adopter est d’en parler, soit directement avec les personnes impliquées dans son développement, soit autour de vous pour convaincre de nouvelles personnes à l’utiliser.
Plus la communauté sera nombreuse et plus les évolutions seront rapides ...
Une liste de discussion est disponible pour tout échange entre utilisateurs.
Sur d’autres sites (11068)
-
Cannot get first frames using avformat_seek_file
14 octobre 2015, par JonesVI want to seek for an arbitrary frame in a video using
libav
. More precisely, using the functionavformat_seek_file
, which apparently usesav_seek_frame
internally.I want to make a backward search (i.e. to get the closest possible frame before the one I seek), so that I can then go forward until I find precisely the one I want. For this, I use the function as follows :
avformat_seek_file(..., ...,
std::numeric_limits::min(),
target_pts,
target_pts,
...);Which means that I don’t have any tolerance about finding a frame that comes after my target_pts, but I am happy with any frame coming before.
I am using the Big Buck Bunny videos for testing. Using the 480p H.264 video, I can seek any
pts
without problems. But using the 480p OGG video, I can’t. Actually, I can seek for any frame afterpts = 73
, but not before. Seeking forpts = 0
sets the video topts = 73
.One might think that the stream actually begins at
pts = 73
, but this is not what<stream>.start_time</stream>
returns. Moreover, if I only load the video and read the frames in order, I can get the first 73 frames without any problem. The issue is that I can never come back to one of those frames by usingavformat_seek_file
.Last point : if I use the flag
AVSEEK_FLAG_ANY
, then it works. But that might result in me decoding only a part of the frame I want, which is not a solution for me.Can anybody explain this weird behavior ?
-
How can I detect ffmpeg vs libav in CMake ?
19 décembre 2015, par Scott LambMy project uses libavformat to connect to
rtsp://
URLs. It’s important that it set a socket timeout and reconnect on error. Unfortunately, thestimeout
open option for this only exists in ffmpeg (and in particular, its libavformat versions >= 55.1.100), not the competing project libav (any version). And some systems I’d like to support (such as Raspbian Jessie) are still bundled with libav.So, I think my best option is to detect whether I have a suitable version using cmake, and install ffmpeg in-tree if not. I think I should be able to do this via something like :
pkg_check_modules(FFMPEG libavutil libavcodec libavformat)
if(not FFMPEG_FOUND or FFMPEG_VERSION VERSION_LESS 55.1.101)
ExternalProject_Add(
FfmpegProject
URL "http://ffmpeg.org/releases/ffmpeg-2.8.3.tar.xz"
URL_HASH "SHA1=a6f39efe1bea9a9b271c903d3c1dcb940a510c87"
INSTALL_COMMAND "")
...set up flags and such to use this in-tree version...
endif()except that I don’t know how to detect libav vs ffmpeg. I don’t see anything in the pkgconfig stuff or
libavformat/version.h
to distinguish them. The version numbers they use seem to overlap. It’s not obvious to me at all how to tell the difference programmatically, much less do so with a not-weird cmake rule. Any ideas ? -
FFmpeg multibirate encoding live stream
10 août 2017, par Pat-riceWe are doing multi-bitrate encoding to serve adaptive streaming.
We are using the following command :ffmpeg -fflags +genpts -vsync 2 -re -f live_flv -c:v h264_cuvid -i input.mp4 -c:a aac -vsync 2 -c:v h264_nvenc -s 854x480 -f flv rtmp://output_480p -c:a aac -vsync 2 -c:v h264_nvenc -s 284x160 -f flv rtmp://output_160p -c:a aac -vsync 2 -c:v h264_nvenc -s 1280x720 -f flv rtmp://output_720p -c:a aac -vsync 2 -c:v h264_nvenc -s 640x360 -f flv rtmp://output_360p
We had multiple version of this command, now we are trying to use the GPU as much as possible (h264_cuvid to decode and h264_nvenc to encode).
Our problem is that, sometimes, randomly, one or many output is audio only with no video frames (black screen). We had the same bug using CPU only.
After investigation the input audio/video frames seems to be not synchronized. The weird thing is that we are always using the same input file (Sintel) and the bug is still happening. The input is sent via rtmp.
The optionvsync 2
seems to be a bit more reliable than the default one, but it’s still happening. What would be the best strategy to synchronize audio and video frames based on timestamps (or smth else) ?Also is it better to set a frame size or a bitrate to generate a desired quality ?