我正在尝试为HLS点播(VoD)编码和分段视频。 我使用以下代码:
ffmpeg -i 20170706_174314.mp4 -c 24 \
-vcodec libx264 -acodec aac -ac 1 -strict -2 -b:v 128k \
-profile:v baseline -maxrate 400k -bufsize 1835k \
-hls_time 10 -hls_playlist_type vod -vsync 1 \
video_chunks/index1.m3u8 \
-c 24 -vcodec libx264 -acodec aac -ac 1 -strict -2 -b:v 128k \
-profile:v baseline -maxrate 700k -bufsize 1835k \
-hls_time 10 -hls_playlist_type vod -vsync 1 \
video_chunks/index2.m3u8
我尝试过这个其他代码也只是为了分段但有同样的问题:
ffmpeg -i 20170706_174314.mp4 \
-c:a libmp3lame -ar 48000 -ab 64k -c:v libx264 -b:v 128k -flags \
-global_header -map 0 -f segment \
-segment_list video_chunks/test.m3u8 -segment_time 10 -segment_format mpegts \
video_chunks/segment_%05d.ts
稍后我会创建另一个带宽分隔符的播放列表,以调用使用上述代码生成的另外两个播放列表。
这段代码在一些视频上效果很好,但昨天我用我的三星J7 Prime手机录制了一段视频进行测试,因为视频将通过手机生成,而且这段视频的编码很差。质量很糟糕,视频的某些部分变成了Black& White。
我在此视频中注意到的另一件事是,以下消息一直显示在循环中,直到编码和分段过程结束。
过去时间X太大
其中X是十进制,非常接近
0.675316
视频链接如下:
我的FFmpeg版本:
ffmpeg --version
ffmpeg version N-86482-gbc40674 Copyright (c) 2000-2017 the FFmpeg developers
built with gcc 7.1.0 (GCC)
configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
libavutil 55. 66.100 / 55. 66.100
libavcodec 57. 99.100 / 57. 99.100
libavformat 57. 73.100 / 57. 73.100
libavdevice 57. 7.100 / 57. 7.100
libavfilter 6. 92.100 / 6. 92.100
libswscale 4. 7.101 / 4. 7.101
libswresample 2. 8.100 / 2. 8.100
libpostproc 54. 6.100 / 54. 6.100
SO:Windows 10
EDIT1: Link to the output 如果您看到输出,可能值得说我也看到了消息
VBV下溢(帧X,-Y位)