-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
kVideoTexture mode and interlaced h264 media #6
Comments
Hello, Ad 1. Playing interlaced h264 video with hardware decoding is currently possible only when using Setting decoding to software should enable interlaced video playback in Ad 2. Did you manage to get working playback at all (e.g. using progressive video or when using HW decoding)? There are indeed some limitations on configurations that are supported in various modes, you can test configs using Other things that come to mind if you have issues with starting playback:
|
Hi ! First, thank you very much for taking the time to answer our questions. You answered my first question, so I guess I can summarize it as follows.
Please check if this is correct, and I would like to ask the following questions. Q1) kVideoTexture mode can play interlace streams by default. Is this correct? Below I've shared my tests and the streams I did. Let me know if you need any additional information :) [ Test Equipment (TV) Information ]
[ Test procedure ] I couldn't find a way to test by reading a large file (mpeg-ts) directly from the TV, so I tested it in the following order. < Demuxing test on TV >
< Test for playback on TV only >.
< H264 ES Packet >
[ Test Result ] < kMediaElement mode >
< kVideoTexture mode >.
< ElementaryMediaTrackConfig >
( Note )
in elementary_media_track.h
[ Stream Information ] Here are the streams we used for testing (you can download them by clicking the links)
|
Hello, thanks for extra information and test streams. Also, your summary is correct! :) I've tested both streams and managed to play both of them in normal latency mode. Interlaced streams works in Video Texture mode. So I can definitely say the content is playable. Hopefully we can debug the problem, please see answers to questions below.
|
Hello, Thank you very much to check my answer. Could you please possible to share with me how you test it with sample code? For ac3 audio, I will give you futher information of error messages what I met after I reproduce it for clear. Thanks again! |
I've tested with the sample code published in this repo, in For that you'd need to dump stream data of packets and change |
I'm glad to hear you can play with sample code of this repository but I'm still face the problem to play my stream.
As shown above, even though I'm testing with sample code, I get an error when I call appendPacket().
Finally, as I said before, the stream is being tested by demuxing it on the PC using FFmpeg and sending it to the TV on a udp socket. In this way, I checked the normal playback for VP8 stream, and for ts h264 stream, I checked the playback in kMediaElement mode as a progressive stream. The same method in kVideoTexture mode is not working. Thanks! |
Hm, I think the most likely explanation of an app terminating without an error is the app hitting memory limit. System will terminate apps that use too much memory. Re-reading your test procedure, does entire ts (~235MB or ~467MB) gets transferred to TV and then is demuxed over a short period of time? I believe this can indeed lead to the app hitting memory limit. I've actually played only several first seconds of each clip, because loading entire ts into a source file is not very practical just to check if a content is valid... maybe that's why we get different results. Can you try testing it on smaller data chunks? Regarding "The append was ignored" error, that's actually normal behaviour when seeking or when app suspends but it's surprising if it happens when the playback starts. Packets are ignored based on the sessionId they are stamped with. The procedure is:
If packets are dropped due to non-current session from the get go, maybe they are stamped with the bad value? You can try changing id |
Hi, I tried the test using kIgnoreSessionId as you suggested, and the results were the same. I took the first second or two of a packet that I demuxed to Annex B type using FFmpeg's bsf filter on my PC and added it to the test sample code's When I created a progressive / intrelaced stream like this respectively and ran it back to the test sample code, it still doesn't work and is in the same state as before. Could you please test it using the attached sample_data.cc and see what happens? Also, I tried changing to kSoftware / kHardwareWithFallback option via decoder option and tested it. If I unzip the sample_data.zip, it looks like this When testing interlaced_h264, you can do so without including progressive_h264 (and vice versa). Thank you very much! |
I did some more testing with AC3 audio. By any chance, have you tried this with the same sample code for the sample data I shared (progressive / interlaced)? Also, looking at the developer page, there's a mention of a PARTNER SDK, and if you become a PARTNER and get the emscripten sdk, you can use the |
Hi, sorry for taking long time to reply. I'm having some some intense priority project activities recently :). I'm glad to hear you've managed to solve the issue with audio. I did check your sample data and it actually worked for me. I believe I must check software version that is used on your device. Could you execute Regarding Partner SDK, it's not related to WebAssembly development. The only SDK for WASM on Samsung TV is Emscripten SDK extended with platform API support which is publicly available. For a partner status, I believe you can contact Samsung using https://seller.samsungapps.com/tv/. However I'm more on a technical/development side of things, so I can't really discuss what are the benefits of being a partner (although that's required to publish TV app in Samsung TVs Store AFAIK). |
Hi, I’m ok because I appreciate for your answer Code.
Result is
Are you sure play sample data that is provide by me on kVideoTexture mode? |
Thanks for version info. I was testing on current development software and hardware. I'm in the process of fetching hardware that matches your TV model and I'll check with the provided software version. Hopefully, we can figure out solution to the problem then :). |
I appreciate it and look forward to your response! :) |
Could you please let me know if you have any updates, I'm waiting for them. Also, I purchased and received the product below to cross-check with another tizen TV/Monitor, but there is no wired LAN. (I should have checked, but I made a mistake.) Even if I plug in 3 different types of USB LAN, I can't get wired LAN. Is there any way to use wired LAN? https://www.amazon.it/Samsung-Monitor-3840x2160-Piattaforma-Mirroring/dp/B09TL7VSB1 Thank you. |
Hi, |
Hi,
I have a few questions about playing H264 media.
When playing in kMediaElement mode, interlaced video doesn't seem to play, how do I get it to play?
When I changed to kVideoTexture mode for sw interlaced filtering, it doesn't work even if I put the h264 es packet that I used when playing kMediaElement mode. I checked the behavior for VP8 content. Is there a codec limitation in kVideoTexture mode?
Thanks!
The text was updated successfully, but these errors were encountered: