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

DVpackager Rewrapped MOV Files Broken Header / stsd #950

Open
JaredGibsonAVF opened this issue Nov 7, 2024 · 10 comments
Open

DVpackager Rewrapped MOV Files Broken Header / stsd #950

JaredGibsonAVF opened this issue Nov 7, 2024 · 10 comments
Labels
bug Something isn't working MOV-ffmpeg a temporary label to help track MOV issues in packager package related to dvpackager

Comments

@JaredGibsonAVF
Copy link

JaredGibsonAVF commented Nov 7, 2024

dvpackager -e mov INPUT.dv

Happening across multiple OS/Computers:
M1 Mac OS 12.7.5
ffmpeg 6.1.2

M2 Mac OS 13.6.7
ffmpeg 7.0.2

This issue is not occurring on a computer with this build, however without doing a full image of this computer and making a direct copy I can't recreate an environment in which dvpackager isn't breaking the MOV:
M1 Mac OS 12.2
ffmpeg 6.0

Produces broken MOV files with ffmpeg build 6.1.2 (brew install ffmpeg@6), attempts to repair in movmetaedit were unsuccessful. Invalid stsd size and error reading header. Quicktime player - Version 10.5 (1126.4.1) will not play files. VLC will not play files.

Readout from ffplay (same errors in ffprobe):
ffplay version 6.1.2 Copyright (c) 2003-2024 the FFmpeg developers
built with Apple clang version 13.0.0 (clang-1300.0.29.30)
configuration: --prefix='/usr/local/Cellar/ffmpeg@6/6.1.2_6' --enable-shared --enable-pthreads --enable-version3 --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-gnutls --enable-gpl --enable-libaom --enable-libaribb24 --enable-libbluray --enable-libdav1d --enable-libharfbuzz --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librav1e --enable-librist --enable-librubberband --enable-libsnappy --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtesseract --enable-libtheora --enable-libvidstab --enable-libvmaf --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libxvid --enable-lzma --enable-libfontconfig --enable-libfreetype --enable-frei0r --enable-libass --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libspeex --enable-libsoxr --enable-libzmq --enable-libzimg --disable-libjack --disable-indev=jack --enable-videotoolbox --enable-audiotoolbox
libavutil 58. 29.100 / 58. 29.100
libavcodec 60. 31.102 / 60. 31.102
libavformat 60. 16.100 / 60. 16.100
libavdevice 60. 3.100 / 60. 3.100
libavfilter 9. 12.100 / 9. 12.100
libswscale 7. 5.100 / 7. 5.100
libswresample 4. 12.100 / 4. 12.100
libpostproc 57. 3.100 / 57. 3.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f86567101c0] invalid size 0 in stsd
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f86567101c0] error reading header
/Volumes/GBAUDIO/Video/Projects/2023616 MIT/Production/T22458-2013-05-13-How does the Nervous System Repair Itself-  Stem cells and Caspases/Archival Master/T22458-2013-05-13-How does the Nervous System Repair Itself-  Stem cells and Caspases_part1.mov: Invalid data found when processing input

DVrescue Version:

dvrescue 24.07 MediaInfoLib

Errors in dvpackager are fairly normal but pertain to padding audio for the MOV wrapper:
ERROR: ffmpeg and dvrescue disagree about the audio characterstics at offset 977040000 at 00:04:31.671400.
We shall use ffmpeg's analysis on this. (ff:2-48000 != dvr:0)
Consider updating to the latest version of dvrescue and if this error recurs,
then consider mentioning this at https://github.com/mipops/dvrescue/issues.

@libbyhopfauf
Copy link
Member

libbyhopfauf commented Nov 11, 2024

@JaredGibsonAVF would you mind installing these snapshots and see if they resolve the issue for you?

CLI: https://mediaarea.net/download/snapshots/binary/dvrescue/20241026/dvrescue_CLI_24.07.20241026_Mac.dmg
GUI: https://mediaarea.net/download/snapshots/binary/dvrescue-gui/20241026/dvrescue_GUI_24.07.20241026_Mac.dmg

