我有一些文件在jwplayer中播放时播放已损坏。 使用FFMpeg将文件编码为h.264,并且其他文件的编码方式相同。
目前我们只使用播放器的Flash版本。
这个问题在我们升级到FFMpeg之后就开始出现了,所以我没有排除它可能是编码错误。
用于运行FFMpeg的命令是:
ffmpeg
-i /home/ftp/1c8f08b7d0d9e7fa4b24066156ad50bc981497a0.mov
-vcodec libx264
-preset ultrafast
-profile baseline
-acodec libfaac
-ab 96k
-crf 19
-vf movie="/home/adam/logo.png [watermark]; [in][watermark] overlay=main_w-overlay_w-10:main_h-overlay_h-10 [out]"
-y /home/ftp/1c8f08b7d0d9e7fa4b24066156ad50bc981497a0.flv
我绝不是FFMpeg命令行的专家,所以请随时指出任何错误。
FFMpeg信息:
ffmpeg version git-2012-05-02-2330eb1 Copyright (c) 2000-2012 the FFmpeg developers
built on May 3 2012 08:51:25 with gcc 4.4.3
configuration: --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree --enable-version3 --enable-x11grab
libavutil 51. 49.100 / 51. 49.100
libavcodec 54. 17.101 / 54. 17.101
libavformat 54. 3.100 / 54. 3.100
libavdevice 53. 4.100 / 53. 4.100
libavfilter 2. 72.103 / 2. 72.103
libswscale 2. 1.100 / 2. 1.100
libswresample 0. 11.100 / 0. 11.100
libpostproc 52. 0.100 / 52. 0.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x24300e0] max_analyze_duration 5000000 reached at 5187000
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/home/ftp/javarecorder/1c8f08b7d0d9e7fa4b24066156ad50bc981497a0.mov':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2012-05-16 08:19:41
Duration: 00:13:33.00, start: 0.000000, bitrate: 2164 kb/s
Stream #0:0(eng): Video: qtrle (rle / 0x20656C72), rgb24, 1366x768, 1457 kb/s, 8.43 fps, 1k tbr, 1k tbn, 1k tbc
Metadata:
creation_time : 2012-05-16 08:19:41
handler_name : Apple Alias Data Handler
Stream #0:1(eng): Audio: pcm_s16be (twos / 0x736F7774), 44100 Hz, 1 channels, s16, 705 kb/s
Metadata:
creation_time : 2012-05-16 08:19:41
handler_name : Apple Alias Data Handler
Please use -profile:a or -profile:v, -profile is ambiguous
[buffer @ 0x2446ac0] w:1366 h:768 pixfmt:rgb24 tb:1/1000000 sar:0/1 sws_param:flags=2
[movie @ 0x242f840] seek_point:0 format_name:(null) file_name:/home/adam/logo.png stream_index:0
[overlay @ 0x2442840] auto-inserting filter 'auto-inserted scale 0' between the filter 'src' and the filter 'Parsed_overlay_1'
[overlay @ 0x2442840] auto-inserting filter 'auto-inserted scale 1' between the filter 'Parsed_movie_0' and the filter 'Parsed_overlay_1'
[scale @ 0x24444a0] w:1366 h:768 fmt:rgb24 sar:0/1 -> w:1366 h:768 fmt:yuv420p sar:0/1 flags:0x4
[scale @ 0x2445100] w:80 h:80 fmt:rgba sar:1/1 -> w:80 h:80 fmt:yuva420p sar:1/1 flags:0x4
[overlay @ 0x2442840] main w:1366 h:768 fmt:yuv420p overlay x:1276 y:678 w:80 h:80 fmt:yuva420p
[overlay @ 0x2442840] main_tb:1/1000000 overlay_tb:1/25 -> tb:1/1000000 exact:1
[libx264 @ 0x242d8c0] MB rate (4128000) > level limit (2073600)
[libx264 @ 0x242d8c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
[libx264 @ 0x242d8c0] profile Constrained Baseline, level 5.2
[libx264 @ 0x242d8c0] 264 - core 124 r2197 69a0443 - H.264/MPEG-4 AVC codec - Copyleft 2003-2012 - http://www.videolan.org/x264.html - options: cabac=0 ref=1 deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=0 threads=36 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=0 intra_refresh=0 rc=crf mbtree=0 crf=19.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
[libfaac @ 0x2443540] channel_layout not specified
Guessed Channel Layout for Input Stream #0.1 : mono
Output #0, flv, to '/home/ftp/javarecorder/1c8f08b7d0d9e7fa4b24066156ad50bc981497a0.flv':
Metadata:
major_brand : qt
minor_version : 537199360
compatible_brands: qt
creation_time : 2012-05-16 08:19:41
encoder : Lavf54.3.100
Stream #0:0(eng): Video: h264 ([7][0][0][0] / 0x0007), yuv420p, 1366x768, q=-1--1, 1k tbn, 1k tbc
Metadata:
creation_time : 2012-05-16 08:19:41
handler_name : Apple Alias Data Handler
Stream #0:1(eng): Audio: aac ([10][0][0][0] / 0x000A), 44100 Hz, mono, s16, 96 kb/s
Metadata:
creation_time : 2012-05-16 08:19:41
handler_name : Apple Alias Data Handler
Stream mapping:
Stream #0:0 -> #0:0 (qtrle -> libx264)
Stream #0:1 -> #0:1 (pcm_s16be -> libfaac)
Press [q] to stop, [?] for help
Input stream #0:1 frame changed from rate:44100 fmt:s16 ch:1 chl:0x0 to rate:44100 fmt:s16 ch:1 chl:0x4
frame= 6856 fps=105 q=-1.0 Lsize= 36030kB time=00:13:32.83 bitrate= 363.1kbits/s
video:27775kB audio:7540kB global headers:0kB muxing overhead 2.026555%
[libx264 @ 0x242d8c0] frame I:28 Avg QP: 4.61 size:238170
[libx264 @ 0x242d8c0] frame P:6828 Avg QP: 7.31 size: 3189
[libx264 @ 0x242d8c0] mb I I16..4: 100.0% 0.0% 0.0%
[libx264 @ 0x242d8c0] mb P I16..4: 0.9% 0.0% 0.0% P16..4: 2.2% 0.0% 0.0% 0.0% 0.0% skip:96.9%
[libx264 @ 0x242d8c0] coded y,uvDC,uvAC intra: 32.3% 30.0% 29.0% inter: 1.0% 1.1% 1.0%
[libx264 @ 0x242d8c0] i16 v,h,dc,p: 66% 32% 1% 1%
[libx264 @ 0x242d8c0] i8c dc,h,v,p: 62% 23% 14% 1%
[libx264 @ 0x242d8c0] kb/s:279.82
一位同事能够查看“已损坏”的文件。我的电脑和他的唯一区别是他有一台Mac。相同的Flash版本,相同的JW Player版本。有些东西不在这里。
答案 0 :(得分:2)
首先,不要将h.264视频放入FLV容器中。这不合适。可能会出现各种奇怪现象。使用mp4容器,其中h264自然在家。
其他建议/问题:
crf
值,看看是否有所作为从你的输出:
Please use -profile:a or -profile:v, -profile is ambiguous
答案 1 :(得分:1)
似乎罪魁祸首是帧率。通过一些神奇的事情,得到的视频的帧率大约是1000.使用-r 30
似乎已经解决了这个问题。