It’s okay dude, VR is very clearly not for you.
I honestly don’t play much VR these days (the setup is just too cumbersome) but when I did I would play standing up with like a 10 meter extension cable. Playing seated and/or snap/teleport was worse and less immersive than just playing the game regularly on a 2D monitor.
Yeah, agreed. If you’re seated with a gamepad it’s not even VR, it’s just bad 3D.
Hi all, I just purchased and received my Redmagic 3D Explorer – and I’m wondering if I received a defective unit. When I go into the 3D Frame or 3D Player pre-installed apps and view the demo photos or video, they all seem ‘jittery’ and do NOT pop out at all. I think this might be some major “crosstalk”. Is there some tool that should be used to calibrate things? I also have a Spacial Labs Acer Aspire laptop and also a Samsung Odyssee 3D monitor and they look great with 3D content (or using SBS/TB videos). But this Red Magic is completely jittery. Any help would be appreciated before I try to contact their tech support (in Chinese, ugh!).
It depends on the content. I have seen that ghosting jitter, but it was rare for me.
sorry, i have to come back and apologize for the terrible things i said. my l.p.2 has not been connected to the wifi for nearly 9 months, i moved and never bothered to check for updates since. whatever has happened during that time has drastically improved crosstalk issues. even 2003 ocean wonderland with it’s extreme negative parallax looks beautiful now. i’m truly sorry and thanks for the update that fixed it. SBS movies look perfect and leia pix do as well. even glancing back and forth from the tv. impressive, wish i could take back what i said
Ok thanks. 2 of my 10 Explorer 3D units was not working completely (unit works but 3D not visible). Seems they have a quality control issue with a batch of them. And seems there’s no knowledge posted anywhere on how to diagnose it unfortunately. Guess I just have to send these back (overseas).
it’s no problem. your experience is your experience
Is there a solution to the problem that the Red Magic Pad 3D explorer edition plays 3d video without sound can’t play 3D video without sound, can’t play NAS video and can’t load subtitles?
Yeah it’s kinda lame but for sound you can scroll up a little ways I talk about using universal media server with my voyage phone to get sound without having to convert the audio but im not exactly sure if it’ll work on the red magic since no one ever confirmed but the video player would need to show up in x plores share menu for it to work. Or else there’s a app up there I shared which converts very fast the audio. Sorry idk about subtitles or a NAS
1、I haven’t tried the method you mentioned; I don’t have a voyage phone, so I don’t know if this method can achieve the original 3D video effect.
2、I tested using Ark Player, MX Player, and Kodi and was able to play 3D videos locally or from my NAS. This also resolved the issue of some videos playing without sound and unable to load subtitles in the system player. However, another problem remains: the original 3D effect of the video is not displayed; the image is either 2D or two separate side-by-side views.
3、In developer mode, I selected to show package names and then opened the 3D video using the system’s built-in file manager. It indicated that it was calling com.zte.VideoPlayer. However, when I tested with other file managers, after selecting the 3D video file and choosing “视频” (com.zte.VideoPlayer) as the player, the package name showed that it was calling com.zte.VideoPlayer, but a completely new and unfamiliar player appeared, displaying two separate side-by-side views. I don’t understand why the same player displays a 3D effect when opened with the system’s built-in file manager, but a completely different situation when opened with other file managers.
4、I still haven’t solved the problems of displaying native 3D effects when playing video files on the NAS, having no sound when playing some 3D videos, and being unable to load subtitles. All of the above issues are related to 3D playback; the 2D playback problems have already been resolved.
So I bought the Redmagic 3D Explorer back in December, and I wanted to share my experience. First, a big thank you to everyone who posted info in this thread before me—it really helped me decide to buy it and made the setup much easier. I won’t repeat what’s already been said, and will try to add some useful insights instead.
Why I decided to buy it
-
I’ve been using my Android phone more and more for work lately, and realized a powerful tablet could cover most of my needs. When on the go, my previous setup included my phone, an iPad, and a Windows laptop, and I wanted a single device to replace them all. Surprisingly, this one actually does—although I still use my phone, just a lot less now.
-
Specs
-
For work: I genuinely bought this to replace my office laptop, and it comes very close (I still rely on a desktop PC for heavier tasks). I really enjoy having a single, lighter device that covers almost all my needs—this alone makes the price worth it to me.
-
For gaming: I don’t play that much, but Game Space is convenient for keeping everything in one place, especially with per-game settings. I can run Android AAA games smoothly, including with 2D-to-3D conversion. That said, the device heats up pretty quickly in this mode, so I ended up buying a phone cooler. PC and Switch emulation do work, but it’s more hit-or-miss than reliable, so I wouldn’t really recommend it.
-
-
Form factor
-
12.1" 3D display with 2.5K resolution and plenty of brightness—large enough for real work, yet still portable.
-
Slightly on the heavy side—you won’t want to hold it for too long without support
-
-
Accessories I use
-
Redmagic 3D Explorer keyboard case. This is a must have for office work.
-
JLab GO mouse
-
USB-C adapter + 1TB microSD card
-
Memo CX12. To use it, I lower the top part of the back cover and placed a magnetic patch near the upper center on the left side, just below the pinhole.
-
PB Tails Choc game controller
-
SIM support is a nice bonus, although I’m not using it yet
-
What I find great to amazing
Charge SEP
Probably the best feature overall for preserving battery health over time.
Glasses-free 3D screen
This is the main reason to buy the device—and it delivers.
The display quality is excellent, especially with high-resolution content (4K–8K). I use it every day and I’m genuinely impressed.
A few notes:
-
I haven’t experienced any flickering (contrary to some reports).
-
Very little ghosting in 3D movies or 2D-to-3D conversion, as long as the source quality is good.
-
VR content is a different story—ghosting can be quite significant, likely due to how it’s filmed rather than just resolution.
-
When using 2D-to-3D tools (I use iw3 instead of Owl3D), ghosting increases if:
-
Convergence Plane ≠ 0.5
-
3D strength is too high (e.g. > 2)
-
2D-to-3D conversion (one click)
I was never a fan of 2D-to-3D conversion before—quality was usually poor. But here, it’s surprisingly good, sometimes even better than dedicated tools.
It’s also so convenient that I use it all the time: movies, games, even comics.
I recently watched the latest Avatar movie in high quality, and it felt close to the real 3D experience about 85% of the time. The remaining 15% comes from:
-
Occasional depth estimation errors
-
Persistent visual artifacts, especially from “inpainting”. Fair warning: Don’t look it up if you don’t know what it is! Once you notice those artifacts, you can’t really unsee them.
That’s also why I’m fine with the current depth settings—I don’t really need a manual depth slider, as it would make those issues more visible.
What I find not so great
-
3D expansion screen
-
Not very convenient
-
Encoding quality is poor
-
Honestly, this feature could be removed
-
I just use VLC to access my 2D library over my local network and apply 2D-to-3D conversion instead.
- No native support for streaming 3D content from local network
Possible improvements:
-
Add a third mode to the overlay button: 2D / 2D->3D / 3D->3D
(though detecting formats like Full vs Half SBS would still be tricky, not mentioning VR) -
Or more simply allow network access (e.g. Samba) in File Manager, since it’s the only app supporting the 3D player natively (it can already play 3D videos directly from USB!)
What’s missing
-
Better VR controls in the 3D player
-
Relying on the gyro alone isn’t ideal—the device is quite heavy, making it difficult to keep it properly centered
-
Current touch controls: brightness (left), volume (right)
-
I’d love to have, from the center:
-
pinch to zoom
-
swipe to control camera direction
-
-
-
Support for more 3D formats (and codecs, but I’ll discuss it further below)
- Especially full/half top-bottom—Maybe it’s possible with extensions, but I haven’t figured it out yet
-
Stylus support
- This is a big one for productivity. I was told the Nova Stylus isn’t compatible—this really needs a solution. Please, please, pretty please, Redmagic… help me out here

