Chocobozzz / PeerTube

ActivityPub-federated video streaming platform using P2P directly in your web browser
https://joinpeertube.org/
GNU Affero General Public License v3.0
13.05k stars 1.5k forks source link

Error: Invalid Input File… #2607

Closed ludwigvon100 closed 4 years ago

ludwigvon100 commented 4 years ago

Hi,

I've just installed "PeerTube" on a personal device (Odroid XU4) strictly following the official documentation. The server seems to work correctly but, I'm unable to upload a video! Here is the error on the web interface… Error And here is the log file: logfile.txt

The upload of the file is ok, and I can check the source file in the /storage/tmp directory just before the end of the upload, then as mentioned, the file is deleted. root@xu4: /var/www/peertube/storage/tmp # l total 27M drwxr-xr-x 2 1001 1001 4,0K avril 6 10:24 . drwxr-xr-x 14 1001 1001 4,0K avril 5 22:27 .. -rw-r--r-- 1 1001 1001 27M avril 6 10:24 27f6d562273057230dab5e0d007d48d6.mp4 -rw-r--r-- 1 1001 1001 0 avril 5 22:27 plugins-global.css

So, I understand that the server is unable to encode the source file in order to share it. I checked my ffmpeg version: ffmpeg version 3.4.2-2ubuntu4 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 7 (Ubuntu/Linaro 7.3.0-16ubuntu3) and from the command line, I am able to encode the video file in another format, for instance with this command: ffmpeg -i input.mp4 -c:v vp9 -c:a libvorbis output.mkv

I really have no idea to solve the problem!?…

rigelk commented 4 years ago

Hi, the log file link is apparently broken?

ludwigvon100 commented 4 years ago

