2

有时 ffmpeg 永远不会完成,从而阻止转换队列中的其他视频。是否可以在 ffmpeg 中设置某种超时,如果它没有在给定时间内完成,例如 5 分钟,它就会终止

我的命令今天看起来像这样:

 ffmpeg -i /home/tomcat/bsafevideo/1efef9daa7f5000ed83d67f6fbd0e7d9/aad5adc307c4dd7e457509423a7f3734/69451c31cd592e86138423f6849d8141 -y -r 24 -ar 22050 -f mov -vf [in]transpose=1[rt0],[rt0]scale=iw*480/ih:480[sc0],[sc0]pad=640:480:140[pd0],movie=/srv/bsafe/tomcat7/webapps/ROOT/resources/images/logo_watermark.png [wm],[pd0][wm] overlay=W-w-140:0[out] /home/tomcat/bsafevideo/1efef9daa7f5000ed83d67f6fbd0e7d9/aad5adc307c4dd7e457509423a7f3734/69451c31cd592e86138423f6849d8141.mov -ar 22050 -b 1500k -vcodec libtheora -acodec libvorbis -f ogg -vf [in]transpose=1[rt0],[rt0]scale=iw*480/ih:480[sc0],[sc0]pad=640:480:140[pd0],movie=/srv/bsafe/tomcat7/webapps/ROOT/resources/images/logo_watermark.png [wm],[pd0][wm] overlay=W-w-140:0[out] /home/tomcat/bsafevideo/1efef9daa7f5000ed83d67f6fbd0e7d9/aad5adc307c4dd7e457509423a7f3734/69451c31cd592e86138423f6849d8141.ogg -ar 22050 -vcodec libx264 -profile baseline -vf [in]transpose=1[rt0],[rt0]scale=iw*480/ih:480[sc0],[sc0]pad=640:480:140[pd0],movie=/srv/bsafe/tomcat7/webapps/ROOT/resources/images/logo_watermark.png [wm],[pd0][wm] overlay=W-w-140:0[out] /home/tomcat/bsafevideo/1efef9daa7f5000ed83d67f6fbd0e7d9/aad5adc307c4dd7e457509423a7f3734/69451c31cd592e86138423f6849d8141_mp4.mp4

更新。感谢 LordNeckBerd,您为我指明了正确的方向!

所以我现在看到它不是 ffmpeg 真正挂起的,问题是我从 linux 进程读取输入流的 java 代码将阻塞,因为 ffmpeg 永远不会返回行尾,我现在在运行命令时看到了这一点。这是阻塞线,它等待我的更多输入。

Press [q] to stop, [?] for help

所以现在这里有两个问题。首先是为什么这个特定的转换失败了,其次,如何确保 ffmpeg 没有使这个(对于我的 Java 进程)阻塞命令要求更多输入。

C:\Program Files (x86)\Console2>ffmpeg -i C:/projectsGit/bsafe-server/classes/test/bs-   base/video/ac7601e2bc3bc1545cd30ad3160f5232 -y -r 24 -ar 22050 -f mov C:/projectsGit/bsafe-server/classes/test/bs-base/video/ac7601e2bc3bc1545cd30ad3160f5232.mov -ar 22050 -b:v 1500k -vcodec libtheora -acodec libvorbis -f ogg C:/projectsGit/bsafe-server/classes/test/bs-base/video/ac7601e2bc3bc1545cd30ad3160f5232.ogg -ar 22050 -vcodec libx264 -profile:v baseline C:/projectsGit/bsafe-server/classes/test/bs-base/video/ac7601e2bc3bc1545cd30ad3160f5232_mp4.mp4
ffmpeg version N-54762-g38b701a Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 15 2013 18:47:20 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --  enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-  libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable- libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable- libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable- libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame - -enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable- libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil      52. 39.100 / 52. 39.100
libavcodec     55. 18.102 / 55. 18.102
libavformat    55. 12.102 / 55. 12.102
libavdevice    55.  3.100 / 55.  3.100
libavfilter     3. 81.101 /  3. 81.101
libswscale      2.  3.100 /  2.  3.100
libswresample   0. 17.102 /  0. 17.102
libpostproc    52.  3.100 / 52.  3.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'C:/projectsGit/bsafe-server/classes/test/bs-  base/video/ac7601e2bc3bc1545cd30ad3160f5232':
Metadata:
major_brand     : isom
minor_version   : 0
compatible_brands: isom3gp4
creation_time   : 2013-01-15 05:46:02
Duration: 00:00:10.03, start: 0.000000, bitrate: 394 kb/s
Stream #0:0(eng): Video: h264 (Baseline) (avc1 / 0x31637661), yuv420p, 640x480, 264 kb/s, SAR 65536:65536 DAR 4:3, 10.95 fps, 90k tbr, 90k tbn, 180k tbc
Metadata:
  creation_time   : 2013-01-15 05:46:02
  handler_name    : VideoHandle
Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, mono, fltp, 127 kb/s
Metadata:
  creation_time   : 2013-01-15 05:46:02
  handler_name    : SoundHandle
 [ogg @ 00000000027d7860] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
