-
Notifications
You must be signed in to change notification settings - Fork 3
Tutorial
At this stage, you should have installed PoisonConvert on your System. You may get settings-errors when you start, so go to the settings-menu and fix them. If you don't get any errors, proceed with the chapter "Creating your own configuration". After all settings are valid, type "config-file" to create your own config-file. Choose any filename you want.
If all your settings are set correctly, you can configure the program. First you should check to which format movies should be converted. If you know everything about your "target"-file, you can create a so-called target. Go into the config-menu by typing "config" in the main-menu an subsequently: "new"-"target"-"video" to specify the parameters for the video. Set all needed parameters and confirm your selection. Now do the same for "audio" and "sub" (subtitles).
Note that you can also create more than one target if you need to.
Now you can create search rules or simply "rules" to identify the movies that you want to convert. There are a few things to consider when writing rules: You can assign a priority to any rule you create. Rules with higher priorities get processed first. Add all parameters, choose a priority and then assign the appropriate target. If a file matches these parameters, it will be processed with the outcome specified in the assigned target. This procedure is executed for "video"-, "audio"- and "subtitle" rules. What's important about this: if the videostream matches but the audiostream does not, no audio will be present in your target file! Therefore, you always should add a low-priority-rule where all values are "-" (which means "any") in the case that no other rules match.
If you have configured PoisonConvert you are ready to start. You can start PoisonConvert manually from within the main menu or you can start it with a command line argument by typing: poisonconvert --start. The latter is especially handy when you schedule PoisonConvert (see: https://github.com/CutePoisonX/PoisonConvert/wiki/Scheduling).
This section will give you a brief explanation about the configurations of the AppleTV3 file.
The first step is to identify which formats are accepted by the AppleTV. We can check this at: https://support.apple.com/kb/SP648
Basically, by looking at this document we can extract the accepted formats. The most relevant specifications are:
- Container: m4v, mp4 and mov
- Videocodec: h264
- Audiocodec: AAC, MP3, AIFF, WAV and Dolby Digital which is basically AC3
So the targets should be:
Videotarget 1)
- Container: m4v,
- Codec: copy
- Other things: unchanged
Videotarget 2)
- Container: m4v,
- Codec: h264
- Other things: unchanged
There are two video targets because the second one will always convert the codec to h264 and the first one will copy the codec. However, if we find a movie that already has h264 as codec, we don't need to convert it, so we assign the first video-target to that rule. The audio- and subtitle targets are:
Audiotarget 1)
- Codec: copy
- Other things: unchanged
Audiotarget 2)
- Codec: AC3
- Other things: unchanged
Audiotarget 3)
- Codec: libfaac
- Other things: unchanged
Subtitletarget 1)
- Codec: mov_text
Note that the subtitle codec isn't mentioned directly in the apple-document but a quick google search yields that this subtitle format is supported. Ok, we have our targets. Now lets take a look at the rules:
Videorule 1)
- Container: is not m4v
- Codec: is h264 -> assign to target: Videotarget 1)
So, if we find a video that has a different container than m4v, but the right codec, we only change the container without modifying the codec itself.
Videorule 2)
- Codec: is not h264 -> assign to target: Videotarget 2)
Now we have to convert the codec, therefore we assign this rule to target 2.
Videorule 3)
- Container: is m4v
- Codec: is h264 -> assign to target: Videotarget 1)
This only copies the videostream in case that it already has the correct format. And now to the audio-rules:
Audiorule 1)
- Codec: is not AC3
- Channels: is 6 -> assign to target: Audiotarget 2)
If we have a 5.1 setup but the codec is not AC3, we want to convert it.
Audiorule 2)
- Codec: is not AAC
- Channels: is 2 -> assign to target: Audiotarget 3)
If we have a stereo setup but the codec is not AAC, we want to convert it.
Audiorule 3)
- Codec: is AAC -> assign to target: Audiotarget 1)
Perfect, copy it!
Audiorule 4)
- Codec: is AC3 -> assign to target: Audiotarget 1)
Perfect, copy it!
Audiorule 5)
- Any stream -> assign to target: Audiotarget 2)
In case that no other rule matched, we convert the audio to AC3. And last but not least, the subtitlerules:
Subtitlerule 1)
- Codec: is not mov_text -> assign to target: Subtitletarget 1)
This is straightforward. We only accept the codec "mov_title", so if it does not match, we convert it.