首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ffmpeg是否保留原始文件日期?

问ffmpeg是否保留原始文件日期?
EN

Stack Overflow用户
提问于 2019-01-31 16:44:17
回答 2查看 1.9K关注 0票数 0

我使用这个批处理在Win7中截取一堆mp4文件的开头6秒,以创建新文件。它工作得很好,但是输出文件的日期是新的。如何保存原始日期?但是我不想重新编码mp4文件,因为它们太多太慢了。感谢您的回复。

对于%%a in ("*.mp4"),执行ffmpeg -i "%%a“-ss 6 -vcodec copy -acodec copy "newfiles\%%~na.mp4”

EN

回答 2

Stack Overflow用户

发布于 2019-02-03 18:10:07

谢谢你的帮助,@mayudong,但我对powershell一无所知,也无法理解。最后我用AHK打通了:

​

代码语言:javascript
复制
SetWorkingDir g:\

#m::
Loop, %A_WorkingDir%\*.mp4
{
	if( InStr(A_LoopFileName,"news")=1 or InStr(A_LoopFileName,"today")=1  ){
		FileGetTime,mt,% A_LoopFileLongPath
		runwait,ffmpeg -y -i "%A_LoopFileLongPath%" -ss 8 -vcodec copy -acodec copy "g:\+temp\%A_LoopFileName%"
		FileSetTime,mt,g:\+temp\%A_LoopFileName%
	}
}
return

​

票数 0
EN

Stack Overflow用户

发布于 2021-01-10 20:28:41

您可以使用powershell更改文件日期

代码语言:javascript
复制
powershell  (ls 'out.mp4').CreationTime = (ls 'in.mkv').CreationTime
powershell  (ls 'out.mp4').LastWriteTime = (ls 'in.mkv').LastWriteTime
powershell  (ls 'out.mp4').LastAccessTime = (ls 'in.mkv').LastAccessTime

在您的示例中,它将如下所示:

代码语言:javascript
复制
for %%a in ("*.mp4") do (
    ffmpeg -i "%%a" -ss 6 -vcodec copy -acodec copy "newfiles\%%~na.mp4"
    powershell  ^(ls 'newfiles\%%~na.mp4'^).CreationTime = ^(ls ''%%a'^).CreationTime
    powershell  ^(ls 'newfiles\%%~na.mp4'^).LastWriteTime = ^(ls '%%a'^).LastWriteTime
    powershell  ^(ls 'newfiles\%%~na.mp4'^).LastAccessTime = ^(ls '%%a'^).LastAccessTime
)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54456493

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档