Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Copy all subtitle streams #8

Closed
suntong opened this issue Oct 9, 2021 · 2 comments
Closed

Copy all subtitle streams #8

suntong opened this issue Oct 9, 2021 · 2 comments

Comments

@suntong
Copy link
Owner

suntong commented Oct 9, 2021

The current implementation can only only copy a single subtitle stream, the default one.

Need to be able to copy all subtitle streams.

@suntong
Copy link
Owner Author

suntong commented Oct 9, 2021

Here is sample video to test/verify:

TestStreams1.mov
FFCVT_FTC=TestStreams1.mov

$ ffcvt -force -f "$FFCVT_FTC" -- -max_muxing_queue_size 1024

== Transcoding: TestStreams1.mov
] ffmpeg -i TestStreams1.mov -c:v libvpx-vp9 -b:v 0 -crf 45 -c:a libopus -b:a 64k -c:s copy -y -max_muxing_queue_size 1024 TestStreams1_.mkv

Done.
Org Size: 3503 KB
New Size: 1628 KB
Saved:    53% with 1875 KB
Time: 58.8158768s at 2021-10-09 15:11:28


Transcoding completed in 58.8165181s
Org Size: 3 MB
New Size: 1 MB
Saved:    53%

$ ffprobe -i TestStreams1_.mkv
Input #0, matroska,webm, from 'TestStreams1_.mkv':
  Metadata:
    title           : TestStreams1_.mkv
    ENCODER         : Lavf58.45.100
  Duration: 00:00:38.13, start: -0.007000, bitrate: 349 kb/s
    Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv), 1280x640, SAR 1:1 DAR 2:1, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      BPS             : 624175
      NUMBER_OF_FRAMES: 76003
      NUMBER_OF_BYTES : 247326295
      _STATISTICS_WRITING_APP: mkvmerge v61.0.0 ('So') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-10-02 21:30:34
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      ENCODER         : Lavc58.91.100 libvpx-vp9
      DURATION        : 00:00:38.129000000
    Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
    Metadata:
      BPS             : 62482
      NUMBER_OF_FRAMES: 74301
      NUMBER_OF_BYTES : 24760063
      _STATISTICS_WRITING_APP: mkvmerge v61.0.0 ('So') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-10-02 21:30:34
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      ENCODER         : Lavc58.91.100 libopus
      DURATION        : 00:00:38.023000000
    Stream #0:2(eng): Subtitle: subrip (default)
    Metadata:
      BPS             : 63
      NUMBER_OF_FRAMES: 652
      NUMBER_OF_BYTES : 23388
      _STATISTICS_WRITING_APP: mkvmerge v61.0.0 ('So') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-10-02 21:30:34
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:37.166000000

@suntong
Copy link
Owner Author

suntong commented Oct 9, 2021

Fixed:

$ ffcvt -force -f "$FFCVT_FTC" -- -max_muxing_queue_size 1024

== Transcoding: TestStreams1.mov
] ffmpeg -i TestStreams1.mov -map 0:v -c:v libvpx-vp9 -b:v 0 -crf 45 -map 0:a:m:language:eng -c:a libopus -b:a 64k -map 0:s -c:s copy -y -max_muxing_queue_size 1024 TestStreams1_.mkv

Done.
Org Size: 3537 KB
New Size: 1662 KB
Saved:    53% with 1875 KB
Time: 1m1.8415699s at 2021-10-09 15:40:24


Transcoding completed in 1m1.8417472s
Org Size: 3 MB
New Size: 1 MB
Saved:    52%

$ ffprobe -i TestStreams1_.mkv
  Duration: 00:00:39.46, start: -0.007000, bitrate: 345 kb/s
    Stream #0:0: Video: vp9 (Profile 0), yuv420p(tv), 1280x640, SAR 1:1 DAR 2:1, 23.98 fps, 23.98 tbr, 1k tbn, 1k tbc (default)
    Metadata:
      BPS             : 624175
      NUMBER_OF_FRAMES: 76003
      NUMBER_OF_BYTES : 247326295
      _STATISTICS_WRITING_APP: mkvmerge v61.0.0 ('So') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-10-02 21:30:34
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      ENCODER         : Lavc58.91.100 libvpx-vp9
      DURATION        : 00:00:38.129000000
    Stream #0:1(eng): Audio: opus, 48000 Hz, stereo, fltp (default)
    Metadata:
      BPS             : 62482
      NUMBER_OF_FRAMES: 74301
      NUMBER_OF_BYTES : 24760063
      _STATISTICS_WRITING_APP: mkvmerge v61.0.0 ('So') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-10-02 21:30:34
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      ENCODER         : Lavc58.91.100 libopus
      DURATION        : 00:00:38.023000000
    Stream #0:2(eng): Subtitle: subrip (default)
    Metadata:
      BPS             : 63
      NUMBER_OF_FRAMES: 652
      NUMBER_OF_BYTES : 23388
      _STATISTICS_WRITING_APP: mkvmerge v61.0.0 ('So') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-10-02 21:30:34
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:37.166000000
    Stream #0:3(eng): Subtitle: subrip
    Metadata:
      title           : SDH
      BPS             : 69
      NUMBER_OF_FRAMES: 746
      NUMBER_OF_BYTES : 26327
      _STATISTICS_WRITING_APP: mkvmerge v61.0.0 ('So') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-10-02 21:30:34
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:37.166000000
    Stream #0:4(ara): Subtitle: subrip
    . . .
    Stream #0:35(chi): Subtitle: subrip
    Metadata:
      title           : Simplified
      BPS             : 64
      NUMBER_OF_FRAMES: 653
      NUMBER_OF_BYTES : 24386
      _STATISTICS_WRITING_APP: mkvmerge v61.0.0 ('So') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-10-02 21:30:34
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:37.166000000
    Stream #0:36(chi): Subtitle: subrip
    Metadata:
      title           : Traditional
      BPS             : 60
      NUMBER_OF_FRAMES: 652
      NUMBER_OF_BYTES : 23128
      _STATISTICS_WRITING_APP: mkvmerge v61.0.0 ('So') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2021-10-02 21:30:34
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
      DURATION        : 00:00:37.166000000

@suntong suntong closed this as completed in 46ce672 Oct 9, 2021
suntong added a commit that referenced this issue Oct 9, 2021
- [!] Force copy all subtitle streams. Closes #8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant