PDA

View Full Version : Transcoding



Tom
October 30th, 2012, 08:52 AM
I tried transcoding a file that would not play on my Panasonic ST50 and it put a file into the transcode folder with a .krrv extension. How do I play this file?

Also, when I "Play to a Device" how do I pause, stop, play. Does it use Windows Media player? Is this configurable?

thanks

Tom

Dennis
October 30th, 2012, 08:57 AM
Tom,

The .krrv extension is internal to KooRaRoo - typically you don't need to look at these files, but if you wanted to play it on your PC, just change the extension to .m2ts or .mpg, depending on the device profile you're using for your TV (which defines the destination format).

To play the file on your TV, just find KooRaRoo Media server through the Media Servers (under Viera Tools, typically), browse to the folder with that file and play it. KRR will find and match the transcoded file and deliver it.

When you use "play to", you can pause/stop using the TV's remote. KooRaRoo will allow more control over your device soon as well, so you'll be able to perform more functions from within the GUI.

WMP is not used in any way - KRR does this on its own.

Tom
October 31st, 2012, 07:31 AM
So when I manually transcode a file, say from AVI to MPEG, where does it put it? Does it change the source file?

Dennis
October 31st, 2012, 07:45 AM
The source files are never touched by KooRaRoo. To find out where transcoded files are stored, go to Tools -> Options -> File Locations and click the Open button on the Transcoded Files folder. You can also move this folder to another location (if you do, I'd recommend keeping it local on the computer, that is, don't move it to a NAS drive, because that will slow transcoding down).

Tom
October 31st, 2012, 08:30 AM
So, if I have a video (say AVI) which won't play on my TV (even through the DLNA KooRaRoo server) and I transcode it to MPEG. How do I play this new file? The files under the Tools -> Options -> File Locations and click the Open button on the Transcoded Files folder, are in a .krrt format. How do I get the DLNA server to recognize the new (MPEG) file and not the old (AVI) one?

Dennis
October 31st, 2012, 08:58 AM
KRR will do that for you - if you manually transcode a file from within KRR's GUI and select your device in the Transcoding dialog, the next time you'll try to play this file on that device, this manually transcoded file will be used. It's all automatic :) You can also reset it by deleting the transcoded file - to do that, open file properties (double-click on a file in KRR), go to Transcoding tab and delete the file there. In that tab you can also export the transcoded file to a permanent location, if you wish (e.g. to replace the original).

Tom
October 31st, 2012, 09:48 AM
I must be doing something wrong. I can take a file play it using WMP (add to library and Play To Vierra) and it plays fine. Then try it using Kooraroo and I get a "cannot read file" error.

Dennis
October 31st, 2012, 10:07 AM
Can you please go to the Devices pane and check which device profile is selected for your Viera? If it doesn't match your TV, double-click on it and select a different profile.

If you manually transcoded a file that you are trying to play, I'd recommend clearing that for testing purposes. To do that, double-click on the file, go to Transcoding tab and delete all entries there.

If that doesn't help, please enable logging (tick the "Enable Logging" menu item under Tools), then stop the server and close KooRaRoo. After that run KRR again, start the server and try pushing the file to your TV. Once that fails, stop the server, shut down KRR and send the logs to support (at) kooraroo (dot) com.

To find out where logs (before you close it down), go to Tools -> Options -> File Locations and click the Open button on the Logs folder.

jsluk
November 1st, 2012, 12:35 AM
You can also move this folder to another location

Dennis, how do you set this in KRR? I go to options, transcode, file locations etc. the list shows this folder in C drive as default but I cannot change or edit this dialog box. My C drive is full. Want to move folder to another local but empty drive. I just finished copied all the transcode files into another drive. (For me, drive D). But how do I point KRR to use this new folder for future transcoding. Please help.

Dennis
November 1st, 2012, 09:14 AM
Actually you shouldn't copy the files manually - KRR will do that for you, so please copy them back (if you have space).

After that:

1) go to Tools -> Options -> File Locations
2) click the small button with three dots in the Transcoding folder
3) select your new folder (it'll be the root in which KRR will start build subfolders)
4) click OK to apply - you'll see a confirmation dialog, select "Move" and it'll start

Once it's done and there were no errors, KRR will shut down, so start it up again and the new location should now be used.

anontemp123
December 6th, 2012, 03:15 AM
A few more transcoding questions. Thought I'd put them here instead of start a new thread.

1) Is there a way to completely disable transcoding in KooKaRoo? (Instead of having to disable on a device by device basis.)

2) I read the manual, FAQ, etc but don't see any mention of what codecs have to be installed for transcoding to work. Does KooKaRoo come with its own codecs?

Dennis
December 6th, 2012, 07:13 AM
A few more transcoding questions. Thought I'd put them here instead of start a new thread.

1) Is there a way to completely disable transcoding in KooKaRoo? (Instead of having to disable on a device by device basis.)

No, not really. It's a per-device setting.

If you find that your device doesn't need transcoding of some files and KRR transcodes them, then we need to fix up the device profile for it to include those files as "native" and they'll be passed through.



2) I read the manual, FAQ, etc but don't see any mention of what codecs have to be installed for transcoding to work. Does KooKaRoo come with its own codecs?
KooRaRoo uses FFmpeg (and can use other converters as well), so no need to install any codecs on your systems - everything is included in the installation and your system is not modified in any way.

anontemp123
December 8th, 2012, 09:24 PM
If you find that your device doesn't need transcoding of some files and KRR transcodes them, then we need to fix up the device profile for it to include those files as "native" and they'll be passed through.

Is this something we can do from the GUI, or something that has to be coordinated with the developers?


KooRaRoo uses FFmpeg (and can use other converters as well), so no need to install any codecs on your systems - everything is included in the installation and your system is not modified in any way.

Is there documentation on using other converters?

Some more transcoding-related question:

Does transcoding happen frame by frame as needed or all at once? It seems like KooRaRoo will completely transcode a file before delivering it to a DLNA client. For large files, this causes my client to timeout while waiting for transcoding to complete. I am unfamiliar with transcoding, so maybe this is how it always happens.

Is there any sort of lowest common denominator all DLNA clients are supposed to support, and that's what KooRaRoo transcodes to? Or does KooRaRoo decide based on the device profile how it will transcode a file?

Dennis
December 8th, 2012, 10:28 PM
Is this something we can do from the GUI, or something that has to be coordinated with the developers?

The device profiles need to be edited manually (at least currently - perhaps there will be an editor in the future). It's an XML file called KooRaRooDevices.krrx in the databases folder.



Is there documentation on using other converters?

No, not yet, but if there are converters that perform better for some particular file types than FFmpeg, they can be easily added in.



Does transcoding happen frame by frame as needed or all at once? It seems like KooRaRoo will completely transcode a file before delivering it to a DLNA client. For large files, this causes my client to timeout while waiting for transcoding to complete. I am unfamiliar with transcoding, so maybe this is how it always happens.

Transcoding is started when a device requests a file and then goes on in the background. The way a device plays a file is really device-dependent. Many devices don't handle an unknown or a changing file size (as is the case with transcoded files) well, so there are certain tricks that KRR tries to apply to fool the device into playing a file. This is also format-dependent, as some formats are more strict and won't allow for this (e.g. technically the file needs to be fully written before it can be successfully read and played). It's also possible that the transcoding speed is not fast enough (unless you have an i5+ CPU) for real-time playback and this could be causing the timeout.



Is there any sort of lowest common denominator all DLNA clients are supposed to support, and that's what KooRaRoo transcodes to? Or does KooRaRoo decide based on the device profile how it will transcode a file?
Yes, there is a lowest common denominator, but KRR tries to find the best possible combination to deliver both the best video quality and to do that as quickly as possible.

