Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Datetime FFMPEG不';t在MTS到MP4流程上使用正确的创建日期进行转换_Datetime_Video_Ffmpeg_Utc_Mts - Fatal编程技术网

Datetime FFMPEG不';t在MTS到MP4流程上使用正确的创建日期进行转换

Datetime FFMPEG不';t在MTS到MP4流程上使用正确的创建日期进行转换,datetime,video,ffmpeg,utc,mts,Datetime,Video,Ffmpeg,Utc,Mts,我正在将MTS转换为MP4,视频/音频和创建日期保持不变 这是我的过程: 我有test.MTS,我将把它转换成test.MP4 拳头。。我的MTS: OSX:oo bob$ f="test.MTS OSX:oo bob$ DATE=$(exiftool -d "%Y-%m-%d %H:%M:%S" "$f" | grep "^Date.*Original" | awk '{print $4, $5;}') OSX

我正在将MTS转换为MP4,视频/音频和创建日期保持不变

这是我的过程:

我有test.MTS,我将把它转换成test.MP4

拳头。。我的MTS:

OSX:oo bob$ f="test.MTS

OSX:oo bob$     DATE=$(exiftool -d "%Y-%m-%d %H:%M:%S"  "$f" | grep "^Date.*Original" | awk '{print $4, $5;}')

OSX:oo bob$     DATE2=$(exiftool -d "%Y-%m-%d %H:%M:%S%z"  "$f" | grep "^Date.*Original" | awk '{print $4, $5;}')

OSX:oo bob$ echo $DATE

2018-10-26 20:53:27

OSX:oo bob$ echo $DATE2

2018-10-26 20:53:27+0000
我选择$DATE和$DATE2以获得UTC并尝试不同的选项

现在,让我们看看Exiftool和mediainfo对我的MTS的看法:

OSX:oo bob$ exiftool $f | grep "Date/Time"

File Modification Date/Time     : 2018:10:26 21:56:55+02:00

File Access Date/Time           : 2020:11:02 16:12:09+01:00

File Inode Change Date/Time     : 2020:11:01 02:48:49+01:00

Date/Time Original              : 2018:10:26 20:53:27+00:00





OSX:oo bob$ mediainfo $f | grep "date"

Recorded date                            : 2018-10-26 20:53:27+00:00
到这里。。所有有效日期均为
2018-10-26 20:53:27+00:00(因此UTC或GMT+0)

现在,我的转换命令:

ffmpeg  -i  "$f" -y -acodec aac -ab 128k  -vcodec copy  -f mp4 -metadata creation_time="$DATE" "./${f%.MTS}.MP4"

ffmpeg  -i  "$f" -y -acodec aac -ab 128k  -vcodec copy  -f mp4 -metadata creation_time="$DATE2" "./${f%.MTS}_2.MP4"
我尝试了两个选项,$DATE(不带时区)和$DATE2(带时区)。转换正常,让我们看看结果:

OSX:oo bob$ exiftool   "./${f%.MTS}.MP4" | grep "Date"

File Modification Date/Time     : 2020:11:02 14:53:24+01:00
File Access Date/Time           : 2020:11:02 16:13:48+01:00
File Inode Change Date/Time     : 2020:11:02 14:53:24+01:00
Create Date                     : 2018:10:26 18:53:27
Modify Date                     : 2018:10:26 18:53:27
Track Create Date               : 2018:10:26 18:53:27
Track Modify Date               : 2018:10:26 18:53:27
Media Create Date               : 2018:10:26 18:53:27
Media Modify Date               : 2018:10:26 18:53:27


OSX:oo bob$ exiftool   "./${f%.MTS}_2.MP4" | grep "Date"

File Modification Date/Time     : 2020:11:02 14:53:13+01:00
File Access Date/Time           : 2020:11:02 16:13:48+01:00
File Inode Change Date/Time     : 2020:11:02 14:53:13+01:00
Create Date                     : 2018:10:26 20:53:27
Modify Date                     : 2018:10:26 20:53:27
Track Create Date               : 2018:10:26 20:53:27
Track Modify Date               : 2018:10:26 20:53:27
Media Create Date               : 2018:10:26 20:53:27
Media Modify Date               : 2018:10:26 20:53:27


OSX:oo bob$ mediainfo  "./${f%.MTS}.MP4" | grep "date"

Recorded date                            : 2018-10-26 20:53:27+00:00
Encoded date                             : UTC 2018-10-26 18:53:27
Tagged date                              : UTC 2018-10-26 18:53:27
Encoded date                             : UTC 2018-10-26 18:53:27
Tagged date                              : UTC 2018-10-26 18:53:27
Encoded date                             : UTC 2018-10-26 18:53:27
Tagged date                              : UTC 2018-10-26 18:53:27



OSX:oo bob$ mediainfo  "./${f%.MTS}_2.MP4" | grep "date"

Recorded date                            : 2018-10-26 20:53:27+00:00
Encoded date                             : UTC 2018-10-26 20:53:27
Tagged date                              : UTC 2018-10-26 20:53:27
Encoded date                             : UTC 2018-10-26 20:53:27
Tagged date                              : UTC 2018-10-26 20:53:27
Encoded date                             : UTC 2018-10-26 20:53:27
Tagged date                              : UTC 2018-10-26 20:53:27
到目前为止,
“/${f%.MTS}_2.MP4”
(test_2.MP4)似乎是正确的,但是,如果我们检查历元中的值:

OSX:oo bob$ exiftool -d "%s" $f | grep "Date/Time"

File Modification Date/Time     : 1540583815
File Access Date/Time           : 1604329945
File Inode Change Date/Time     : 1604195329
Date/Time Original              : 1540587207

OSX:oo bob$ exiftool -d "%s"  "./${f%.MTS}.MP4" | grep "Date"

File Modification Date/Time     : 1604325204
File Access Date/Time           : 1604330053
File Inode Change Date/Time     : 1604325204
Create Date                     : 1540572807
Modify Date                     : 1540572807
Track Create Date               : 1540572807
Track Modify Date               : 1540572807
Media Create Date               : 1540572807
Media Modify Date               : 1540572807



OSX:oo bob$ exiftool -d "%s"  "./${f%.MTS}_2.MP4" | grep "Date"

File Modification Date/Time     : 1604325193
File Access Date/Time           : 1604330058
File Inode Change Date/Time     : 1604325193
Create Date                     : 1540580007
Modify Date                     : 1540580007
Track Create Date               : 1540580007        
Track Modify Date               : 1540580007
Media Create Date               : 1540580007
Media Modify Date               : 1540580007
顺便说一句,我现在在GMT+1(这是我的本地时区)

如你所见:

  • 使用时区(test_2.MP4)的转换似乎是正确的,除非我使用历元转换,显示完全不同的时间:

    原始MTS>日期/时间原始:1540587207 不带时区的MP4>创建日期:1540572807 带时区的MP4>创建日期:1540580007

    MTS>>test.MP4>>14400赛格(4h)

    MTS>>测试2.MP4>>7200赛格(2小时)

  • Mediainfo提供与exiftool相同的输出

  • 什么???这里发生了什么事?。为什么exiftool的日期似乎相同但不同?。为什么是4小时还是2小时?。。。我在这里遗漏了一些东西

    谢谢