ここに質問を投稿するのはこれが初めてなので、ご容赦ください。Ubuntu 12.04 と ffmpeg バージョン 0.11.2 を使用しています。/dev/video0 からビデオをキャプチャし、ビデオをセグメント化し、すべてのセグメントをリストする m3u8 リスト ファイルを作成しようとしています。http://ffmpeg.org/ffmpeg.html#Synopsisの ffmpeg ドキュメントによると、ffmpegは「-segment_list_flags」や「-segment_list_type」などのリスト ファイルの作成時に特定のオプションをサポートしています。ただし、これらをスクリプトに実装しようとすると、「認識されないオプション 'segment_list_flags'」または「認識されないオプション 'segment_list_type'」というエラーが表示されました。入力している実際のコマンドは次のようになります。
ffmpeg -f video4linux2 -s wvga -t ${CAPTURE_DURATION} -i "/dev/video0" \
-vcodec ${VID_CODEC} -b:v 96k -flags +loop -cmp +chroma \
-partitions +parti4x4+partp8x8+partb8x8 -subq 5 -trellis 1 -refs 1 -coder 0 \
-me_range 16 -keyint_min 25 -sc_threshold 40 -map 0 -flags -global_header \
-i_qfactor 0.71 -bt 200k -maxrate 96k -bufsize 96k -rc_eq 'blurCplx^(1-qComp)' \
-qcomp 0.6 -qmin 10 -qmax 51 -qdiff 4 -level 30 -aspect 320:240 -g 30 \
-async 2 -preset fast -crf 22 -threads 0 -sameq -f segment -segment_time ${SEG_TIME} \
-segment_list ${LOCATE}${OUTPUT}_first.m3u8 -segment_list_flags +live \
-segment_list_size ${SEG_LIST_SIZE} -segment_format ${SEG_FORMAT} -acodec libmp3lame \
-ar 4800 -ab 64k -y "${LOCATE}${OUTPUT}%01d.${EXTENSION}"
私のスクリプトの他の部分では、明らかに変数が定義されており、それらはすべて正常に動作します。-segment_list_flags オプションを実装しようとする前に、リスト ファイルを吐き出しましたが、HTTP ライブ ストリーミングに必要な正当な .m3u8 リスト ファイルではなかったことを言及しておく必要があります。作成するように指示したさまざまな ${LOCATE}${OUPUT} セグメントを順番にリストしただけです。
ターミナルでの私のコマンドの完全な出力は次のとおりです。
ffmpeg version 0.11.2 Copyright (c) 2000-2012 the FFmpeg developers
built on Sep 27 2012 13:32:44 with gcc 4.6.3
configuration: --enable-gpl --enable-gray --enable-runtime-cpudetect --enable-bzlib --enable-gnutls --enable-libass --enable-libcelt --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libcdio --enable-libdc1394 --enable-libfaac --enable-libfreetype --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libnut --enable-libopenjpeg --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-openal --enable-openssl --enable-zlib --enable-nonfree --enable-version3 --enable-x11grab
libavutil 51. 54.100 / 51. 54.100
libavcodec 54. 23.100 / 54. 23.100
libavformat 54. 6.100 / 54. 6.100
libavdevice 54. 0.100 / 54. 0.100
libavfilter 2. 77.100 / 2. 77.100
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100
[video4linux2,v4l2 @ 0x30e1e80] The V4L2 driver changed the video from 852x480 to 640x480
[video4linux2,v4l2 @ 0x30e1e80] Estimating duration from bitrate, this may be inaccurate
Input #0, video4linux2,v4l2, from '/dev/video0':
Duration: N/A, start: 10590.729975, bitrate: 110592 kb/s
Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 640x480, 110592 kb/s, 30 tbr, 1000k tbn, 30 tbc
Unrecognized option 'segment_list_flags'
Failed to set value '+live' for option 'segment_list_flags'
このエラーが発生する理由を誰かが知っている場合は、助けていただければ幸いです。たぶん、./configure からいくつかのオプションを有効にしていないのでしょうか?