- This is a big one for productivity. I was told the Nova Stylus isn’t compatible—this really needs a solution. Please, please, pretty please, Redmagic… help me out here
About the native 3D player (advanced use)
Here’s how I personally use it.
I keep a library of 3D movies on my Windows PC and convert them into a compatible format before transferring them to my microSD card. The setup is very quick, and even though I’d like broader codec support and the ability to stream 3D content, I don’t really have anything to complain about.
Supported formats (from my testing)
-
Video: H.264 / H.265 (must be stream 0)
-
Audio: AAC or MP3 (must be stream 1)
- No TrueHD, DTS, or AC3
-
Subtitles: ignored unless hardcoded
Supported 3D formats (naming-based)
-
Full SBS →
_2x1or_sb(filename) -
Half SBS →
_half_2x1(filename) -
VR360 (top-bottom) →
_tb_360(filename) -
VR180 →
_VR(folder name) -
360 (2D) →
_360(folder name)
Please let me know if you’ve found any other formats that work.
My workflow
I use ffmpeg with batch scripts to automate everything. Setup takes less than 2 minutes.
-
Convert video format if needed (stream 0)
-
Adjust 3D format when required
-
Convert audio to AAC stereo track (stream 1)
-
Extract subtitles if necessary
-
Re-mux into the original mkv using MKVToolNix GUI (video as stream 0, audio as stream 1; other streams can remain unchanged)
Then:
-
Copy to microSD
-
Open via File Manager → launch native 3D player
Processing time depends on hardware, but I rarely need to re-encode video—mostly just audio adjustments.
For your convenience, I’m sharing some sample ffmpeg scripts below:
ECHO OFF
set path="C:\Program Files\ffmpeg";%path%
for /f “usebackq delims=” %%i in (dir /b /o *.mkv) do (
REM Process all *.mkv files in current folder
REM Examples of ffmpeg command, pick one only !
REM Reencode any video format with H264 (lower crf option for higher quality and resulting file size)
ffmpeg -y -i “%%i” -c:v libx264 -preset slow -crf 16 -pix_fmt yuv420p -c:a copy “%%~ni.mkv”
REM Reencode any audio format with AAC
set /a track_selected=0 > nul 2>&1
ffmpeg -y -i “%%i” -map 0:v:0 -map 0:a:!track_selected! -c:v copy -c:a aac -ac 2 “%%~ni.mkv”
REM Reencode audio with AAC and export audio only
REM Then you can merge as stream 1 with original mkv in mkvtoolnix-gui
set /a track_selected=0 > nul 2>&1
ffmpeg -y -i “%%i” -map 0:a:!track_selected! -c:v -1 -c:a aac -ac 2 -map_chapters -1 “%%~ni.aac”
REM Extract subtitles from mkv files
REM Then you can merge as subtitles with converted video in mkvtoolnix-gui
ffmpeg -y -i “%%i” -map 0:s:0 -c:v -1 -c:a -1 -map_chapters -1 “%%~ni.srt”
REM Flip Left and Right images in SBS format
ffmpeg -y -i “%%i” -vf “stereo3d=sbs2l:sbs2r” -c:v libx264 -preset slow -crf 16 -pix_fmt yuv420p -c:a copy “%%~ni_half_2x1.mkv”
REM Reencode Top-Bottom video into SBS format
ffmpeg -y -i “%%i” -vf “v360=in_stereo=tb:input=flat:out_stereo=sbs:output=flat,scale=iw/2:2*ih,setsar=sar=1,setdar=dar=w/h” -c:v libx264 -preset slow -crf 16 -pix_fmt yuv420p -c:a copy “%%~ni_half_2x1.mkv”
)
pause
Final thoughts
Overall, I’m very happy with the device. The glasses-free 3D experience alone makes it worth it for me, and it’s surprisingly capable as a work machine too.
It’s not perfect—especially on the software side—but it already does a lot right, and with very few improvements it could be an incredible all-in-one device.
My English is very poor, so I reply in Chinese. I suggest you check it with the help of translation function.
我不会编程,所以借助AI写了个兼容红魔平板3D探索版的批处理,可以自动检测并批量转码3D视频以兼容播放,目前经过几次测试功能正常。需要自行安装ffmpeg并配置好Path路径。
红魔平板3D探索版 视频工具 V14版主要功能:
1、把视频和工具放到一个文件夹内,运行后自动检测视频兼容性,并输出视频信息至视频文件编码信息.csv;
2、自动将不兼容视频移至带转码文件夹中,区分为完全不能播放、能播放视频无声音、能播放声音无画面;
3、只对不兼容视频、音频转码,兼容格式直接复制,减少转码时间;
4、自动识别N卡I卡,采用显卡加速,如显卡加速失败使用CPU转码;
5、不兼容视频转码为H265格式,视频分辨率及码率保持原视频参数,不兼容音频转码为acc格式,原音频采样率小于320k采用原采样率,大于320k采用320k,如果音频采样率未获取到,转码直接用192k采样率;
6、自动检测视频分辨率,与视频信息内的DAR对比,若视频分辨率与DAR比例不统一,按DAR更改视频分辨率;
7、转码尽量保持原视频音轨字幕,转码后统一MKV封装;
8、转码后视频放入输出完成文件夹,转码后视频文件统一增加_RM3D后缀;
9、视频分析阶段增加进度显示,转码完成增加进度显示,共xx个视频,兼容放行xx个,转码xx个,显示开始时间、完成时间、总用时。
:: =================================================================
:: 【 V14 关键修复说明 】
:: =================================================================
:: 修复点:将硬件探测的测试画面尺寸从 128x128 提升至 256x256。
:: 逻辑:部分 NVIDIA 显卡不支持过低分辨率的 HEVC 编码,导致之前探测失败。
:: 结果:现在能准确识别并锁定 NVIDIA 独立显卡加速。
:: =================================================================
:: [ 变量初始化 ]
set “START_TIME=%time: =0%”
set /a “TOTAL_FILES=0”
set /a “COMPAT_FILES=0”
set /a “TRANS_FILES=0”
set /a “ANALYZE_INDEX=0”
:: — [0. 环境初始化] —
set “ROOT=%~dp0”
set “W_DIR=%~dp0待转码”
set “O_DIR=%~dp0输出完成”
set “CSV=%~dp0视频文件编码信息.csv”
set “TMP_L=%temp%\rm3d_v14_final_list.tmp”
if not exist “%W_DIR%” mkdir “%W_DIR%”
if not exist “%O_DIR%” mkdir “%O_DIR%”
set “D_BOTH=%W_DIR%\完全不能播放”
set “D_SND=%W_DIR%\能播放视频无声音”
set “D_VID=%W_DIR%\能播放声音无画面”
for %%d in (“%D_BOTH%” “%D_SND%” “%D_VID%”) do if not exist “%%~d” mkdir “%%~d”
:: -----------------------------------------------------------------
:: [1. 硬件引擎探测逻辑] (修复尺寸限制)
:: -----------------------------------------------------------------
set “V_E=libx265”
set “P_F=yuv420p10le”
set “Q_C=-crf 18”
set “G_NAME=CPU 模式 (libx265)”
set “HW_LOCKED=0”
echo [*] 正在探测显卡硬件并匹配最佳参数 (V14 引擎锁定)…
:: — 第一步:探测 NVIDIA (将尺寸改为 256x256 以绕过 N 卡最小尺寸限制) —
ffmpeg -v quiet -h encoder=hevc_nvenc >nul 2>&1
if !errorlevel! equ 0 (
ffmpeg -v quiet -y -f lavfi -i color=black:s=256x256:d=0.1 -c:v hevc_nvenc -f null - >nul 2>&1
if !errorlevel! equ 0 (
set “V_E=hevc_nvenc”
set “P_F=p010le”
set “Q_C=-rc vbr -cq 22 -preset p3 -tune hq”
set “G_NAME=NVIDIA 显卡加速 (NVENC)”
set “HW_LOCKED=1”
echo [HOT] 成功锁定 NVIDIA 独立显卡加速。
)
)
:: — 第二步:若 N 卡不可用,探测 Intel QSV —
if “!HW_LOCKED!”==“0” (
ffmpeg -v quiet -y -f lavfi -i color=c=black:s=256x256:d=0.1 -c:v hevc_qsv -low_power 0 -f null - >nul 2>&1
if !errorlevel! equ 0 (
set “V_E=hevc_qsv”
set “P_F=p010le”
set “Q_C=-global_quality 22 -preset fast -low_power 0”
set “G_NAME=Intel 显卡加速 (QuickSync HEVC)”
set “HW_LOCKED=1”
echo [OK] 发现 Intel 核显加速。
)
)
echo [DONE] 最终锁定引擎: !G_NAME!
echo.
:: -----------------------------------------------------------------
:: [2. 静态分析阶段] (V14 原始全量代码)
:: -----------------------------------------------------------------
echo [*] 正在分析视频特征与画面比例…
echo 文件名,视频编码,分辨率,视频码率,音频编码,声道,音频码率,3D格式,支持红魔3D > “%CSV%”
if exist “%TMP_L%” del “%TMP_L%”
for /r “%ROOT%” %%F in (*.mp4 *.mkv *.ts *.m2ts *.mov *.wmv *.avi) do (
set “skip=”
set “f_path=%%~dpF”
if “!f_path:%W_DIR%=!” neq “!f_path!” set skip=1
if “!f_path:%O_DIR%=!” neq “!f_path!” set skip=1
if not defined skip (
echo %%F >> “%TMP_L%”
set /a “TOTAL_FILES+=1”
)
)
if !TOTAL_FILES! equ 0 ( echo [!] 未发现待处理视频。 & pause & exit )
for /f “usebackq delims=” %%F in (“%TMP_L%”) do (
set /a “ANALYZE_INDEX+=1”
title 正在分析视频特征: !ANALYZE_INDEX! / !TOTAL_FILES!
echo [分析中] !ANALYZE_INDEX! / !TOTAL_FILES!: %%~nxF
call :ProcessAnalyze “%%F”
)
title 红魔平板3D探索版 视频工具 V14
powershell -Command “$c = Get-Content ‘%CSV%’; $c | Out-File -FilePath ‘%CSV%’ -Encoding UTF8”
:: -----------------------------------------------------------------
:: [3. 转码执行阶段] (V14 原始全量代码)
:: -----------------------------------------------------------------
echo.
echo [*] 正在启动智能适配处理…
set /a “TASK_COUNT=0”
set /a “CURRENT_INDEX=0”
for /r “%W_DIR%” %%G in (.) do ( set /a “TASK_COUNT+=1” )
for /r “%W_DIR%” %%G in (.) do (
set /a “CURRENT_INDEX+=1”
set /a “PERCENT=(!CURRENT_INDEX!*100)/!TASK_COUNT!”
echo.
echo ---------------------------------------------------------
echo [转码进度: !CURRENT_INDEX! / !TASK_COUNT!] 完成度: !PERCENT!%%
echo ---------------------------------------------------------
call :ProcessTranscode “%%G”
)
:: =================================================================
:: [ 结算阶段 ]
:: =================================================================
set “END_TIME=%time: =0%”
set /a “start_h=11%START_TIME:~0,2% %% 100, start_m=11%START_TIME:~3,2% %% 100, start_s=11%START_TIME:~6,2% %% 100, start_ms=11%START_TIME:~9,2% %% 100”
set /a “end_h=11%END_TIME:~0,2% %% 100, end_m=11%END_TIME:~3,2% %% 100, end_s=11%END_TIME:~6,2% %% 100, end_ms=11%END_TIME:~9,2% %% 100”
set /a “start_total=(start_h360000)+(start_m6000)+(start_s100)+start_ms"
set /a "end_total=(end_h360000)+(end_m6000)+(end_s100)+end_ms”
set /a “diff=end_total-start_total”
if %diff% lss 0 set /a “diff+=8640000”
set /a “hours=diff/360000, minutes=(diff%%360000)/6000, seconds=(diff%%6000)/100”
echo.
echo =========================================================
echo 处理完毕。当前版本: V14 (旗舰性能统计全开版)
echo ---------------------------------------------------------
echo 任务总计视频: !TOTAL_FILES! 个
echo 兼容直接放行: !COMPAT_FILES! 个
echo 触发转码处理: !TRANS_FILES! 个
echo ---------------------------------------------------------
echo 任务开始时间: %START_TIME%
echo 任务结束时间: %END_TIME%
echo 累计运行时间: %hours% 小时 %minutes% 分 %seconds% 秒
echo =========================================================
pause
exit
:: [子程序略, 保持 V14 原始逻辑不变]
:ProcessAnalyze
set “file=%~1”
set “fname=%~nx1”
set “v_c=未知” & set “v_res=未知” & set “a_c=未知” & set “a_ch=未知”
for /f “tokens=1,2,3 delims=,” %%a in (‘ffprobe -v error -select_streams v:0 -show_entries stream^=codec_name^,width^,height -of csv^=p^=0 “%file%”’) do (
set “v_c=%%a” & set “v_res=%%bx%%c” & set “raw_w=%%b” & set “raw_h=%%c”
)
for /f “delims=” %%a in (‘ffprobe -v error -select_streams v:0 -show_entries stream^=display_aspect_ratio -of csv^=p^=0 “%file%”’) do set “v_dar=%%a”
for /f “tokens=1,2 delims=,” %%a in (‘ffprobe -v error -select_streams a:0 -show_entries stream^=codec_name^,channels -of csv^=p^=0 “%file%”’) do (
set “a_c=%%a” & set “a_ch=%%b”
)
:: [ 5.1 声道显示逻辑修复 ]
if “!a_ch!”==“6” set “a_ch=5.1”
set “calc_vbr=未知”
for /f “delims=,” %%i in (‘ffprobe -v error -show_entries format^=bit_rate -of csv^=p^=0 “%file%”’) do (
set “r_vbr=%%i”
if not “!r_vbr!”==“” if “!r_vbr!” NEQ “N/A” (
set /a vk=!r_vbr!/1000 2>nul
set “calc_vbr=!vk! kbps”
)
)
set “r_abr_val=” & set “calc_abr=未知”
for /f “delims=,” %%i in (‘ffprobe -v error -select_streams a:0 -show_entries stream^=bit_rate -of csv^=p^=0 “%file%”’) do ( set “r_abr_val=%%i” )
if “!r_abr_val!”==“” ( for /f “delims=,” %%i in (‘ffprobe -v error -show_entries format^=bit_rate -of csv^=p^=0 “%file%”’) do ( set “r_abr_val=%%i” ) )
if not “!r_abr_val!”==“” if “!r_abr_val!” NEQ “N/A” (
set /a ak=!r_abr_val!/1000 2>nul
set “calc_abr=!ak! kbps”
)
set “s3d=2D”
echo “!fname!” | findstr /i “3D SBS LR 左右 HSBS” >nul && set “s3d=3D-SBS”
echo “!fname!” | findstr /i “MVR” >nul && set “s3d=3D-MVR”
:: — [3D格式精准识别] —
:: 使用 /c: 参数将关键词视为独立短语,避免空格干扰。
:: 只有文件名确实包含 HOU、上下 或特定标签 TAB、[TAB] 时才标记为上下 3D。
if “!s3d!”==“2D” (
echo “!fname!” | findstr /i /c:“HOU” /c:“TAB” /c:“[TAB]” /c:“上下” >nul && set “s3d=3D-HOU”
)
:: =========================================================
set “v_need=0” & set “a_need=0”
if /i “!v_c!” NEQ “h264” if /i “!v_c!” NEQ “hevc” if /i “!v_c!” NEQ “wmv3” set “v_need=1”
if “!s3d!”==“3D-HOU” set “v_need=1”
set “a_ok=0”
:: 兼容音频格式aac mp3 flac wav wmav2 dts 增加到白名单中
for %%e in (aac mp3 flac wav wmav2 dts) do (if /i “!a_c!”==“%%e” set “a_ok=1”)
if “!a_ok!”==“0” set “a_need=1”
set “res=√”
set “target=”
if “!v_need!”==“0” if “!a_need!”==“1” (set “res=无声音” & set “target=%D_SND%”)
if “!v_need!”==“1” if “!a_need!”==“0” (set “res=无画面” & set “target=%D_VID%”)
if “!v_need!”==“1” if “!a_need!”==“1” (set “res=×” & set “target=%D_BOTH%”)
echo “!fname!”,“!v_c!”,“!v_res!”,“!calc_vbr!”,“!a_c!”,“!a_ch!声道”,“!calc_abr!”,“!s3d!”,“!res!” >> “%CSV%”
if “!res!”==“√” ( set /a “COMPAT_FILES+=1” ) else ( move “%file%” “!target!” >nul )
goto :eof
:ProcessTranscode
set “in=%~1”
set “out_n=%~n1_RM3D.mkv”
echo [!V_E!] 正在重构引擎处理: “%~nx1”
for /f “tokens=1,2 delims=x” %%a in (‘ffprobe -v error -select_streams v:0 -show_entries stream^=width^,height -of csv^=s^=x:p^=0 “%in%”’) do ( set “pw=%%a” & set “ph=%%b” )
for /f “delims=” %%a in (‘ffprobe -v error -select_streams v:0 -show_entries stream^=display_aspect_ratio -of csv^=p^=0 “%in%”’) do set “dar=%%a”
set “v_fix=”
if not “%dar%”==“” if “%dar%” NEQ “N/A” (
for /f “tokens=1,2 delims=:” %%m in (“%dar%”) do (
set /a tw=!ph! * %%m / %%n 2>nul
if not “!tw!”==“!pw!” (
set /a mod=!tw! %% 2
if !mod! equ 1 set /a tw-=1
set “v_fix=scale=!tw!:!ph!,setdar=!dar!”
)
)
)
set “final_vf=”
:: =========================================================
:: 第二处修改:转码阶段 - 画面重组逻辑
:: =========================================================
:: 使用 /c: 精确匹配,彻底拦截 Table 等单词对 TAB 的误触
echo “%~nx1” | findstr /i /c:“HOU” /c:“TAB” /c:“[TAB]” /c:“上下” >nul && (
:: 情况 A:确实是“上下格式”,执行砍掉一半高度并左右拼接的复合滤镜
set “final_vf=crop=iw:ih/2:0:0,split[t][b];[t]scale=iw:ih[l];[b]scale=iw:ih[r];[l][r]hstack”
if defined v_fix ( set “final_vf=!final_vf!,!v_fix!” )
) || (
:: 情况 B:非上下格式(如你的 Table 文件),跳过重组滤镜,仅检查是否需要比例微调
if defined v_fix ( set “final_vf=!v_fix!” )
)
:: =========================================================
set “v_cmd=-c:v copy”
if defined final_vf ( set “v_cmd=-c:v !V_E! !Q_C! -pix_fmt !P_F! -vf “!final_vf!”” ) else (
for /f “delims=” %%a in (‘ffprobe -v error -select_streams v:0 -show_entries stream^=codec_name -of csv^=p^=0 “%in%”’) do set “cv=%%a”
if /i “!cv!” NEQ “h264” if /i “!cv!” NEQ “hevc” if /i “!cv!” NEQ “wmv3” (set “v_cmd=-c:v !V_E! !Q_C! -pix_fmt !P_F!”)
)
set “a_cmd=-c:a copy”
for /f “delims=” %%a in (‘ffprobe -v error -select_streams a:0 -show_entries stream^=codec_name -of csv^=p^=0 “%in%”’) do set “ca=%%a”
set “asup=0”
:: =================================================================
:: 智能音频兼容性判断转码逻辑 (V14 增强版)
:: =================================================================
:: 1. 兼容性初筛 aac、mp3、falc、wav、wma2、dts 格式,都标记为支持
for %%e in (aac mp3 flac wav wmav2 dts) do (if /i “!ca!”==“%%e” set “asup=1”)
:: 如果不在白名单内,才转码为 aac
if “!asup!”==“0” (
:: 默认容错:若码率未知,取 192k 以平衡体积与听感
set “target_abr=192k”
:: 检查分析阶段传递的 GLOBAL_ORIG_ABR 是否合法数字
if defined GLOBAL_ORIG_ABR if /i "!GLOBAL_ORIG_ABR!" NEQ "N/A" (
set "test_num="
set /a test_num=!GLOBAL_ORIG_ABR! 2>nul
if defined test_num (
:: 动态判定:原码率 < 320k 时保留原样,否则封顶 320k
if !GLOBAL_ORIG_ABR! LSS 320000 (
set /a abr_k=!GLOBAL_ORIG_ABR! / 1000
set "target_abr=!abr_k!k"
) else (
set "target_abr=320k"
)
)
)
:: 应用参数:将计算好的码率填入指令
set "a_cmd=-c:a aac -ac 2 -b:a !target_abr!"
echo [AUDIO] 动态适配转码码率: !target_abr!
)
:: =================================================================
:: 精准判定:只有需要重编码的文件才执行 FFmpeg 并输出,否则直接跳过
if “!v_cmd!!a_cmd!” NEQ “-c:v copy-c:a copy” (
set /a “TRANS_FILES+=1”
ffmpeg -threads 0 -fflags +genpts+discardcorrupt -i “%in%” -map 0 !v_cmd! !a_cmd! -c:s copy -map_metadata 0 “%O_DIR%!out_n!” -y
if !errorlevel! equ 0 (echo [√] 成功) else (echo [×] 失败)
) else (
echo [√] 兼容直接放行:文件保留在原处,不重复输出。
)
goto :eof