bakjos / FFMPEGMedia

Unreal FFMPEG Plugin to support more video formats and alpha videos
214 stars 56 forks source link

Problem playing m3u8 files #20

Open diazweb opened 4 years ago

diazweb commented 4 years ago

Hello @bakjos !

It works very good with all kind of formats but when I try to reproduce m3u8 files on live videos, for some reason it only plays the first 1.5 seconds and then it stops.

If I try to reproduce this other file for example it get stuck in opening:

https://multiplatform-f.akamaihd.net/i/multi/will/bunny/big_buck_bunny_,640x360_400,640x360_700,640x360_1000,950x540_1500,.f4v.csmil/master.m3u8

I tried with all kind of configuration changes from the plugin but same issue

A ver si sabes que podria ser! Gracias

bakjos commented 4 years ago

Hi @diazweb can you attach the logs while you're playing the file? so see if any error is appearing, I haven't tried using m3u8 files, so It can be an issue in the way the configuration is being applied (inside the code). And finally are you playing the file locally or is being played from the remote URL?

diazweb commented 4 years ago

With this URL:

https://multiplatform-f.akamaihd.net/i/multi/will/bunny/big_buck_bunny_,640x360_400,640x360_700,640x360_1000,950x540_1500,.f4v.csmil/master.m3u8

It get stuck in opening with this log output:

PIE: Play in editor total start time 0.116 seconds.
LogFFMPEGMedia: Display: FFMPEG - Opening 'https://multiplatform-f.akamaihd.net/i/multi/will/bunny/big_buck_bunny_,640x360_400,640x360_700,640x360_1000,950x540_1500,.f4v.csmil/index_0_av.m3u8' for reading

And if I try one url from a live streaming it plays during 1.5 secs and then the image get freezed, this is the output:

LogFFMPEGMedia: Display: FFMPEG - Opening 'https://url.com/file/seg.ts' for reading
LogFFMPEGMedia: Display: FFMPEG - Opening 'https://url.com/file/seg.ts' for reading
LogFFMPEGMedia: Display: AVFormat configuration: --toolchain=msvc --arch=x86_64 --disable-static --enable-shared --enable-gpl --enable-libmp3lame --enable-libvpx --enable-w32threads --disable-yasm --enable-nvenc --enable-cuda --enable-cuvid --enable-openal --enable-opencl --enable-d3d11va --extra-cflags=-I../lame-3.99.5/include --extra-cflags=-I../libvpx --e
xtra-cflags='-IC:/PROGRA~1/NVIDIA~2/CUDA/v9.1/include' --extra-cflags='-IH:/Pixelarama/MainCode/ExternalLibs/openal/include' --extra-cflags=-I../zlib-1.2.11/build64/install/include --extra-cflags=-I../nv-codec-headers/include --extra-ldflags='-LIBPATH:../lame-3.99.5/output/Release/x64' --extra-ldflags='-LIBPATH:../libvpx/build64/x64/Release' --extra-ldflags=
'-LIBPATH:C:/PROGRA~1/NVIDIA~2/CUDA/v9.1/lib/x64' --extra-ldflags='-LIBPATH:H:/Pixelarama/MainCode/ExternalLibs/openal/lib64' --extra-ldflags='-LIBPATH:../zlib-1.2.11/build64/install/lib'
LogFFMPEGMedia: Display: Format Name: hls,applehttp
LogFFMPEGMedia: Display:   Duration: N/A, start: 28190.302933, bitrate: N/A
  Program 0 
LogFFMPEGMedia: Display: Audio Codec: aac 
LogFFMPEGMedia: Display: Using codec: aac - 86018
LogFFMPEGMedia: Display: Video Codec: h264 
LogFFMPEGMedia: Warning: FFMPEG - Invalid pkt_timebase, passing timestamps as-is.
LogFFMPEGMedia: Display: Using hardware context type: cuda
LogFFMPEGMedia: Display: Using codec: h264_cuvid - 27
LogFFMPEGMedia: Warning: FFMPEG - skipping 48 segments ahead, expired from playlists

I tried without hardware acceleration and same issue. Must be something with the code config.

PD: All URLs are remote

Thanks for the help sir

bakjos commented 4 years ago

@diazweb There are 2 things that are weird for me: The first one is the Opening 'https://url.com/file/seg.ts' for reading and the second one is the h264 codec, the file you're trying to read is a list of list, have you tried opening directly one of the secondary list or one of the videos directly?

diazweb commented 4 years ago

Something is not correct with m3u8, for example with this other url it freeze each 2 seconds:

