MXF/MPG broadcast format support: handle multichannel audio properly
Problem: MXF and MPG files (TV broadcast formats) often contain: - Multiple audio streams (4-8 streams for different language tracks) - Multichannel layouts (5.1, 7.1) instead of stereo - Default ffmpeg behavior was -c:a aac without channel limit, which meant multichannel got transcoded as multichannel AAC, overwriting what should have been clean stereo Solution: 1. get_audio_streams() helper probes all audio streams with ffprobe - Returns codec, channels, sample_rate, language, layout for each 2. build_audio_args() picks best stream + downmix: - Prefers first 2-channel stereo stream (usually main mix) - Falls back to first stream if none are 2-ch - Always: -ac 2 (force stereo downmix), -ar 48000, -c:a aac, -b:a 192k - Bitrate raised from 128k to 192k for music quality 3. Smart trim path now detects broadcast formats: - .mxf, .mpg, .mpeg, .ts, .m2ts, .mts → transcode (not stream copy) - Standard MP4/MOV → stream copy (faster, lossless) 4. Pre-conversion step for broadcast files without trim: - Even without --start/--duration, MXF/MPG get converted to MP4 - Same audio handling as trim path 5. Main render adds explicit -map 0:v:0 -map 0:a:0? -ac 2 to ensure only first video and first audio stream get encoded, with stereo 6. ACR recognize also gets -map 0:a:0 -ac 2 for MXF compatibility 7. UI accepts: video/*,.mxf,.mpg,.mpeg,.ts,.m2ts,.mts 8. Upload limit raised: 2GB → 10GB (MXF files are large) This means a TV broadcast MXF with [SLO/EN/DE language tracks] now correctly outputs stereo MP4 with the main language track preserved.
This commit is contained in:
@@ -290,7 +290,7 @@
|
||||
</svg>
|
||||
<div>Klikni ali povleci video sem</div>
|
||||
<div class="small">.mp4, .mov, .webm — do 2 GB</div>
|
||||
<input type="file" id="file-input" accept="video/*" style="display:none">
|
||||
<input type="file" id="file-input" accept="video/*,.mxf,.mpg,.mpeg,.ts,.m2ts,.mts" style="display:none">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user