filecxx / FileCentipede

Cross-platform internet upload/download manager for HTTP(S), FTP(S), SSH, magnet-link, BitTorrent, m3u8, ed2k, and online videos. WebDAV client, FTP client, SSH client.
http://filecxx.com
6.99k stars 452 forks source link

is there any option for m3u8 to mp4 without Possible MPEG-TS in MP4 container or malformed AAC timestamps. #428

Open candrapersada opened 1 year ago

candrapersada commented 1 year ago

is there an option to convert video from m3u8 or ts to mp4?

filecxx commented 1 year ago

image or image image

candrapersada commented 1 year ago

I mean videos from browser extensions

filecxx commented 1 year ago

You can just change the file suffix ".ts" to ".mp4"

candrapersada commented 1 year ago

what i ask is convert video from ".ts" to ".mp4" without changing the file suffix ".ts" to ".mp4" like ffmpeg -referer "https://gdriveplayer.link/" -i "https://hive.gdriveplayer.link/iC1nOIRT_fw1HnZER418mPTJO7lSnrReHBs0I7RB--DW4qb1bNs0mFI8Pq5uU03nMHsJyGH0jBnVGbm7sE7XuA/bOkTVAqdLvC2ZIsLM_eVYX4PTZXOn0Cpa6_jKbXkeU0/360.m3u8" -c copy "360.mp4"

filecxx commented 1 year ago

You should google the meaning of the "ts file", and understand how it works. After FileCentipede downloads m3u8 ts files, it will auto-merge them, and change the name to "xxx.ts".

So, if I designed to change the name to "xxx.mp4", could you notice it?

candrapersada commented 1 year ago

Possible MPEG-TS in MP4 container or malformed AAC timestamps. Install ffmpeg to fix this automatically

filecxx commented 1 year ago

Are you still struggling with this? multiple ts files merge into one basically identical to the mp4 file, not exactly the same, but almost all media players are supported.

In FileCentipede 3.0, Plugins will be supported, I can provide an FFmpeg plugin, then you can write your own script to convert it.

Sample code:

on_stream_downloaded(file)
{
    ffmpeg.convert(file.path,file.path + ".mp4","MP4")
}
candrapersada commented 1 year ago

can it be like this, FFmpeg plugin ffmpeg -err_detect ignore_err -i video.ts -c copy fixed.mp4

filecxx commented 1 year ago

If you like to run a command line, it could be like this

on_stream_downloaded(file)
{
    std.exec("ffmpeg -err_detect ignore_err -i video.ts -c copy fixed.mp4")
}

But you have to install the FFmpeg executable file by yourself.