Ip Transcoder

0 views
Skip to first unread message

Kayleigh Telega

unread,
Aug 4, 2024, 3:25:08 PM8/4/24
to tisinordka
Wasmaking some recent changes and think I broke something. Ended up reinstalling my appdata from a backup. Noticed this morning that my plex transcoder was pinning a core and had been running for 6 hours with 0 streams active. I think this was going on and I didnt notice since I direct play everything at home. Was checking the logs and noticed the following error:

Seems this is happening only when eac3 codec is used which is most of my WEB-DL stuff. I googled around and noticed it might be a permissions issue. Checked permissions on the codec folder and wasn't seeing anything amiss. Has anyone run into this before? I cant seem to stream most of my library at the moment, most likely my users cant either. Any help would be appreciated!!


One thing I would try first is to delete all of the codecs in your Plex appdata codecs folder. It has been a long running issue with plex, where a codec gets corrupt and causes a playback issue. When you restart Plex, it will go out on the internet and reload the folder with the current set of codecs.


omg... thank you... I have been having playback issues since migration from Unraid Docker to QSV OTiS Plex Linux Ubuntu box. I used rsync to get the app data files. After much troubleshooting and headaches, wiping codecs (sudo rm -r /var/lib/plexmediaserver/Library/'Application Support'/'Plex Media Server'/Codecs) rebooting, all the videos instantly plays back!


I have content that is in EAC5.1 that does work as it should, then other content that is EAC5.1 that previously worked -- which now does not.

I attempted to delete the codecs out of the local plex HTPC folder and re-load it, and it does not work on these 4k files... im puzzled to why it stopped playing EAC on only the 4k EAC files?


In the DIY transcoding guide, it tells you to send a ticket to disable automatic transcoding if you intend to do it yourself.

What about if you have an on-prem shotgun server? Do I just take the transcode workers offline?


You could technically do a hybrid approach where you keep the transcoder turned on and do your own uploads to the API to sg_uploaded_movie_mp4 and sg_uploaded_movie_webm fields for some versions and upload to sg_uploaded_movie for other versions. Just know that if you upload to sg_uploaded_movie while you already have data in sg_uploaded_movie_mp4 or sg_uploaded_movie_webm, the transcoder will overwrite that data.


You can generate the filmstrip with whatever tools you wish. Basically, our only requirement is that you wind up with a horizontal strip of any number of frames each of which is exactly 240 pixels wide.


In the Shotgun transcoder we calculate the duration and fps of your movie, infer the number of frames we should put in the filmstrip (max of 25 frames) and then extract the frames with ffmpeg and assemble them into the strip with montage.


For those cases, Ricardo, just make sure you never upload anything to sg_uploaded_movie and you should be able to manage image, filmstrip_image, sg_uploaded_movie_mp4 and sg_uploaded_movie_webm manually.


I just tested this and as I suspected you would not have a download button in the Client Review Site because there is no originally uploaded movie (which would live in the sg_uploaded_movie field). Only transcoded movies would exist as supplied in the sg_uploaded_movie_mp4 and/or sg_uploaded_movie_webm.


Hey,

just saw that banner that announces the shift for default transcodes from 720p to 1080p.

I am wondering if this would render our internal DIY transcoding unneccessary? This is of course dependent on all paramters that you use for ffmpeg.

Can you give us some insight what these new default settings are?

Best,

Tobi


I have configured numerous 28XX for transcoding resource on various versions of callmanger and they work fine. However I have never been able to view the live transcoding rtp sessions as they occur on the router (28XX). I know that the transcoder is doing its job - as i can browse to the IP address of the Cisco phone and see that it rtp stream terminates on the transcoding router (28XX). I would however love to know the command to view the transcding sessions that are currently being used on the router (28XX). I have tried many show commands that i can see on the router without success, Can any one help??


For the most part, that seems to work as well. The old state is as before and media can be played without problems. However, the transcoder doesn't seem to work cleanly anymore. Converts within Plex fail immediately.


I use Portainer and followed documentation that shows the configuration and transcoder path separately. For the migration I simply copied the old folder recursively (better have a backup! ) and set the two paths to be used according to the documentation to the new directory.


Initially, I first tried out the effect of copying and how the container reacts. Therefore I copied the transcoder path with .../Cache/Transcode. But there I got the result when starting the container that another Transcode layer has been inserted under Transcode.


However, something has changed anyway. After the change you requested, it tries to start the conversion, but stops at 0% and says that there is an error while converting. Before, there was the error directly, without the progress being shown.


The goal of the transcoder API (package org.apache.batik.transcoder) is to provide a generic API for transcoding an input to an output. First, this document explains the basic transcoder API that Transcoder, TranscoderInput and TranscoderOutput define, and thus all transcoders have in common. Next, it describes how to use the image transcoder API (package org.apache.batik.transcoder.image), which lets you rasterize an SVG document fragment to a raster image such as JPEG, PNG or TIFF.


Transcoder:The Transcoder interface defines the interface that all transcoders implement. You can transcode a specific input using a specific output by invoking the transcode method. Although there is no assumption on the input and output format, a specific transcoder may or may not support a particular type of input or output. For example, the image transcoders accept an SVG Document, a Reader, an InputStream, or a URI as an input but only supports a byte stream for the output.


TranscoderInput:The TranscoderInput interface defines the input of a transcoder. There are various ways to create an input and the most common are already part of the API. The default implementation lets you create an input using a org.w3c.dom.Document, a Reader, an InputStream, a org.xml.sax.XMLReader, or a URI.


TranscoderOutput:The TranscoderOutput interface defines the output of a transcoder. There are various ways to create an output and the most commons are already part of the API. The default implementation lets you create an output using a Document, a Writer, an OutputStream, a XMLFilter, or a URI.


TranscodingHints:The TranscodingHints class contains different hints that can be used to control the various options or parameters of a transcoder. Each transcoder provides its own set of hints. A hint is specified by (key, value) pair. For example, the JPEGTranscoder provides a hint to control the encoding quality.


ErrorHandler:The ErrorHandler class provides a way to get any errors or warnings that might occur while transcoding. A default implementation is provided but you can, for example, implement your own handler that displays a dialog instead of stack trace.


The org.apache.batik.transcoder.image package provides an easy way to transcode an SVG document to a raster image such as JPEG, PNG or TIFF. Additional raster image formats can be added by subclassing the ImageTranscoder class and implementing the writeImage method. Although, in next sections, the examples will use the JPEG transcoder, the PNG transcoder works the same way.


The code creates a JPEGTranscoder and sets a transcoding hint. The hint indicates the encoding quality. Then, an input and an output are created. The input is created using the first command line argument, which should be a URI. The output is a byte stream for a file called out.jpg. Finally, the transcode method is invoked and the byte stream is closed.


By adding the following line of code to the previous example, you will specify the raster image size (in pixels). The transcoding hint KEY_WIDTH lets you specify the raster image width. If the raster image height is not provided (using the KEY_HEIGHT), the transcoder will compute the raster image height by keeping the aspect ratio of the SVG document.


The transcoder will have the same behavior if you specify the KEY_HEIGHT without initializing the KEY_WIDTH. In all cases (even if both keys are provided), the transcoder will preserve the apsect ratio of the SVG document.


The image transcoder lets you specify an area of interest (that is, a part of the SVG document). The key KEY_AOI allows you to select the region of the SVG document to render. The value of this key must be a java.awt.Rectangle specified in pixels, using the coordinate space of the SVG document. The following example shows how you can split an SVG document into 4 tiles.

3a8082e126
Reply all
Reply to author
Forward
0 new messages