#50 Add option for initial recording date

Closed
opened 8 months ago by LecygneNoir · 2 comments
Owner

Hello,

An interresting addition could be an option to specify the original recording date for video.

Youtube recently adds it in its API (recordingDetails.recordingDate), and Peertube natively has it if I recon clearly.

It may improve the comprehension for viewers, when you record multiple video in a row, and publish them one by one, sometimes there is frustration when they comments and see no action before some more videos :)

It may also help for preview video, if you upload on one platform some days before the other.

Hello, An interresting addition could be an option to specify the original recording date for video. Youtube recently adds it in its API (`recordingDetails.recordingDate`), and Peertube natively has it if I recon clearly. It may improve the comprehension for viewers, when you record multiple video in a row, and publish them one by one, sometimes there is frustration when they comments and see no action before some more videos :) It may also help for preview video, if you upload on one platform some days before the other.
LecygneNoir added the
enhancement
label 8 months ago
LecygneNoir added the
Todo
label 8 months ago
LecygneNoir removed the
Todo
label 7 months ago
LecygneNoir added the
Work in Progress
label 7 months ago
Poster
Owner

What the feature will be:

  • enabled by default
  • force --no-originaldate to disable
  • same date for peertube and youtube
  • Try to guess the date from the video using metadata? (not easy to use see next comment) or file last modification?
  • If not possible, use the upload date
  • Possibility to overwrite the date by using originaldate=DATE

For youtube, the recordingDate is a datetime value: https://developers.google.com/youtube/v3/docs/videos?hl=fr#recordingDetails.recordingDate

Same than for publishAt, so we may reuse the conversion function.

For Peertube, we may use the originallyPublishedAt field: https://docs.joinpeertube.org/api-rest-reference.html#tag/Video/paths/~1videos~1upload/post

What the feature will be: - enabled by default - force `--no-originaldate` to disable - same date for peertube and youtube - Try to guess the date from the video using ~~metadata?~~ (not easy to use see next comment) or file last modification? - If not possible, use the upload date - Possibility to overwrite the date by using `originaldate=DATE` For youtube, the `recordingDate` is a datetime value: https://developers.google.com/youtube/v3/docs/videos?hl=fr#recordingDetails.recordingDate Same than for publishAt, so we may reuse the conversion function. For Peertube, we may use the `originallyPublishedAt` field: https://docs.joinpeertube.org/api-rest-reference.html#tag/Video/paths/~1videos~1upload/post
Poster
Owner

Unfortunately, it seems there is no normalized format for metadata on video, so the existence of creation time in metadata depends totally of the recording software.

For example, OBS does not add it:

$ ffmpeg -i somevideo.mp4 -dump
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'somevideo.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf58.29.100
  Duration: 00:37:40.63, start: 0.033000, bitrate: 4332 kb/s
    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4000 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default)
    Metadata:
      handler_name    : SoundHandler
    Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 149 kb/s
    Metadata:
      handler_name    : SoundHandler
    Stream #0:3(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 3 kb/s
    Metadata:
      handler_name    : SoundHandler
    Stream #0:4(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 3 kb/s
    Metadata:
      handler_name    : SoundHandler

I'll backup to the file modification date instead, more reliable, even if it may be inexact. In this case, the manual option to overwrite could be used.

Unfortunately, it seems there is no normalized format for metadata on video, so the existence of creation time in metadata depends totally of the recording software. For example, OBS does not add it: ``` $ ffmpeg -i somevideo.mp4 -dump Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'somevideo.mp4': Metadata: major_brand : isom minor_version : 512 compatible_brands: isomiso2avc1mp41 encoder : Lavf58.29.100 Duration: 00:37:40.63, start: 0.033000, bitrate: 4332 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 4000 kb/s, 30 fps, 30 tbr, 90k tbn, 60 tbc (default) Metadata: handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 160 kb/s (default) Metadata: handler_name : SoundHandler Stream #0:2(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 149 kb/s Metadata: handler_name : SoundHandler Stream #0:3(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 3 kb/s Metadata: handler_name : SoundHandler Stream #0:4(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 3 kb/s Metadata: handler_name : SoundHandler ``` I'll backup to the file modification date instead, more reliable, even if it may be inexact. In this case, the manual option to overwrite could be used.
LecygneNoir referenced this issue from a commit 6 months ago
LecygneNoir closed this issue 6 months ago
Sign in to join this conversation.
No Milestone
No Assignees
1 Participants
Notifications
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
There is no content yet.