Video Encoder & Segmentierer für HLS VoD schlechte Qualität

573
Murilo

Ich versuche, Video für HLS on demand (VoD) zu kodieren und zu segmentieren. Ich verwende dafür den folgenden Code:

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 

Später erstelle ich eine weitere Wiedergabeliste mit Bandbreitentrennzeichen, um die beiden anderen mit dem obigen Code generierten Wiedergabelisten aufzurufen.

Ich habe diesen anderen Code auch nur zum Segmentieren ausprobiert, hatte aber genau das gleiche Problem:

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 

Dieser Code hat bei einigen Videos gut funktioniert, aber gestern habe ich ein Video mit meinem Samsung J7 Prime-Telefon aufgenommen, um zu testen, da die Videos per Telefon generiert werden und dieses Video schlecht codiert war. Die Qualität ist schlecht und einige Teile des Videos wurden schwarzweiß.

Eine weitere Sache, die mir bei diesem Video aufgefallen ist, ist, dass die folgende Meldung bis zum Ende des Kodierungs- und Segmentierungsvorgangs in einer Schleife angezeigt wurde.

Vergangene Dauer X zu groß

Wobei X eine Dezimalzahl ist, die sehr nahe kommt

0,675316

Der Link zum Video ist unten:

Dropbox-Link

Meine FFmpeg-Version:

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

1

0 Antworten auf die Frage