Re: Subler (like Muxo, maybe better?)
Posted: Mon Mar 30, 2009 5:55 pm
Can I ask is there a way to make some subtitles "Forced"? as I have TV Shows (The Tudors and Weeds) that have parts that need to be forced
The open source video transcoder
https://forum.handbrake.fr/
I've been unable to find any method to or documentation about flagging a subtitle track as forced in a way that is respected by the playback software I use (QT/iTunes/AppleTV). My IronMan Bluray rip is missing a translated lines because of this.Northy wrote:Can I ask is there a way to make some subtitles "Forced"? as I have TV Shows (The Tudors and Weeds) that have parts that need to be forced
BINGO!Northy wrote:Peter321 have you made sure the extension is .m4v?
Code: Select all
Building target “Subler” of project “Subler” with configuration “Debug” — (35 errors)
mkdir /Users/jason/Downloads/Subler/build/Debug/Subler.app/Contents/MacOS
cd /Users/jason/Downloads/Subler
setenv MACOSX_DEPLOYMENT_TARGET 10.5
/Developer/usr/bin/g++-4.2 -arch i386 -isysroot /Developer/SDKs/MacOSX10.5.sdk -L/Users/jason/Downloads/Subler/build/Debug -L/Users/jason/Downloads/Subler/mp4v2 -F/Users/jason/Downloads/Subler/build/Debug -F/Users/jason/Downloads/Subler -filelist /Users/jason/Downloads/Subler/build/Subler.build/Debug/Subler.build/Objects-normal/i386/Subler.LinkFileList -mmacosx-version-min=10.5 /Users/jason/Downloads/Subler/UniversalDetector/build/Debug/libuniversaldetector.a -lmp4v2 -framework Cocoa -framework Sparkle -framework QTKit -framework QuickTime -framework AudioToolbox -o /Users/jason/Downloads/Subler/build/Debug/Subler.app/Contents/MacOS/Subler
Undefined symbols:
"_MP4TagsSetGrouping", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetReleaseDate", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetLyrics", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetGapless", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetDescription", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsRemoveArtwork", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsFree", referenced from:
-[MP42Metadata readMetaDataFromFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetTempo", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetArtwork", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetComments", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetComposer", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetLongDescription", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetName", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetHDVideo", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsAddArtwork", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4GetTrackName", referenced from:
_getTrackName in MP42Utilities.o
"_MP4TagsSetTVNetwork", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsFetch", referenced from:
-[MP42Metadata readMetaDataFromFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetMediaType", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetAlbum", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetTVEpisodeID", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetTVEpisode", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetGenre", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetArtist", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetTVSeason", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4SetTrackName", referenced from:
-[MP42Track writeToFile:error:] in MP42Track.o
"_MP4TagsSetCNID", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsAlloc", referenced from:
-[MP42Metadata readMetaDataFromFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsStore", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetContentRating", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetCopyright", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetTVShow", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetAlbumArtist", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetEncodingTool", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetEncodedBy", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
"_MP4TagsSetGrouping", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetReleaseDate", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetLyrics", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetGapless", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetDescription", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsRemoveArtwork", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsFree", referenced from:
-[MP42Metadata readMetaDataFromFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetTempo", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetArtwork", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetComments", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetComposer", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetLongDescription", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetName", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetHDVideo", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsAddArtwork", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4GetTrackName", referenced from:
_getTrackName in MP42Utilities.o
"_MP4TagsSetTVNetwork", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsFetch", referenced from:
-[MP42Metadata readMetaDataFromFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetMediaType", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetAlbum", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetTVEpisodeID", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetTVEpisode", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetGenre", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetArtist", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetTVSeason", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4SetTrackName", referenced from:
-[MP42Track writeToFile:error:] in MP42Track.o
"_MP4TagsSetCNID", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsAlloc", referenced from:
-[MP42Metadata readMetaDataFromFileHandle:] in MP42Metadata.o
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsStore", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetContentRating", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetCopyright", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetTVShow", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetAlbumArtist", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetEncodingTool", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
"_MP4TagsSetEncodedBy", referenced from:
-[MP42Metadata writeMetadataWithFileHandle:] in MP42Metadata.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
Build failed (35 errors)
Ritsuka,Ritsuka wrote:I wrote a small app to mux subtitles into mp4.
It can add subtitles tracks, delete them and that's it.
A few advantages over muxo:
- better srt parsing, handles overlapping subtitles.
- no double line on the appetv if the subtitle is only a line.
Well, try it and let me know
http://code.google.com/p/subler/
Code: Select all
./SublerCLI -i stta.m4v -s test.tx3p -l English
Code: Select all
dave$ mp4box -info stta.m4v
* Movie Info *
Timescale 600 - Duration 00:22:07.551
Fragmented File no - 2 track(s)
File Brand isom - version 1
Created: GMT Sun Apr 5 06:36:06 2009
File has root IOD
Scene PL 0xff - Graphics PL 0xff - OD PL 0xff
Visual PL: AVC/H264 Profile (0x15)
Audio PL: AAC Profile @ Level 2 (0x29)
No streams included in root OD
Chapters:
Chapter #1 - 00:00:00.000 - ""
iTunes Info:
Name: Wade Davis
Track # 1 Info - TrackID 1 - TimeScale 2997 - Duration 00:22:07.460
Media Info: Language "Undetermined" - Type "vide:avc1" - 39784 samples
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x21
AVC/H264 Video - Visual Size 432 x 240 - Profile Baseline @ Level 3
NAL Unit length bits: 32
Pixel Aspect Ratio 1:1 - Indicated track size 432 x 240
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 48000 - Duration 00:22:07.552
Media Info: Language "Undetermined" - Type "soun:mp4a" - 62229 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio AAC LC - 1 Channel(s) - SampleRate 48000
Synchronized on stream 1
Code: Select all
david$ mp4box -info 3 test.m4v
Track # 3 Info - TrackID 3 - TimeScale 1000 - Duration 00:21:45.000
Media Info: Language "Undetermined" - Type "text:tx3g" - 548 samples
Handler name: GPAC Streaming Text Handler
3GPP/MPEG-4 Timed Text - Size 432 x 240 - Translation X=0 Y=0 - Layer 0
Computed info from media:
Total size 24051 bytes - Total samples duration 1303000 ms
Average rate 147 bps - Max Rate 1104 bps
david$ mp4box -srt 3 test.m4v
Conversion done
david$ mp4box -info 3 test_subler.m4v
Track # 3 Info - TrackID 3 - TimeScale 1000 - Duration 00:21:43.100
Media Info: Language "English" - Type "sbtl:tx3g" - 549 samples
Handler name:
Unknown track type
Alternate Group ID 2
Computed info from media:
Total size 24557 bytes - Total samples duration 1303000 ms
Average rate 150 bps - Max Rate 1120 bps
david$ mp4box -srt 3 test_subler.m4v
Track ID 3 is not a 3GPP text track
david$
Thank you for the response! I am having difficulty with the mp4box part of your statement.Ritsuka wrote:Only srt format is supported for input right now.
mp4box has been updated to handle text tracks with a "sbtl" handler some months ago. So you need to update it.
Just FYI, what I have been doing now, is I've created an "empty" file with tags I want for TV shows created with blank values. I just import that file and the 10 or so tags I would want to add with the macro pop right in and I fill them out. For specific TV series, I created another "template" with a lot of the series information pre-filled in so I just have to add the details about each episode.belloq wrote:Now, about that multiple-add macro thing ....
belloq wrote:Just FYI, what I have been doing now, is I've created an "empty" file with tags I want for TV shows created with blank values. I just import that file and the 10 or so tags I would want to add with the macro pop right in and I fill them out. For specific TV series, I created another "template" with a lot of the series information pre-filled in so I just have to add the details about each episode.belloq wrote:Now, about that multiple-add macro thing ....
One thing I noticed, perhaps I should add this to the issues list, but this could be a feature, not a bug: Some tags allow an empty value, but some will not save if no value is filled in. For example, Track # and Disk # tags: if no value is entered, then upon Saving, the tags will disappear.
Maybe I misunderstand what you're saying but what sense does it make to store empty tags? Also from my interpretation of the iTMF specs neither of those can be empty, only track total and disc total may be empty.belloq wrote:One thing I noticed, perhaps I should add this to the issues list, but this could be a feature, not a bug: Some tags allow an empty value, but some will not save if no value is filled in. For example, Track # and Disk # tags: if no value is entered, then upon Saving, the tags will disappear.
The empty tags are only useful in a template file. That is, an m4v file with no streams of data, only tags.realityking wrote:Maybe I misunderstand what you're saying but what sense does it make to store empty tags? Also from my interpretation of the iTMF specs neither of those can be empty, only track total and disc total may be empty.