https://video-weaver.mad01.hls.ttvnw.net/v1/playlist/CvIDlzesYopuNLy4SKFIv5fqBd95kGcSN7PR_NG7qZgAIb2oQj8KaivNa6EB71tzVopjdXNMbq7zxj3QCN7BId5cCUhZvKGalBWCkoIiPciG8LkgY1nNIvcZOKF8RntF80_WwygGyAiftTkBG0i-Tg0YT9-VDVQX03vNiWDjWv24EwPNFsXe266D2x5DiccTD4Bd777n7BFAOzvE04MhjAGdZ1AbNI25FzBq3adqlLoP6oe_0Om_vcfg6gPq-4VlYPwdG0l7vb6nz5j2qOAwiOP4UXoUMcOUazaZ4rEtUFVhdlVkSIaVKOB-40QPzgJ0Q9Ek9t6et6_Op8_hrbk9lZyzKtGYsWxzZRhufT8tEuEArhVB0DKflFrITzCivVtXbWCJ0J8aYnTuI8OOCoDgyAd6IbfHVQ1OfnZgwKyFxfhp-tA1yT_BEeidinJl-VTgcitiapYuKbE4x_ra8nwjHwBqYOVD6EM475wUmZLo0KuFSB9glxSA6oW8EQ_0sCu6JdTWmu-Wi2Upl5hTc5rjo9Y8_1uarud7DKgGtnnuLk433_KFoyYWD4CFK7_i_IBwR-q4pbsVFtshLU5tQYua7NQysMJL-hNVeGtaFIirSPRGxC8fHNGVRlxekp6ynSFJAfv-5fQ2AlAyAIABPmo5dgNN1sj2EhABoM7kBZsC80kS0iTBWwqPGgw66x8hXQySx-YpKao.m3u8

Output:

PIE: Play in editor total start time 0.116 seconds.
LogFFMPEGMedia: Display: FFMPEG - Opening 'https://video-edge-c2a498.mad01.abs.hls.ttvnw.net/v1/segment/CqkExOBWBXYIzbHJQLt2D07rWc1c6mplk6LQPyBgn3JJJtKVvPHL5s8Uxs7fQlIkVSsHxDc2Xb5fCLIhoA4T_kXWxIIzZbbDPUnd8LWXptba73FHeyYIEtbkcYrfWtOw4tTNPjbvQJMeAYpoA3rCXcFnkFd0S-rFNBB5U8nVr9oCUgJ-HAmEyrFOGKjveY1dfVQ0vGymYLQ-aYaXB33_Kl5PEPxeRXJnkBezrSc9KAQOW8zV7O1T4ppUYxQRAwdC
XX1w4Zx_4Cfot92REi5Otk8Un0lch9wTYlkudF25FdMc08Pn5ZGWTpTnhgnqvMTvQymZVHmI9FPY2qImE_-JTWxgKQiXX1mGia_H67RTTzNe_Mon5FC90Zs-vr8CWTZnL2Hm05cZTdyenZ3FsbktE7lmIFk6XnCqDgLcwSjr_8bMNdgDAMRD-eUrlnQ3JVe0QNPcdiFR6AUtcd5ojOPjycI71AnXpbpbk9t7fFDz4fAQ59b1zp9JOF8LS4WFaBdgv2gL9fFcRdWz_XYoGEXY6dDQLbhd3ZE5l5N4qQodQiG70KpEZyyMHm8QxZUX7nZjKNi7hOM1EwrRbZVU1Lf8xBJEJqb7p7WzHNDIRzQf
nRTbvuo1zGbUq88EltIlEIOPO1N8tqvuWV28gGWvnJhrfeupSh5lhmuaqo9rRY7YHydICeIDtTCiPo6HMo02XbZ2LtnnU9q50avHuqa2lIJxz9iKaj-5RkmkepN4-BIQTxfAbllxwFeFJEAfwxClxhoMHey8owzJA-Fg3V5d.ts' for reading
LogFFMPEGMedia: Display: FFMPEG - Opening 'https://video-edge-c2a498.mad01.abs.hls.ttvnw.net/v1/segment/CqkEbl_5IOVZE3HFvzrq8dFhJCbZfA_DTDeL09jq23VqlggFYBoO92aKHb-x-gec59z49fZI1rQgT6gDI7lP78bRZv5f_3bCKXGYV24TD6k-bsRAEDrCYBTyc_ZV9Cv1GhtqOzlCas4tWrYwj-XhUTx228mUcTUM3zMRdKWcZwRwyszCxdzwAXK-kCOYMerNNpnD2XoEx-E_lIBAIGIGrDtS9Dfrgwr6rUC10DB4u5V-9DU0VAcRxy-2dyALuXty
U4o8dqGc-Cywkmaf6gkXZ3GXmSjsmeMHUMJqgdl88OXQdMFeAreq5Jgfifca2EwtmLP666ZhD780nuw2c_luvy2dHuG1L16W2sWBAQVi3ZFRc_23tMr2XJJMEG3aoRqP-wPp7RBdM-tj664oaootnyAHM0YKG5bXl3wAoyKzP7Bhv6qMSKdP-gsnEvrQUSUy-us99HMGl-pS22Jfe-DxMi3AbgEHMhxPxv0e_iZ4gF-AWHd3xnXbjaTRLrDcwJv4HgjDGZWy6ycqfWLlD5-s1UCeuJU-m_0iCNgOCqaVe5aSvAW9MYyW-HnMlA608zGHuQmhmJ-oG2YtQ3ABF-4mcqodhtq5Hc4AAITA9oYz
QO9OUxAtqXTd2Jjsn44aR50vaHWt4XbhL6RKAZqjEnbOb46MMgeO-lLOQbUwhlPhI_iSocO8tbQzsAMlYNSuhXLt8aIV9eCJdN-NvRP1ux78rZVhNaxTbYLwtcScihIQBsZArGqhP36YZy9B9RIsMxoMgvvmcVgkzIJy_tmH.ts' for reading
LogFFMPEGMedia: Display: AVFormat configuration: --toolchain=msvc --arch=x86_64 --disable-static --enable-shared --enable-gpl --enable-libmp3lame --enable-libvpx --enable-w32threads --disable-yasm --enable-nvenc --enable-cuda --enable-cuvid --enable-openal --enable-opencl --enable-d3d11va --extra-cflags=-I../lame-3.99.5/include --extra-cflags=-I../libvpx --e
xtra-cflags='-IC:/PROGRA~1/NVIDIA~2/CUDA/v9.1/include' --extra-cflags='-IH:/Pixelarama/MainCode/ExternalLibs/openal/include' --extra-cflags=-I../zlib-1.2.11/build64/install/include --extra-cflags=-I../nv-codec-headers/include --extra-ldflags='-LIBPATH:../lame-3.99.5/output/Release/x64' --extra-ldflags='-LIBPATH:../libvpx/build64/x64/Release' --extra-ldflags=
'-LIBPATH:C:/PROGRA~1/NVIDIA~2/CUDA/v9.1/lib/x64' --extra-ldflags='-LIBPATH:H:/Pixelarama/MainCode/ExternalLibs/openal/lib64' --extra-ldflags='-LIBPATH:../zlib-1.2.11/build64/install/lib'
LogFFMPEGMedia: Display: Format Name: hls,applehttp
LogFFMPEGMedia: Display:   Duration: N/A, start: 21002.032000, bitrate: N/A
  Program 0 
