1

私のWindowsサービスは「ffmpeg」を使用し、同時にコードをテストするためのデスクトップアプリケーションを開発しています。

ビデオに透かしをインポートしたい。デスクトップアプリでそれを行うことができます。しかし、Windowsサービスを実行するとエラーが発生します。

ffmpeg version N-36635-gceb0dd9 Copyright (c) 2000-2012 the FFmpeg developers
  built on Jan  9 2012 17:39:58 with gcc 4.6.2
  configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-runtime-cpudetect --enable-avisynth --enable-bzlib --enable-frei0r --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfreetype --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
  libavutil      51. 34.100 / 51. 34.100
  libavcodec     53. 54.100 / 53. 54.100
  libavformat    53. 29.100 / 53. 29.100
  libavdevice    53.  4.100 / 53.  4.100
  libavfilter     2. 58.100 /  2. 58.100
  libswscale      2.  1.100 /  2.  1.100
  libswresample   0.  6.100 /  0.  6.100
  libpostproc    51.  2.100 / 51.  2.100
[mpeg4 @ 01CA93A0] Invalid and inefficient vfw-avi packed B frames detected
Input #0, avi, from 'C:\Apps\SabilVideoProcesser\WAITING_FOR_WATERMARK\Pixar - For the Birds.avi':
  Metadata:
    encoder         : Nandub v1.0rc2
  Duration: 00:03:16.56, start: 0.000000, bitrate: 2113 kb/s
    Stream #0:0: Video: mpeg4 (DX50 / 0x30355844), yuv420p, 720x416 [SAR 1:1 DAR 45:26], 25 fps, 25 tbr, 25 tbn, 30k tbc
    Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16, 32 kb/s
[buffer @ 02746A20] w:720 h:416 pixfmt:yuv420p tb:1/1000000 sar:1/1 sws_param:
[movie @ 02748E00] Failed to avformat_open_input 'logo.png'
Error initializing filter 'movie' with args 'logo.png'
Error opening filters!

私は時々 logo.png を変更しますが、動作せず、修正されました。何が悪いのかわかりませんか?

ffmpeg.exe を変更しようとしましたが、「http://ffmpeg.arrozcru.org/autobuilds/ffmpeg/mingw32/static/」からダウンロードしましたが、サービスを実行すると、再びエラーが発生しました。今回のエラーは違う私は狂います...

FFmpeg version SVN-r26400, Copyright (c) 2000-2011 the FFmpeg developers
  built on Jan 18 2011 04:07:05 with gcc 4.4.2
  configuration: --enable-gpl --enable-version3 --enable-libgsm --enable-libvorbis --enable-libtheora --enable-libspeex --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libopencore_amrwb --enable-libopencore_amrnb --enable-libvpx --disable-decoder=libvpx --arch=x86 --enable-runtime-cpudetect --enable-libxvid --enable-libx264 --enable-librtmp --extra-libs='-lrtmp -lpolarssl -lws2_32 -lwinmm' --target-os=mingw32 --enable-avisynth --enable-w32threads --cross-prefix=i686-mingw32- --cc='ccache i686-mingw32-gcc' --enable-memalign-hack
  libavutil     50.36. 0 / 50.36. 0
  libavcore      0.16. 1 /  0.16. 1
  libavcodec    52.108. 0 / 52.108. 0
  libavformat   52.93. 0 / 52.93. 0
  libavdevice   52. 2. 3 / 52. 2. 3
  libavfilter    1.74. 0 /  1.74. 0
  libswscale     0.12. 0 /  0.12. 0
[mpeg4 @ 003dfbd0] Invalid and inefficient vfw-avi packed B frames detected
[mpeg4 @ 003dfbd0] frame skip 8

Seems stream 0 codec frame rate differs from container frame rate: 30000.00 (30000/1) -> 25.00 (25/1)
Input #0, avi, from 'C:\Apps\SabilVideoProcesser\WAITING_FOR_WATERMARK\Pixar - For the Birds.avi':
  Metadata:
    encoder         : Nandub v1.0rc2
  Duration: 00:03:16.56, start: 0.000000, bitrate: 2113 kb/s
    Stream #0.0: Video: mpeg4, yuv420p, 720x416 [PAR 1:1 DAR 45:26], 25 fps, 25 tbr, 25 tbn, 30k tbc
    Stream #0.1: Audio: mp3, 48000 Hz, 2 channels, s16, 189 kb/s
[buffer @ 020d51b0] w:720 h:416 pixfmt:yuv420p
No such filter: 'movie'
Error opening filters!

これが私のffmpegパラメーターです。

-i "C:\Apps\SabilVideoProcesser\WAITING_FOR_WATERMARK\Pixar - For the Birds.avi" -vf "movie=logo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:10 [out]" -vcodec libx264 -acodec ac3_fixed "C:\Apps\SabilVideoProcesser\WAITING_FOR_SPLIT\inprocess_Pixar - For the Birds.avi"
4

2 に答える 2

2

問題#1:Failed to avformat_open_input 'logo.png'

2 つの別々の問題が発生しています。このメッセージFailed to avformat_open_input 'logo.png'は、おそらく ffmpeg が見つからないlogo.png(または適切にデコードできない) ことを示しています。ファイルへの絶対パスを指定するか、ffmpeg バイナリと同じディレクトリ (または Windows の言葉だと思われる「フォルダー」) に配置します。ファイルが正しい場所にある場合は、実行ffmpeg -i logo.pngして、ffmpeg でデコードできるかどうかを確認します。

問題#2:No such filter: 'movie'

2 番目のメッセージNo such filter: 'movie'は、このコマンドで使用されている ffmpeg が古すぎて、フィルタをサポートしていないか、movie. arrozcru.org のバイナリは古くなっています。Zeranoe FFmpeg ビルドは最新の状態に保たれ、正常に構成されています。先に進んで、最新のバイナリを取得する必要があります。リビジョン 36635 は、すでに少なくとも 3696 リビジョン古いものです。次に、FFmpeg をご覧ください。使用方法の概要については、究極のビデオおよびオーディオ操作ツールです。

透かしを追加する

movieとにかく、透かしを追加するためにソース フィルターは必要ありません。ffmpeg を使用してビデオの中央に透明な透かしを追加する方法の例を参照してください。

于 2012-05-04T21:26:12.550 に答える