Hi, no, it's working here… Anyway, I post it here: avril 06 10:23:59 Odroid_XU4 peertube[28366]: [peer.azurs.fr:443] 2020-04-06 10:23:59.331 error: Invalid input file in videosAddValidator. { avril 06 10:23:59 Odroid_XU4 peertube[28366]: "err": { avril 06 10:23:59 Odroid_XU4 peertube[28366]: "stack": "Error: ffprobe exited with code 1\nffprobe version 3.4.2-2ubuntu4 Copyright (c) 2007-2018 the FFmpeg developers\n built with gcc 7 (Ubuntu/Linaro 7.3.0-16ubuntu3)\n configuration: --prefix=/usr --extra-version=2ubuntu4 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-v4l2_m2m --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared\n libavutil 55. 78.100 / 55. 78.100\n libavcodec 57.107.100 / 57.107.100\n libavformat 57. 83.100 / 57. 83.100\n libavdevice 57. 10.100 / 57. 10.100\n libavfilter 6.107.100 / 6.107.100\n libavresample 3. 7. 0 / 3. 7. 0\n libswscale 4. 8.100 / 4. 8.100\n libswresample 2. 9.100 / 2. 9.100\n libpostproc 54. 7.100 / 54. 7.100\nInput #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/peertube/storage/tmp/d7f440f2e04af6d2b4437ad6c59e36dc.mov':\n Metadata:\n major_brand : qt \n minor_version : 0\n compatible_brands: qt \n creation_time : 2019-06-09T17:21:36.000000Z\n com.apple.quicktime.keywords: Doobie Live Session\n com.apple.quicktime.description: Doobie - UZEB (album \"Fast Emotion) - 1982\n com.apple.quicktime.author: © ReGeek - 2019\n com.apple.quicktime.displayname: Doobie - Session Live\n com.apple.quicktime.title: Doobie - Session Live\n Duration: 00:04:40.37, start: 0.000000, bitrate: 15744 kb/s\n Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 15576 kb/s, 30 fps, 30 tbr, 3k tbn, 50 tbc (default)\n Metadata:\n creation_time : 2019-06-09T17:21:37.000000Z\n handler_name : Core Media Data Handler\n encoder : H.264\n timecode : 00:00:00:00\n Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)\n Metadata:\n creation_time : 2019-06-09T17:21:37.000000Z\n handler_name : Core Media Data Handler\n Stream #0:2(und): Data: none (tmcd / 0x64636D74) (default)\n Metadata:\n creation_time : 2019-06-09T17:21:37.000000Z\n handler_name : Core Media Data Handler\n timecode : 00:00:00:00\n[h264_v4l2m2m @ 0x51b840] Could not find a valid device\n[h264_v4l2m2m @ 0x51b840] can't configure decoder\nCould not open codec for input stream 0\n\n at ChildProcess.<anonymous> (/var/www/peertube/versions/peertube-v2.1.1/node_modules/fluent-ffmpeg/lib/ffprobe.js:233:22)\n at ChildProcess.emit (events.js:198:13)\n at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)", avril 06 10:23:59 Odroid_XU4 peertube[28366]: "message": "ffprobe exited with code 1\nffprobe version 3.4.2-2ubuntu4 Copyright (c) 2007-2018 the FFmpeg developers\n built with gcc 7 (Ubuntu/Linaro 7.3.0-16ubuntu3)\n configuration: --prefix=/usr --extra-version=2ubuntu4 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-v4l2_m2m --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared\n libavutil 55. 78.100 / 55. 78.100\n libavcodec 57.107.100 / 57.107.100\n libavformat 57. 83.100 / 57. 83.100\n libavdevice 57. 10.100 / 57. 10.100\n libavfilter 6.107.100 / 6.107.100\n libavresample 3. 7. 0 / 3. 7. 0\n libswscale 4. 8.100 / 4. 8.100\n libswresample 2. 9.100 / 2. 9.100\n libpostproc 54. 7.100 / 54. 7.100\nInput #0, mov,mp4,m4a,3gp,3g2,mj2, from '/var/www/peertube/storage/tmp/d7f440f2e04af6d2b4437ad6c59e36dc.mov':\n Metadata:\n major_brand : qt \n minor_version : 0\n compatible_brands: qt \n creation_time : 2019-06-09T17:21:36.000000Z\n com.apple.quicktime.keywords: Doobie Live Session\n com.apple.quicktime.description: Doobie - UZEB (album \"Fast Emotion) - 1982\n com.apple.quicktime.author: © ReGeek - 2019\n com.apple.quicktime.displayname: Doobie - Session Live\n com.apple.quicktime.title: Doobie - Session Live\n Duration: 00:04:40.37, start: 0.000000, bitrate: 15744 kb/s\n Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 15576 kb/s, 30 fps, 30 tbr, 3k tbn, 50 tbc (default)\n Metadata:\n creation_time : 2019-06-09T17:21:37.000000Z\n handler_name : Core Media Data Handler\n encoder : H.264\n timecode : 00:00:00:00\n Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default)\n Metadata:\n creation_time : 2019-06-09T17:21:37.000000Z\n handler_name : Core Media Data Handler\n Stream #0:2(und): Data: none (tmcd / 0x64636D74) (default)\n Metadata:\n creation_time : 2019-06-09T17:21:37.000000Z\n handler_name : Core Media Data Handler\n timecode : 00:00:00:00\n[h264_v4l2m2m @ 0x51b840] Could not find a valid device\n[h264_v4l2m2m @ 0x51b840] can't configure decoder\nCould not open codec for input stream 0\n" avril 06 10:23:59 Odroid_XU4 peertube[28366]: } avril 06 10:23:59 Odroid_XU4 peertube[28366]: } avril 06 10:23:59 Odroid_XU4 peertube[28366]: [peer.azurs.fr:443] 2020-04-06 10:23:59.336 info: 192.168.0.0 - - [06/Apr/2020:08:23:59 +0000] "POST /api/v1/videos/upload HTTP/1.0" 400 31 "https://peer.azurs.fr/videos/upload" "Chrome" avril 06 10:27:18 Odroid_XU4 peertube[28366]: [peer.azurs.fr:443] 2020-04-06 10:27:18.703 info: Checking latest plugins version. avril 06 10:27:18 Odroid_XU4 peertube[28366]: [peer.azurs.fr:443] 2020-04-06 10:27:18.713 info: Removing bad actor follows (scheduler). avril 06 10:27:18 Odroid_XU4 peertube[28366]: [peer.azurs.fr:443] 2020-04-06 10:27:18.726 info: Removing old jobs in scheduler.

Chocobozzz commented 4 years ago

Put the video on your server and try to run ffprobe command. Seems to be an issue with ffmpeg on your device.

ludwigvon100 commented 4 years ago

Could you give me the "ffprobe" command to run into?

rigelk commented 4 years ago

@ludwigvon100 ffprobe <file>

ludwigvon100 commented 4 years ago

Oups!…