If this version doesn't work, will you please take the following steps and share the results here? [updated with the packager instructions vs. capture]

  • Make sure that the version of the DVRescue GUI you are using is installed in the Applications folder.
  • Open the Terminal.app and launch DVRescue by running this command: /Applications/dvrescue.app/Contents/MacOS/dvrescue --log.
  • Go to the packager tab and open the file you want to package.
  • Select the segmenting rules that you want.
  • Click "apply."
  • Select MOV as the wrapper.
  • Click "add to queue."
  • Wait for DVRescue to finish packaging your files.
  • Quit DVRescue (click the x at the top of the application window).
  • Go back to Terminal and run this command cat ~/Library/Containers/net.MediaArea.dvrescue.mac-gui/Data/dvrescue-gui_logs/dvrescue-gui.log
  • Copy the log that pops up and paste it into https://gist.github.com/ and save it.
  • Add the link to this thread so it can be reviewed for possible troubleshooting.

@libbyhopfauf
Copy link
Member

sounds like this is related to #948

@JaredGibsonAVF
Copy link
Author

JaredGibsonAVF commented Nov 12, 2024 via email

@libbyhopfauf
Copy link
Member

@JaredGibsonAVF that's great news! Would you mind sharing the commands you are using for packaging that working in the GUI, but not in the CLI? We can take a look at the syntax and see what's off. But it shouldn't be different since the GUI is using the CLI in the background. I'm just curious so I can update the documentation to reflect the proper syntax for the specific type of packaging you are hoping to achieve :)

@JaredGibsonAVF
Copy link
Author

The string i've been using in the CLI is:

dvpackager -e mov -a n INPUT.dv

@libbyhopfauf
Copy link
Member

@JaredGibsonAVF thank you so much!

I'm going to close this issue, but please reopen if you start experiencing a similar problem!

@JaredGibsonAVF
Copy link
Author

Although the GUI is producing functioning files some of the time - the composition of the dvrescue.xml actually stops dvpackager from working properly on occasion [probably gonna be a different issue to open] - its unsustainable in my environment to use the GUI for packaging work as the CLI is automated into our system (or it will be if/when I can figure out why the CLI fails to produce functioning files on every computer except for one in our building). So i think this should probably remain open unless you want to continue work on this in issue #948

@libbyhopfauf
Copy link
Member

@JaredGibsonAVF Would you mind running the same command but with the MKV extension?

@libbyhopfauf libbyhopfauf reopened this Dec 11, 2024
@JaredGibsonAVF
Copy link
Author

@libbyhopfauf I didn't try the MKV wrap, but i do have an update on the effort generally. I was able to resolve the broken header problem by reverting from 6.1.1_2 (the default homebrew install for ffmpeg@6) to ffmepg 6.0_1. I've tested both a hacked together homebrew build and a static 6.0 build i got from a 3rd party site. It looks like there's something about the libraries or otherwise dependencies in 6.1.1 (or somewhere between 6.0 and 6.1) and onward that breaks the mov header. Ive now got successful dvpackaging happening with an ffmpeg 6.0_1 build in the CLI! Which im elated about. But i am still in the dark as to whats breaking the files in the later ffmpeg builds.

@libbyhopfauf libbyhopfauf added package related to dvpackager bug Something isn't working MOV-ffmpeg a temporary label to help track MOV issues in packager labels Dec 17, 2024
@libbyhopfauf
Copy link
Member

@libbyhopfauf I didn't try the MKV wrap, but i do have an update on the effort generally. I was able to resolve the broken header problem by reverting from 6.1.1_2 (the default homebrew install for ffmpeg@6) to ffmepg 6.0_1. I've tested both a hacked together homebrew build and a static 6.0 build i got from a 3rd party site. It looks like there's something about the libraries or otherwise dependencies in 6.1.1 (or somewhere between 6.0 and 6.1) and onward that breaks the mov header. Ive now got successful dvpackaging happening with an ffmpeg 6.0_1 build in the CLI! Which im elated about. But i am still in the dark as to whats breaking the files in the later ffmpeg builds.

@JaredGibsonAVF it sounds like there is an issue on FFmpeg's end (like you mentioned with more recent builds). @dericed has been reaching out to try to resolve this. Thank you for letting us know.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working MOV-ffmpeg a temporary label to help track MOV issues in packager package related to dvpackager
Projects
None yet
Development

No branches or pull requests

2 participants