Comments (27)
The structure of the tag is known but unfortunately it follows a different
design then "normal" tags do. While
there is some (ancient) code lying around that is supposed to be able to handle
this kind of tags it hasn't been
tested by anyone on this project and I don't know of any project that uses it.
So while I see the need for it it's just not a priority right now, first we
need to finalize the new tagging API.
Original comment by [email protected]
on 10 Mar 2009 at 12:20
- Changed state: Accepted
- Added labels: Type-Enhancement
- Removed labels: Type-Defect
from mp4v2.
[deleted comment]
from mp4v2.
You can do it with generic itmf
But it seems there is a bug when freeing memory with MP4ItmfItemFree( item );
item->mean = _strdup( mean );
item->name = _strdup( name );
and MP4ItmfData* data = &item->dataList.elements[0];
So you can fix it by freeing manually and setting everything to NULL...
free(item->mean);
item->mean = NULL;
free(item->name);
item->name = NULL;
free(data->value);
data->typeSetIdentifier = 0;
data->typeCode = MP4_ITMF_BT_IMPLICIT;
data->locale = 0;
data->value = NULL;
data->valueSize = 0;
MP4ItmfItemFree( item ); //now its working...
Original comment by [email protected]
on 25 Nov 2010 at 5:15
from mp4v2.
Is there any movement on this one? I'd like to see the rating tag as I have
an 7yr daughter that I'd like to have a clear rating so she knows which shows
are too scary to watch.
Original comment by mikeycarter1974
on 10 Mar 2011 at 2:47
from mp4v2.
What hardware are you using? On Mac I should advise Subler.
Original comment by [email protected]
on 10 Mar 2011 at 4:15
from mp4v2.
I'm using Linux. At least that's where all the files are stored/processed.
Original comment by mikeycarter1974
on 10 Mar 2011 at 5:11
from mp4v2.
Please accept my changes for the project. The attached diff has the rating,
rating annotation tags implemented. It also implements content rating ("clean",
"explicit", and "Inoffensive"), cast, director, co-directors, producers, screen
writers, copyright warning and studio.
Original comment by [email protected]
on 22 Mar 2011 at 3:01
from mp4v2.
Here, use this patch file instead.
Original comment by [email protected]
on 22 Mar 2011 at 8:00
Attachments:
from mp4v2.
How do you apply the patch. I'm new to this part.
Original comment by mikeycarter1974
on 23 Mar 2011 at 1:25
from mp4v2.
In the root of mp4v2, run this command.
patch -p0 -i ~/mp4tags.diff
I'm assuming you're using mac/linux.
Original comment by [email protected]
on 23 Mar 2011 at 3:56
from mp4v2.
I get the following:
[mcarter@liandra mp4v2-1.9.1]$ patch -p0 -i mp4tags.diff
patching file util/mp4tags.cpp
patch: **** missing line number at line 5: @@ -%ld,%ld +%ld,%ld @@
Am I missing something here?
Original comment by mikeycarter1974
on 23 Mar 2011 at 4:12
from mp4v2.
if you're having problems with the patch file, then just replace your local
util\mp4tags.cpp with the one included in this zip.
Original comment by [email protected]
on 23 Mar 2011 at 7:12
Attachments:
from mp4v2.
Sorry to be such a pest.
When I try to compile the file from the mp4tags.zip I get:
util/mp4tags.cpp:700:58: error: \u2018MP4TagsSetContentID\u2019 was not
declared in this scope
util/mp4tags.cpp:706:56: error: \u2018MP4TagsSetGenreID\u2019 was not declared
in this scope
util/mp4tags.cpp:727:59: error: \u2018MP4TagsSetPlaylistID\u2019 was not
declared in this scope
util/mp4tags.cpp:749:52: error: \u2018MP4TagsSetXID\u2019 was not declared in
this scope
util/mp4tags.cpp:758:57: error: \u2018MP4TagsSetArtistID\u2019 was not declared
in this scope
util/mp4tags.cpp:761:59: error: \u2018MP4TagsSetComposerID\u2019 was not
declared in this scope
util/mp4tags.cpp:875:60: error: \u2018MP4TagsSetContentID\u2019 was not
declared in this scope
util/mp4tags.cpp:884:58: error: \u2018MP4TagsSetGenreID\u2019 was not declared
in this scope
util/mp4tags.cpp:914:61: error: \u2018MP4TagsSetPlaylistID\u2019 was not
declared in this scope
util/mp4tags.cpp:927:67: error: invalid conversion from \u2018const void*\u2019
to \u2018void*\u2019
util/mp4tags.cpp:927:67: error: initializing argument 1 of \u2018virtual bool
mp4v2::platform::io::File::read(void*, mp4v2::platform::io::FileProvider::Size,
mp4v2::platform::io::FileProvider::Size&,
mp4v2::platform::io::FileProvider::Size)\u2019
util/mp4tags.cpp:933:44: error: invalid conversion from \u2018const void*\u2019
to \u2018void*\u2019
util/mp4tags.cpp:933:44: error: initializing argument 1 of \u2018void
free(void*)\u2019
util/mp4tags.cpp:951:55: error: \u2018MP4TagsSetXID\u2019 was not declared in
this scope
util/mp4tags.cpp:962:59: error: \u2018MP4TagsSetArtistID\u2019 was not declared
in this scope
util/mp4tags.cpp:968:61: error: \u2018MP4TagsSetComposerID\u2019 was not
declared in this scope
Original comment by mikeycarter1974
on 23 Mar 2011 at 11:34
from mp4v2.
Cates,
thanks for the patch. I'll try and review it sometime this week, and if it
looks okay, I'll add it.
Original comment by [email protected]
on 27 Mar 2011 at 4:23
from mp4v2.
@mikeycar,
I got the patch to compile, but you must use the svn version, not the release
tarball. Install svn on your computer and run the following command.
svn checkout http://mp4v2.googlecode.com/svn/trunk/ mp4v2-read-only
this will create a folder called mp4v2-read-only. Under that folder, you will
find the util/mp4tags.cpp file. replace it with the one catesand posted and it
should compile cleanly. I've also tested and can confirm that this will set the
ratings on videos. I haven't yet tested to see if those ratings will be
filtered correctly on the apple tv, which is my ultimate goal, but I believe
that they will.
Original comment by [email protected]
on 15 Apr 2011 at 4:50
from mp4v2.
I tried to use the SVN Command under linux (ubuntu) but it doesn't have the
make in the project's root directory. I even tried to copy the downloaded svn
into the tarball directory and that didn't compile either.
What am I doing wrong?
Original comment by [email protected]
on 23 Apr 2011 at 7:36
from mp4v2.
autoreconf -fiv
./configure --prefix=/usr/local --enable-shared -enable-static
--enable-ub=i386,x86_64 --disable-gch
make
sudo make install
Original comment by [email protected]
on 26 Apr 2011 at 6:01
from mp4v2.
Cates,
The patch adds some great functionality, but I noticed you duplicated a bunch
of arrays that are already present in type.cpp; for example, there's already a
content rating array in type.cpp, along with all the genre info that you added.
...but you re-define a lot of this information at the top of mp4tags.cpp. Is
there any way you could consolidate your code to use the existing structures in
type.cpp? I'd really prefer not to have this information defined in multiple
places in mp4v2; I think that's asking for trouble.
Original comment by [email protected]
on 26 Apr 2011 at 8:07
from mp4v2.
agreed, wasn't aware of tags.cpp before or would of never happened.
Original comment by [email protected]
on 26 Apr 2011 at 11:51
from mp4v2.
no worries, and to be clear I really appreciate the contribution. If you need
help reworking the patch, let me know and I can help you.
Original comment by [email protected]
on 27 Apr 2011 at 11:14
from mp4v2.
i would of done it by now, but we're busy at work and i'm moving this weekend.
i'll have it done by end of next week. how do you feel about expat? i was
thinking that mp4info should output the directors/actors/etc, but in order to
do so, its going to have to read in the xml that stores all that info and
output it. what are your feelings about expat or the built in /usr/bin/xpath?
email me directly or grab me on im. thanks.
Original comment by [email protected]
on 28 Apr 2011 at 10:08
from mp4v2.
[deleted comment]
from mp4v2.
In general, I'd prefer not to add dependencies on other projects. For
linux/OSX builds it'd probably just be a check in autotools, but for Windows
builds you'd have to have compiled binaries for 32/64 bit, most likely--or
require people to configure it all themselves, which I'm not particularly keen
on.
I'd prefer no expat, unless you have a compelling reason why it'd be beneficial
to most users.
Original comment by [email protected]
on 26 Jun 2011 at 5:54
from mp4v2.
This is likely a bad idea. What does PG mean? If you're in the US you have to
write "mpaa|PG|200" to the reverse DNS atom. However, if I'm in the UK, and I
say PG, then I expect you to write "uk-movie|PG|200" instead. Likewise, if I'm
in Canada, and it's a TV show, not a movie, then PG means "ca-tv|PG|400"
Original comment by [email protected]
on 29 Aug 2011 at 7:46
from mp4v2.
Did this every make its way into the official repository? Am looking for a
Windows build that has this functionality. Thanks
Original comment by [email protected]
on 12 Aug 2014 at 5:10
from mp4v2.
I was able to build the latest repository revision 504 with this mp4tags
update. File attached
Original comment by [email protected]
on 13 Aug 2014 at 2:07
from mp4v2.
Sorry. Incorrectly had a debug build earlier.
Original comment by [email protected]
on 14 Aug 2014 at 1:09
Attachments:
from mp4v2.
Related Issues (20)
- MP4Info not showing information related to MJPEG Video
- Can't compile with clang
- mp4info fails to show info of the simple video taken by Android phone HOT 1
- Error when trying to compile the project mp4v2 - 2.0.0 HOT 1
- Writing tags corrupts DASH-encoded files
- Integer overflow/wraparound in \src\mp4track.cpp
- Better FileProvider API HOT 3
- Modifying tags with mp4tags -m "test" corrupts some specific MP4 files
- add compilation, gapless, and genretype tag support to mp4tags
- https://code.google.com/p/mp4v2/issues/list?can=1&q=http%3A%2F%2Flimelinx.com%2Fdswj4
- Enhancement: Fill Genre from GenreType
- "Progressive Rock" mistyped as "Progresive Rock" in src/itmf/type.cpp HOT 1
- Ability to free memory allocated by MP4GetTrackH264SeqPictHeaders function HOT 2
- Support for Track Reference Atoms HOT 1
- Import/Export mp4 tags from/to text file
- make dist fail because make doc fails HOT 2
- use of impl / private code in example utils; enumGenreType HOT 1
- Charset problem at filenames
- Generate mp4 file.Can't play by media player.
- Google Code will shut down
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 mp4v2.