J'utilise OpenCV avec FFMPEG sur un Mac pour écrire une vidéo. J'ai été capable d'écrire avec succès des fichiers .avi à l'aide du code CODEC / FOURCC, FMP4. Je voudrais écrire des fichiers .mp4, cependant. Lorsque j'essaie d'écrire un fichier .mp4 à l'aide de Fourcc FMP4, j'ai cette erreur:
% x264 --help x264 core:125 Syntax: x264 [options] -o outfile infile Infile can be raw (in which case resolution is required), or YUV4MPEG (*.y4m), or Avisynth if compiled with support (no). or libav* formats if compiled with lavf support (no) or ffms support (no). Outfile type is selected by filename: .264 -> Raw bytestream .mkv -> Matroska .flv -> Flash Video .mp4 -> MP4 if compiled with GPAC support (no) Output bit depth: 8 (configured at compile time) Options: -h, --help List basic options --longhelp List more options --fullhelp List all options Example usage: Constant quality mode: x264 --crf 24 -o <output> <input> Two-pass with a bitrate of 1000kbps: x264 --pass 1 --bitrate 1000 -o <output> <input> x264 --pass 2 --bitrate 1000 -o <output> <input> Lossless: x264 --qp 0 -o <output> <input> Maximum PSNR at the cost of speed and visual quality: x264 --preset placebo --tune psnr -o <output> <input> Constant bitrate at 1000kbps with a 2 second-buffer: x264 --vbv-bufsize 2000 --bitrate 1000 -o <output> <input> Presets: --profile <string> Force the limits of an H.264 profile Overrides all settings. - baseline,main,high,high10,high422,high444 --preset <string> Use a preset to select encoding settings [medium] Overridden by user settings. - ultrafast,superfast,veryfast,faster,fast - medium,slow,slower,veryslow,placebo --tune <string> Tune the settings for a particular type of source or situation Overridden by user settings. Multiple tunings are separated by commas. Only one psy tuning can be used at a time. - psy tunings: film,animation,grain, stillimage,psnr,ssim - other tunings: fastdecode,zerolatency Frame-type options: -I, --keyint <integer or "infinite"> Maximum GOP size [250] --tff Enable interlaced mode (top field first) --bff Enable interlaced mode (bottom field first) --pulldown <string> Use soft pulldown to change frame rate - none, 22, 32, 64, double, triple, euro (requires cfr input) Ratecontrol: -B, --bitrate <integer> Set bitrate (kbit/s) --crf <float> Quality-based VBR (0-51) [23.0] --vbv-maxrate <integer> Max local bitrate (kbit/s) [0] --vbv-bufsize <integer> Set size of the VBV buffer (kbit) [0] -p, --pass <integer> Enable multipass ratecontrol - 1: First pass, creates stats file - 2: Last pass, does not overwrite stats file Input/Output: -o, --output <string> Specify output file --sar width:height Specify Sample Aspect Ratio --fps <float|rational> Specify framerate --seek <integer> First frame to encode --frames <integer> Maximum number of frames to encode --level <string> Specify level (as defined by Annex A) --quiet Quiet Mode Filtering: --vf, --video-filter <filter0>/<filter1>/... Apply video filtering to the input file Filter options may be specified in <filter>:<option>=<value> format. Available filters: crop:left,top,right,bottom select_every:step,offset1[,...]
3 Réponses :
Cela semble une ancienne question mais je vais y répondre au profit de ceux qui trébuchent dessus. Vous ne pouvez pas obtenir FFMPEG fonctionnant avec X264 à moins que vous installiez FFMPEG à partir de la source. Les installations binaires des gestionnaires de packages n'active pas les packages X264. Vous pouvez installer Binary X264 (mais vous souhaitez probablement utiliser la source pour contrôler la version de X264 que vous souhaitez être compatible avec la version appropriée de FFMPEG). P>
Pour répondre à cette question: votre installation doit d'abord installer X264, puis compiler FFMPEG avec --enable-libx264. P>
Maintenant, il y a beaucoup de guides sur la compilation de FFMPEG à partir de la source. Une recherche rapide de Google a lancé ceci: http://www.martinlos.com/?p=41 pour Mac et https://ffmpeg.org/trac/ffmpmpeg/wiki/buntucompilationguide pour Ubuntu. Je compile régulièrement de la source sur Ubuntu et je connais ces instructions au travail et que les Mac semblent bien aussi. P>
C'est beaucoup plus facile et aussi flexible pour installer FFMPEG et toutes ses dépendances à l'aide de Homebrew sur Mac: P>
http://www.renelevolution.com / HOW-TO-INSTALL-FFMPEG-ON-MAC-OS-X / P>
Pour installer FFMPEG, essayez celui qui a fonctionné pour moi: P>
Brew Installation --Build-from-source FFMPEG code> p>
Bienvenue dans le débordement de pile. Cela ne répond pas à la question. Veuillez lire le Tour et Comment faire J'écris une bonne réponse? .
Les conteneurs n'ont pas de Fourccs - uniquement des codecs et des formats de pixels à.
FMP4 code> est la vidéo MPEG-4 (PARTIE 2). Quel codec vidéo utilisez-vous? H.264 / MPEG-4 AVC serait
avc1 code> ou d'autres (voir Fourcc. org / codecs.php )
Bonjour, @slhck, c'est ma question. Quel codec vidéo dois-je utiliser lorsque vous écrivez sur un conteneur MP4? J'ai mis à jour la question pour être plus claire sur ce point. Merci.
Veuillez fournir la ligne de commande non coupée complète que vous utilisez, y compris la sortie complète. Vous êtes-vous assuré que vous avez également installé X264? (
Brew Installez x264; Brew Désinstallation FFMPEG; BREW Installez FFMPEG CODE>)
Oui, X264 est déjà installé. J'utilise OpenCV, pas FFMPEG de la ligne de commande. Mettra à jour avec l'appel complet. Merci.
J'ai également essayé d'installer GPAC, cela n'a pas changé mes résultats. Merci de votre aide.
Vous êtes peut-être intéressé à jeter un coup d'œil à Ma réponse . Il est écrit en python, mais il a été testé sur un Mac OS X. La clé est
cv_fourcc ('F', 'M', 'P', '4') code>
Toute mise à jour sur ce numéro, @sameer?