Here is the result: ffprobe version 3.4.2-2ubuntu4 Copyright (c) 2007-2018 the FFmpeg developers built with gcc 7 (Ubuntu/Linaro 7.3.0-16ubuntu3) configuration: --prefix=/usr --extra-version=2ubuntu4 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-v4l2_m2m --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared libavutil 55. 78.100 / 55. 78.100 libavcodec 57.107.100 / 57.107.100 libavformat 57. 83.100 / 57. 83.100 libavdevice 57. 10.100 / 57. 10.100 libavfilter 6.107.100 / 6.107.100 libavresample 3. 7. 0 / 3. 7. 0 libswscale 4. 8.100 / 4. 8.100 libswresample 2. 9.100 / 2. 9.100 libpostproc 54. 7.100 / 54. 7.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4': Metadata: major_brand : mp42 minor_version : 512 compatible_brands: isomiso2avc1 creation_time : 2019-06-09T17:32:03.000000Z encoder : HandBrake 1.2.0 2018122200 Duration: 00:04:40.38, start: 0.000000, bitrate: 783 kb/s Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 640x360 [SAR 270:269 DAR 480:269], 646 kb/s, 30 fps, 30 tbr, 90k tbn, 180k tbc (default) Metadata: creation_time : 2019-06-09T17:32:03.000000Z handler_name : VideoHandler Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 128 kb/s (default) Metadata: creation_time : 2019-06-09T17:32:03.000000Z handler_name : SoundHandler [h264_v4l2m2m @ 0x4cd950] driver 'exynos-gsc' on card 'exynos-gsc gscaler' Last message repeated 1 times [h264_v4l2m2m @ 0x4cd950] driver 's5p-mfc' on card 's5p-mfc-enc' [h264_v4l2m2m @ 0x4cd950] driver 's5p-mfc' on card 's5p-mfc-dec' [h264_v4l2m2m @ 0x4cd950] Using device /dev/video10 [h264_v4l2m2m @ 0x4cd950] driver 's5p-mfc' on card 's5p-mfc-dec'

Chocobozzz commented 4 years ago

Peertube tries to ffprobe on a .mov: /var/www/peertube/storage/tmp/d7f440f2e04af6d2b4437ad6c59e36dc.mov but you ffprobe on a .mp4. Anyway, it seems a compilation issue/missing codecs of your ffmpeg version on Odroid XU4.

ludwigvon100 commented 4 years ago

Yes, I tried several different video files (different extensions too…) None of them seem to work with it. About compilation with ffmpeg, how can I solve it? Is it possible to install another "standard" version of ffmpeg?

McFlat commented 4 years ago

Getting a lot of these errors... Not sure how to fix this issue, heres some link https://stackoverflow.com/questions/8061798/post-processing-in-ffmpeg-to-move-moov-atom-in-mp4-files-qt-faststart

[troo.tube:443] 2020-05-10T05:36:15.855Z error: Invalid input file in videosAddValidator. {
  "err": {
    "stack": "Error: ffprobe exited with code 1\nffprobe version 4.1.4-1~deb10u1 Copyright (c) 2007-2019 the FFmpeg developers\n  built with gcc 8 (Debian 8.3.0-6)\n  configuration: --prefix=/usr --extra-version='1~deb10u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared\n  libavutil      56. 22.100 / 56. 22.100\n  libavcodec     58. 35.100 / 58. 35.100\n  libavformat    58. 20.100 / 58. 20.100\n  libavdevice    58.  5.100 / 58.  5.100\n  libavfilter     7. 40.101 /  7. 40.101\n  libavresample   4.  0.  0 /  4.  0.  0\n  libswscale      5.  3.100 /  5.  3.100\n  libswresample   3.  3.100 /  3.  3.100\n  libpostproc    55.  3.100 / 55.  3.100\n[mov,mp4,m4a,3gp,3g2,mj2 @ 0x5645fb68e000] moov atom not found\n/var/www/peertube/storage/tmp/2b31a10921f5ace683e4dc8e29872f6f.mp4: Invalid data found when processing input\n\n    at ChildProcess.<anonymous> (/var/www/peertube/versions/peertube-v2.1.1/node_modules/fluent-ffmpeg/lib/ffprobe.js:233:22)\n    at ChildProcess.emit (events.js:198:13)\n    at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)"
  }
}
PeerTube Version: 2.1.1
ffmpeg version 4.1.4-1~deb10u1 Copyright (c) 2000-2019 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --prefix=/usr --extra-version='1~deb10u1' --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil      56. 22.100 / 56. 22.100
libavcodec     58. 35.100 / 58. 35.100
libavformat    58. 20.100 / 58. 20.100
libavdevice    58.  5.100 / 58.  5.100
libavfilter     7. 40.101 /  7. 40.101
libavresample   4.  0.  0 /  4.  0.  0
libswscale      5.  3.100 /  5.  3.100
libswresample   3.  3.100 /  3.  3.100
libpostproc    55.  3.100 / 55.  3.100