Comments (2)
I started working on this tonight. Look for an update in the coming days.
from hrconvert2.
You've been waiting for an ill minute for this. Sorry about that!
The Problem
I think the problem is the way we're handling calls to ffmpeg. Ffmpeg is a scalpel, and we're using it like a hammer. To be honest, it's kinda a mess. We can make it better.
The Solution
We need to build ffmpeg from scratch at install time with "nonfree" and "GPL" muxers & demuxers included.
The past 2 nights I've been working on hammering out an automated build process for ffmpeg v6.1.1 with "non-free" & "GPL" muxers & demuxers included. This makes the installation bigger, more time consuming, & more complicated to install. But it will be worth it. I'm currently looking at a list of about 350 audio + video + subtitle formats that we can potentially support.
Next Steps
The time consuming part for me right now is organizing all the new formats we can support. We need it organized into...
- Input Formats - Audio, Video, Subtitles
- Output Formats - Audio, Video, Subtitles
Sadly this is a very manual process. Once that is done.....
- Associate file extensions with each muxer / demuxer.
- Separate supported formats into 2 arrays, input & output.
- Modify the logic of HRConvert2 so that it shows all files (input + output) in scratch space, but only shows output files in the extension dropdown selection box.
- Modify the Installation Instructions to include the ffmpeg v6.1.1 build process.
- Incorporate the ffmpeg v6.1.1 build process into the Dockerfile, then export a new Docker image.
- Create a script (Upgrade_existing_ffmpeg_to_v6.1.1.sh) for existing server operators to upgrade ffmpeg to the new "mega-ffmpeg".
So the fix is going to be huge.
Current Status
I'm working on sorting the input formats that the new ffmpeg supports into Video, Audio, Subtitle and Irrelevant formats. I'm discarding formats that are super-duper irrelevant or aren't exportable. If anyone wants to help with that, they can start on sorting the list of output formats...........
3g2 3GP2 (3GPP2 file format)
3gp 3GP (3GPP file format)
a64 a64 - video for Commodore 64
ac3 raw AC-3
ac4 raw AC-4
adts ADTS AAC (Advanced Audio Coding)
adx CRI ADX
aiff Audio IFF
alaw PCM A-law
alp LEGO Racers ALP
amr 3GPP AMR
amv AMV
apm Ubisoft Rayman 2 APM
apng Animated Portable Network Graphics
aptx raw aptX (Audio Processing Technology for Bluetooth)
aptx_hd raw aptX HD (Audio Processing Technology for Bluetooth)
argo_asf Argonaut Games ASF
argo_cvg Argonaut Games CVG
asf ASF (Advanced / Active Streaming Format)
asf_stream ASF (Advanced / Active Streaming Format)
ass SSA (SubStation Alpha) subtitle
ast AST (Audio Stream)
au Sun AU
avi AVI (Audio Video Interleaved)
avif AVIF
avm2 SWF (ShockWave Flash) (AVM2)
avs2 raw AVS2-P2/IEEE1857.4 video
avs3 AVS3-P2/IEEE1857.10
bit G.729 BIT file format
caf Apple CAF (Core Audio Format)
cavsvideo raw Chinese AVS (Audio Video Standard) video
codec2 codec2 .c2 muxer
codec2raw raw codec2 muxer
crc CRC testing
dash DASH Muxer
data raw data
daud D-Cinema audio
dfpwm raw DFPWM1a
dirac raw Dirac
dnxhd raw DNxHD (SMPTE VC-3)
dts raw DTS
dv DV (Digital Video)
dvd MPEG-2 PS (DVD VOB)
eac3 raw E-AC-3
evc raw EVC video
f32be PCM 32-bit floating-point big-endian
f32le PCM 32-bit floating-point little-endian
f4v F4V Adobe Flash Video
f64be PCM 64-bit floating-point big-endian
f64le PCM 64-bit floating-point little-endian
fbdev Linux framebuffer
ffmetadata FFmpeg metadata in text
fifo FIFO queue pseudo-muxer
fifo_test Fifo test muxer
film_cpk Sega FILM / CPK
filmstrip Adobe Filmstrip
fits Flexible Image Transport System
flac raw FLAC
flv FLV (Flash Video)
framecrc framecrc testing
framehash Per-frame hash testing
framemd5 Per-frame MD5 testing
g722 raw G.722
g723_1 raw G.723.1
g726 raw big-endian G.726 ("left-justified")
g726le raw little-endian G.726 ("right-justified")
gif CompuServe Graphics Interchange Format (GIF)
gsm raw GSM
gxf GXF (General eXchange Format)
h261 raw H.261
h263 raw H.263
h264 raw H.264 video
hash Hash testing
hds HDS Muxer
hevc raw HEVC video
hls Apple HTTP Live Streaming
ico Microsoft Windows ICO
ilbc iLBC storage
image2 image2 sequence
image2pipe piped image2 sequence
ipod iPod H.264 MP4 (MPEG-4 Part 14)
ircam Berkeley/IRCAM/CARL Sound Format
ismv ISMV/ISMA (Smooth Streaming)
ivf On2 IVF
jacosub JACOsub subtitle format
kvag Simon & Schuster Interactive VAG
latm LOAS/LATM
lrc LRC lyrics
m4v raw MPEG-4 video
matroska Matroska
md5 MD5 testing
microdvd MicroDVD subtitle format
mjpeg raw MJPEG video
mkvtimestamp_v2 extract pts as timecode v2 format, as defined by mkvtoolnix
mlp raw MLP
mmf Yamaha SMAF
mov QuickTime / MOV
mp2 MP2 (MPEG audio layer 2)
mp3 MP3 (MPEG audio layer 3)
mp4 MP4 (MPEG-4 Part 14)
mpeg MPEG-1 Systems / MPEG program stream
mpeg1video raw MPEG-1 video
mpeg2video raw MPEG-2 video
mpegts MPEG-TS (MPEG-2 Transport Stream)
mpjpeg MIME multipart JPEG
mulaw PCM mu-law
mxf MXF (Material eXchange Format)
mxf_d10 MXF (Material eXchange Format) D-10 Mapping
mxf_opatom MXF (Material eXchange Format) Operational Pattern Atom
null raw null video
nut NUT
obu AV1 low overhead OBU
oga Ogg Audio
ogg Ogg
ogv Ogg Video
oma Sony OpenMG audio
opus Ogg Opus
oss OSS (Open Sound System) playback
psp PSP MP4 (MPEG-4 Part 14)
rawvideo raw video
rm RealMedia
roq raw id RoQ
rso Lego Mindstorms RSO
rtp RTP output
rtp_mpegts RTP/mpegts output format
rtsp RTSP output
s16be PCM signed 16-bit big-endian
s16le PCM signed 16-bit little-endian
s24be PCM signed 24-bit big-endian
s24le PCM signed 24-bit little-endian
s32be PCM signed 32-bit big-endian
s32le PCM signed 32-bit little-endian
s8 PCM signed 8-bit
sap SAP output
sbc raw SBC
scc Scenarist Closed Captions
sdl,sdl2 SDL2 output device
segment segment
smjpeg Loki SDL MJPEG
smoothstreaming Smooth Streaming Muxer
sox SoX (Sound eXchange) native
spdif IEC 61937 (used on S/PDIF - IEC958)
spx Ogg Speex
srt SubRip subtitle
stream_segment,ssegment streaming segment muxer
streamhash Per-stream hash testing
sup raw HDMV Presentation Graphic Stream subtitles
svcd MPEG-2 PS (SVCD)
swf SWF (ShockWave Flash)
tee Multiple muxer tee
truehd raw TrueHD
tta TTA (True Audio)
ttml TTML subtitle
u16be PCM unsigned 16-bit big-endian
u16le PCM unsigned 16-bit little-endian
u24be PCM unsigned 24-bit big-endian
u24le PCM unsigned 24-bit little-endian
u32be PCM unsigned 32-bit big-endian
u32le PCM unsigned 32-bit little-endian
u8 PCM unsigned 8-bit
uncodedframecrc uncoded framecrc testing
vc1 raw VC-1 video
vc1test VC-1 test bitstream
vcd MPEG-1 Systems / MPEG program stream (VCD)
vidc PCM Archimedes VIDC
video4linux2,v4l2 Video4Linux2 output device
vob MPEG-2 PS (VOB)
voc Creative Voice
vvc raw H.266/VVC video
w64 Sony Wave64
wav WAV / WAVE (Waveform Audio)
webm WebM
webm_chunk WebM Chunk Muxer
webm_dash_manifest WebM DASH Manifest
webp WebP
webvtt WebVTT subtitle
wsaud Westwood Studios audio
wtv Windows Television (WTV)
wv raw WavPack
yuv4mpegpipe YUV4MPEG pipe
from hrconvert2.
Related Issues (20)
- .avi file not shown after successful upload HOT 4
- Docker package for NAS HOT 1
- Hover Tooltips? HOT 1
- Default Dimensions For Photos HOT 1
- HEIC support for CasaOS / Docker
- Error Timezone HOT 2
- Docker not maintained? HOT 34
- Access by API rest? HOT 2
- The specified Data Storage Directory does not exist HOT 3
- SVG to... does nothing HOT 1
- Docker image missing rar command HOT 5
- [Request] - Docker Compose File HOT 7
- Can't archive using rar at Raspberry Pi 4 HOT 6
- ERROR!!! HRConvert2-3: Could not set the execution timer!
- Cannot convert if spaces in the name HOT 1
- Could not verify globals! HOT 3
- Can't OCR a pdf file HOT 1
- ENHANCEMENT: Apply to All Button
- Publish docker image with :latest tag
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hrconvert2.