anontemp123
December 9th, 2012, 05:51 AM
Transcoding is started when a device requests a file and then goes on in the background. The way a device plays a file is really device-dependent. Many devices don't handle an unknown or a changing file size (as is the case with transcoded files) well, so there are certain tricks that KRR tries to apply to fool the device into playing a file. This is also format-dependent, as some formats are more strict and won't allow for this (e.g. technically the file needs to be fully written before it can be successfully read and played). It's also possible that the transcoding speed is not fast enough (unless you have an i5+ CPU) for real-time playback and this could be causing the timeout.

Just to see if I'm understanding correctly: Transcoding is never frame-by-frame; however, KRR tries to stream the already transcoded parts of the file as soon as possible. In this case, it's possible that transcoding on a low-end CPU will cause lag in streaming. Likely this won't occur if KRR is able to remux. Additionally, as KRR prefers remuxing over re-encoding, for technical reasons some formats must be completely transcoded before streaming. (As opposed to if KRR never remux-ed and, instead, KRR always transcoded to an immediately streamable format. This would be somewhat similar to LXiMedia.)

Does that sound correct at all?

Dennis
December 9th, 2012, 06:46 AM
Just to see if I'm understanding correctly: Transcoding is never frame-by-frame; however, KRR tries to stream the already transcoded parts of the file as soon as possible. In this case, it's possible that transcoding on a low-end CPU will cause lag in streaming. Likely this won't occur if KRR is able to remux. Additionally, as KRR prefers remuxing over re-encoding, for technical reasons some formats must be completely transcoded before streaming. (As opposed to if KRR never remux-ed and, instead, KRR always transcoded to an immediately streamable format. This would be somewhat similar to LXiMedia.)

Does that sound correct at all?
Yes, pretty much...

KooRaRoo will attempt to start streaming as soon as it has enough data for a few full frames. KRR will try to remux when it can (because it's faster and preserves original quality), but of course this depends on what the device supports and the device profile used and the original file. Some formats, such as MP4 cannot be streamed until fully encoded (because of the MOOV atom that needs to be placed in the beginning of the file, but can only be done after the whole file is written). This can all be tweaked by editing the device profile and additionally you can manually force transcoding of some files from within the GUI if remuxing them produces unplayable files (which can happen if the video stream is compatible with what the device should support on a higher level, but is actually encoded in a way that cannot be handled by the device's decoder properly).

anontemp123
December 11th, 2012, 01:13 AM
Is there any way to force transcoding for all files on a particular device?

Also, when I first transcode a file manually, the grid in the GUI will list the transcoded video/audio/subtitle information in the grid right below with the thumbnail, filename, type, and bitrate. However, after restarting the GUI, I can't get this information to display again. I prefer this quick reference over clicking File Properties->Transcoding, especially because that Transcoding tab doesn't have a "Subtitles" column.

Dennis
December 11th, 2012, 07:13 AM
Is there any way to force transcoding for all files on a particular device?
You could set the Default profile for it, which will transcode anything that's not MPEG2. Can you please tell me for which device you'd want to do this?



Also, when I first transcode a file manually, the grid in the GUI will list the transcoded video/audio/subtitle information in the grid right below with the thumbnail, filename, type, and bitrate. However, after restarting the GUI, I can't get this information to display again. I prefer this quick reference over clicking File Properties->Transcoding, especially because that Transcoding tab doesn't have a "Subtitles" column.
The file information displayed beside the thumbnail in the main view is what the original file is - it does not display what it is transcoded to. It's shown when you click on the blue file type - is that the one you mean?

anontemp123
December 11th, 2012, 08:17 AM
I inquired about forced transcoding to experiment with my TV and learn a bit more about how transcoding works in KRR. That's all.


The file information displayed beside the thumbnail in the main view is what the original file is - it does not display what it is transcoded to. It's shown when you click on the blue file type - is that the one you mean?

Yes, that's the one! I must have accidentally clicked the blue-colored file type. Thanks.

Dennis
December 11th, 2012, 08:26 AM
The easiest way to experiment would be to assign different profiles to your TV and then do manual transcoding of files (manual transcoding allows you to select one of the connected profiles and lists various file containers and codecs supported). Just remember to clear up those transcoded files after (via the Transcoding tab).