LogFFMPEGMedia: Display: Audio Codec: aac 
LogFFMPEGMedia: Display: Using codec: aac - 86018
LogFFMPEGMedia: Display: Video Codec: h264 
LogFFMPEGMedia: Warning: FFMPEG - Invalid pkt_timebase, passing timestamps as-is.
LogFFMPEGMedia: Display: Using hardware context type: cuda
LogFFMPEGMedia: Display: Using codec: h264_cuvid - 27
LogFFMPEGMedia: Display: FFMPEG - Opening 'https://video-edge-c2a498.mad01.abs.hls.ttvnw.net/v1/segment/CqkEyelFPUyEHv8UM9GdMGid5X8CfWy5Nv2w3j07QcMqUx8EA69uwFXT1lD3I6KbHWbltP6KhvPO_x8o9yAEkMVrsuNViv38jTiSq8t5PljwA_mynTVaGyr37fi9xPJ_Y3Z0fx4OzpsxPQ_XdpKn7FrLgFnJdeKBS_9dLHjNV68zeZ0athSVQ1gX9SjDNU_Obtplwgq8hUqdbyMPaNqLZwsBCRF5c7C_FC8RTbz9GR-vnh1jw_1V7OHPzrZ6n4qA
4dc7zTKwFsN4GWO_fgrWZ6NCnOXOjIYpmnnvqecDAqLbLN8dyVZ3c4ktkbym7DqiaDvxDPS3c9m3iFlwUNB_XIvXALrtZ6rMr9H04IrmAU8QFkY_TQR5IXwwSOuj5O_O0dYymtDvf-M6NGOa6OrwOW6ZZxB3K0MTa7zqVsfKI79-09ixniDBOKZBn32orfjLlnAF_sI63E721OMn5x1HqA00UNfips7jqj6pU0yTibfbAALTo6iIWbjjIZhuNeQFi7ABHMODHyux2FRZfOxcasu23P4q3C8o9UBpWI6CWPj4Ej5v0LvNnLGDNOKuEqlK4r6sqTt9m__BRN1j4rHaONDvPFLV84M3RbWalRhe
RB8GaPPsJW7lCyW27R-OK7jcd9FH79qQcQElULwD-MQccvDag1oaQ-lITzV-ZrgJ6C8JXFqKhnu3qiAlAY3dgssvPDyI7QzT9kNd0fhgvkKGwSj7MpYQ6hzwyfXpPhIQqxFAWPNOqC7BMBZaTforbxoMf5l5KYS9LeU0RZXh.ts' for reading
LogFFMPEGMedia: Error: FFMPEG - Unable to read from socket
LogFFMPEGMedia: Error: FFMPEG - Failed to send close message
LogFFMPEGMedia: Error: FFMPEG - Failed to send close message
LogFFMPEGMedia: Error: FFMPEG - Failed to send close message

All this videos play perfectly on a media player like VLC. Could you try any of the urls on your UE4 editor?

Thanks @bakjos

diazweb commented 3 years ago

With the last version of FFMPEG this issue is solved, it was a bug of FFMPEG.

bakjos commented 3 years ago

@diazweb cool, could you upload a PR with the latest FFMPEG version?

Shooter-oss commented 3 years ago

@diazweb cool, could you upload a PR with the latest FFMPEG version?

cool, could you upload a PR with the latest FFMPEG version?