[mp4 @ 00000000027dacc0] Frame rate very high for a muxer not efficiently supporting it.
Please consider specifying a lower framerate, a different muxer or -vsync 2
[libx264 @ 0000000003e6b9c0] using SAR=1/1
[libx264 @ 0000000003e6b9c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 0000000003e6b9c0] profile High, level 3.0
[libx264 @ 0000000003e6b9c0] 264 - core 133 r2334 a3ac64b - H.264/MPEG-4 AVC codec -   Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=1 ref=3  deblock=1:0:0 analyse=0x3:0x113 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1  me_range=16 chroma_me=1 trellis=1 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip=1  chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1  interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0  direct=1 weightb=1 open_gop=0 weightp=2 keyint=250 keyint_min=24 scenecut=40  intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69  qpstep=4 ip_ratio=1.40 aq=1:1.00
[libx264 @ 00000000027db4a0] using SAR=1/1
[libx264 @ 00000000027db4a0] MB rate (108000000) > level limit (2073600)
[libx264 @ 00000000027db4a0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
[libx264 @ 00000000027db4a0] profile Constrained Baseline, level 5.2
[libx264 @ 00000000027db4a0] 264 - core 133 r2334 a3ac64b - H.264/MPEG-4 AVC codec -  Copyleft 2003-2013 - http://www.videolan.org/x264.html - options: cabac=0 ref=3  deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1  me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1  chroma_qp_offset=-2 threads=12 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1  interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250  keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=crf mbtree=1 crf=23.0  qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
Output #0, mov, to 'C:/projectsGit/bsafe-server/classes/test/bs-  base/video/ac7601e2bc3bc1545cd30ad3160f5232.mov':
Metadata:
major_brand     : isom
minor_version   : 0
compatible_brands: isom3gp4
encoder         : Lavf55.12.102
Stream #0:0(eng): Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 640x480 [SAR 1:1  DAR 4:3], q=-1--1, 12288 tbn, 24 tbc
Metadata:
  creation_time   : 2013-01-15 05:46:02
  handler_name    : VideoHandle
Stream #0:1(eng): Audio: aac (libvo_aacenc) (mp4a / 0x6134706D), 22050 Hz, mono, s16, 128 kb/s
Metadata:
  creation_time   : 2013-01-15 05:46:02
  handler_name    : SoundHandle
Output #1, ogg, to 'C:/projectsGit/bsafe-server/classes/test/bs-base/video/ac7601e2bc3bc1545cd30ad3160f5232.ogg':
Metadata:
major_brand     : isom
minor_version   : 0
compatible_brands: isom3gp4
encoder         : Lavf55.12.102
Stream #1:0(eng): Video: theora (libtheora), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=2-31, 1500 kb/s, 90k tbn, 90k tbc
Metadata:
  creation_time   : 2013-01-15 05:46:02
  handler_name    : VideoHandle
Stream #1:1(eng): Audio: vorbis (libvorbis), 22050 Hz, mono, fltp
Metadata:
  creation_time   : 2013-01-15 05:46:02
  handler_name    : SoundHandle
Output #2, mp4, to 'C:/projectsGit/bsafe-server/classes/test/bs-base/video/ac7601e2bc3bc1545cd30ad3160f5232_mp4.mp4':
Metadata:
major_brand     : isom
minor_version   : 0
compatible_brands: isom3gp4
encoder         : Lavf55.12.102
Stream #2:0(eng): Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv420p, 640x480 [SAR 1:1 DAR 4:3], q=-1--1, 90k tbn, 90k tbc
Metadata:
  creation_time   : 2013-01-15 05:46:02
  handler_name    : VideoHandle
Stream #2:1(eng): Audio: aac (libvo_aacenc) ([64][0][0][0] / 0x0040), 22050 Hz, mono, s16, 128 kb/s
Metadata:
  creation_time   : 2013-01-15 05:46:02
  handler_name    : SoundHandle
Stream mapping:
Stream #0:0 -> #0:0 (h264 -> libx264)
Stream #0:1 -> #0:1 (aac -> libvo_aacenc)
Stream #0:0 -> #1:0 (h264 -> libtheora)
Stream #0:1 -> #1:1 (aac -> libvorbis)
Stream #0:0 -> #2:0 (h264 -> libx264)
Stream #0:1 -> #2:1 (aac -> libvo_aacenc)
Press [q] to stop, [?] for help
4

0 回答 0