Totem player dose not play some videos

Jetson Nano command line works perfect:
gst-play-1.0 test.mp4 --audiosink=‘alsasink device=hw:2,0’

but the same video doesn’t work with Totem player.
Video properties:
3840 x 2160
H.265 (Main Profile)
30 frames per second
30090 kbps
Video can be downloaded here: NIKON IMAGE SPACE

Any clue to make Totem player work?

What happens when you run it? I haven’t tested totem but it shouldn’t bee too hard to make it work (famous last words, but still…).

Thank you for your answer!
The player freezes the first image while the position bar at the bottom is moving through the video.
Sometimes I hear a bit of sound.
seldom enough comes an other frozen Image.
As the command line of gst (see above) works fine, the totem player should, too.

Ideally, but it depends on how the app is written and what gstreamer elements/bins it uses. It may require patching. Let’s see what’s wrong. Please run the following to collect some debug information, and attach any .log and .dot files that appear on your device’s ~/Desktop (you can attach with the paperclip option in the top right corner)

GST_DEBUG_DUMP_DOT_DIR=~/Desktop totem --gst-debug-level=4 <b>(normal totem options and/or filenames here if any)</b> 2> ~/Desktop/gst.log

Thank you very much for your answer.
I tried it, but got no gst.log.
Insted I got a lot of terminal output, see “GST-terminal-output.txt” attached.
And got a “totem-prerolled.dot”
GST-terminal_output.txt (515 KB)

“totem-prerolled.dot” was not accepted for its file extension.
I renamed it to “*.txt”.
totem-prerolled.txt (49.8 KB)

That was my bad for forgetting an “&” in the commnad. No worries, the .txt file is equivalent.

I will take a look at that and the .dot and get back to you.

So, other than using an omx decoder rather than the v4l2 decoder, at first glance I don’t see anything wrong with the pipeline and it should work as is. Will it play any files? you try h264?

(attaching pdf of pipeline)

Edit: it could be sink related. I have never tested this particular sink.
totem-prerolled.pdf (39.5 KB)

Thank you for the "totem-prerolled.pdf: that’s absolutely too much for me. I don’t understand a word.

Yes, Totem Player can reproduce a lot of videos, just some not. Seems to be the heavier ones.
From the video mentioned above called “test.mp4” 74,6 MB UHD 4K

  • 3840 x 2160
  • H.265 (Main Profile)
  • 30 frames per second
  • 30090 kbps
    I made a compressed version “test.mkv” 4,1 MB FHD
  • 1920x1080
  • H.264 (High Profile)
  • 30 frames per second
  • 1490 kbps
    Both are 20 sec long, the same video, just compressed.
    From the “test.mkv” the Totem Player shows more frames, may be 5. I imagine that are the key frames. And I can hear a little bit more of sound.

Actually I have a FHD screen 1920x1080 connected via HDMI. Could that be the problem? Do I have to declare to Totem Player the screen I use and, if so, how?

VLC Player disappears in Nirvana after loading the files on Jetson Nano. Need a bigger swap file?

Once again tried gst command line. Perfect! There you note the difference of quality between the two files. That’s what I need to have in Totem Player. Please find “gst-command-line.txt”

Of course I trigger the Totem Player throughout the Files file manager. That’s the only reason to use Totem Player. It isn’t very comfortable to trigger a lot of different videos in different folders throughout the command line. If so, I’m fine with gst and don’t need Totem Player.

Once again I copied the files back to my 13 years old Dell, where they came from, to make sure, that the files are not corrupt. This notebook has an equal old 256MB NVIDIA GeForce 8600M GT GPU. Don’t know if VLC makes use of GPU. This computer is not able to reproduce the UHD 4K videos from my 3 years old Huawei smartphone. For that reason I make the compression to MKV, which works perfect with VLC Player. Confirmed: I can watch the video MKV on that old computer.

Thank you for your attention.
gst-command-line.txt (889 Bytes)

old Dell under Windows 10

So, it’s a visual overview of the pipeline. data flows from left to right, from a source (like a file) to a sink, like a screen. It seems it’s using a hardware decoder and the right memory format but the sink is one I haven’t seen before.

I don’t think that’s related. It should scale in any case.

Can you try the gst-play command again, only with this before: “GST_DEBUG_DUMP_DOT_DIR=~/Desktop gst-play…” and then upload the .dot file as text like before. I’ll compare the pipelines and see what totem chooses vs gst-play. If all the components and configuration are idential except for the sink, then that’s likely where the fix needs to be. Or it could be somewhere else. We’ll see.

you may try
mplayer

sudo apt install mplayer
mplayer test.mkv

vlc
smplayer
etc.

to see if they will work out for you;
typically playing of a video file is a matter of installed codecs

Nvidia is planning on releasing ffmpeg support for Tegra so everything should work eventually, but for now, only gstreamer based players have hardware decode. Mplayer is ffmpeg based, ditto VLC, IIRC. It will probably work fine up to 1080p h264 but after that YMMV greatly.

IMO easier to fix Totem, which uses gstreamer elements that are Nvidia provided, or use gst-play which seems to construct a good pipeline automatically on Tegra. I don’t have time this month to work on this, but Totem has been on my to-do list for a while.

So, you have something to make this pipeline out of the .dot file? Cool! But for me it’s Chinese.

Here are the .dot files.I made one with the H.265 video and one with the H.264 video. Amd a copy of the Terminal output.

Thank you so far, I hope you can put an eye on it.

I think I have tried to install ffmpeg, but at the end I didn’t know if it would have worked or not or if it was already installed in the image for the Jetson Nano.
H.265-0.00.00.617196966-gst-play.async-done.txt (52 KB)
H.264-0.00.00.774960814-gst-play.async-done.txt (52.1 KB)
terminal-200304.txt (955 Bytes)

The dot file is just a graph of the pipeline. You can open up in a text editor and get a general idea of what’s going on. It can be used to generate a PDF so I can see the differences between the pipelines easily.

Then I have a working pipeline and a not working pipeline that is supposed to be playing the same file. From there it’s just switching out elements until I find the one that breaks the working pipeline. Then I patch that part in Totem until it works.

I think there is some software to generate a pipeline directly from a dumped graph but I don’t think it’s been updated in a long time. There used to be a node based visual g streamer designer so you could connect elements to other elements almost like a node-based compositing app. That’s another thing I’d like to work on, but Totem is probably the next thing.

Edit: in the meantime I’d recommend just using gst-play because it nearly always works and supports hardware decode.

Thank you so much!
For the moment I stay with gst.
Maybe I’ll write a small script that allow to change easier between files and folders without breaking the fingers. But not yet, I’m in an other project.
Once again, Thank you.