Marco Tecno Posted February 11, 2016 Share Posted February 11, 2016 What is this file? NX1_SDK_ffmpeg.zip From the link above. Quote Link to comment Share on other sites More sharing options...
archipelago Posted February 11, 2016 Share Posted February 11, 2016 17 minutes ago, Marco Tecno said: What is this file? NX1_SDK_ffmpeg.zip From the link above. I think it's the source code for HEVC (h265) (de)coder. Quote Link to comment Share on other sites More sharing options...
ReinisK Posted February 11, 2016 Share Posted February 11, 2016 Looking at the information found about nx300 hack (the one which disables recording time limit), it seems that one way of doing some hacking would be with a firmware update. Another way of doing it might be through wifi or connecting the camera to pc with a cable. If it would be possible to enter the camera as a developer/debug mode, maybe some code could be changed right in the camera. As I understand, that nx1.zip file contains the updated firmware 1.4 which is running on the camera. Now when we have access to it, we can find the parameters, that describe the things we need to change, let's try the bitrate first. I just used search and was able to find many mentions of "bitrate" in the zip along with numbers like "min = 6000000" and "max = 8000000". Don't know what these numbers are for, but that is a start. So we need to find the right numbers and pack them in a new firmware update, like the nx300 hacker did. Here is a description of that process: https://sites.google.com/site/nxcryptophotography/diy-firmware And then someone needs to be brave enough to test it :D Pavel Mašek and kidzrevil 2 Quote Link to comment Share on other sites More sharing options...
sandro Posted February 11, 2016 Share Posted February 11, 2016 39 minutes ago, ReinisK said: Looking at the information found about nx300 hack (the one which disables recording time limit), it seems that one way of doing some hacking would be with a firmware update. Another way of doing it might be through wifi or connecting the camera to pc with a cable. If it would be possible to enter the camera as a developer/debug mode, maybe some code could be changed right in the camera. As I understand, that nx1.zip file contains the updated firmware 1.4 which is running on the camera. Now when we have access to it, we can find the parameters, that describe the things we need to change, let's try the bitrate first. I just used search and was able to find many mentions of "bitrate" in the zip along with numbers like "min = 6000000" and "max = 8000000". Don't know what these numbers are for, but that is a start. So we need to find the right numbers and pack them in a new firmware update, like the nx300 hacker did. Here is a description of that process: https://sites.google.com/site/nxcryptophotography/diy-firmware And then someone needs to be brave enough to test it :D i guess it's 80mbit Marco Tecno 1 Quote Link to comment Share on other sites More sharing options...
nougat Posted February 11, 2016 Share Posted February 11, 2016 1 hour ago, ReinisK said: I just used search and was able to find many mentions of "bitrate" in the zip along with numbers like "min = 6000000" and "max = 8000000". Don't know what these numbers are for, but that is a start. So we need to find the right numbers and pack them in a new firmware update, like the nx300 hacker did. Let's put a "1" in front of those numbers and give it a shot! 180 Mbps should do the trick. Pavel Mašek, Marco Tecno, vaga and 1 other 4 Quote Link to comment Share on other sites More sharing options...
Marco Tecno Posted February 11, 2016 Share Posted February 11, 2016 This is really interesting. I'm not sure it will be __that__ easy, but I guess that some variables are passed that can be changed with a hex editor. Pavel Mašek 1 Quote Link to comment Share on other sites More sharing options...
MountneerMan Posted February 11, 2016 Share Posted February 11, 2016 Another really promising snipet from NX1_packages\standard-arm7\usr\include\wideo\drime5\hdmi\d5_hdmi_video_type.h /** * @enum ColorSpace * @brief Color space of video stream. */ enum ColorSpace { HDMI_CS_RGB,/**< RGB color space */ HDMI_CS_YCBCR444,/**< YCbCr 4:4:4 color space */ HDMI_CS_YCBCR422/**< YCbCr 4:2:2 color space */ }; /** * @enum ColorDepth * @brief Color depth per pixel of video stream */ enum ColorDepth { HDMI_CD_36,/**< 36 bit color depth per pixel */ HDMI_CD_30,/**< 30 bit color depth per pixel */ HDMI_CD_24/**< 24 bit color depth per pixel */ }; I don't have an external recorder but doesn't the NX1 currently only offer 4:2:2 8 bit out? vaga and kidzrevil 2 Quote Link to comment Share on other sites More sharing options...
caseywilsondp Posted February 11, 2016 Share Posted February 11, 2016 41 minutes ago, MountneerMan said: Another really promising snipet from NX1_packages\standard-arm7\usr\include\wideo\drime5\hdmi\d5_hdmi_video_type.h /** * @enum ColorSpace * @brief Color space of video stream. */ enum ColorSpace { HDMI_CS_RGB,/**< RGB color space */ HDMI_CS_YCBCR444,/**< YCbCr 4:4:4 color space */ HDMI_CS_YCBCR422/**< YCbCr 4:2:2 color space */ }; /** * @enum ColorDepth * @brief Color depth per pixel of video stream */ enum ColorDepth { HDMI_CD_36,/**< 36 bit color depth per pixel */ HDMI_CD_30,/**< 30 bit color depth per pixel */ HDMI_CD_24/**< 24 bit color depth per pixel */ }; I don't have an external recorder but doesn't the NX1 currently only offer 4:2:2 8 bit out? yes, well thats what is purported around the internet. hard to test as the shogun wraps everything as 422 10bit regardless of input. the severe banding that still occurs makes me think that the output is still only 420 8bit but I'm not sure how to prove it. (i'm making that assumption based on my experience with the a7s, which almost refused to band when i shot to the shogun, vs shooting internally) Quote Link to comment Share on other sites More sharing options...
Marco Tecno Posted February 11, 2016 Share Posted February 11, 2016 I'm quite sure that if nx1 could output in 4:4:4 10/12bit, it would sell so many units that samsung could even think about starting again the production :-P vaga, kidzrevil and iamoui 3 Quote Link to comment Share on other sites More sharing options...
undecided Posted February 11, 2016 Share Posted February 11, 2016 1 hour ago, Marco Tecno said: I'm quite sure that if nx1 could output in 4:4:4 10/12bit, it would sell so many units that samsung could even think about starting again the production :-P It's all about the codec parameters. They chose file size over detail. They could have made it so that the user could choose. vaga, iamoui and kidzrevil 3 Quote Link to comment Share on other sites More sharing options...
MountneerMan Posted February 12, 2016 Share Posted February 12, 2016 2 hours ago, undecided said: It's all about the codec parameters. They chose file size over detail. They could have made it so that the user could choose. They do, Its in the video quality setting. The question is are they sandbagging with the HQ video setting and by how much. Honestly for me the 4K/UHD quality of the NX1 if good enough for my purposes. I would really just like to see things like the 29 min limit removed or 4k 60p or 1080 240p vaga 1 Quote Link to comment Share on other sites More sharing options...
Dean Posted February 12, 2016 Share Posted February 12, 2016 4 hours ago, undecided said: It's all about the codec parameters. They chose file size over detail. They could have made it so that the user could choose. I reckon the did it so the user can play the H265 directly into their Samsung TV's Marco Tecno and iamoui 2 Quote Link to comment Share on other sites More sharing options...
kidzrevil Posted February 12, 2016 Author Share Posted February 12, 2016 24 minutes ago, Dean said: I reckon the did it so the user can play the H265 directly into their Samsung TV's Exactly why they did it Quote Link to comment Share on other sites More sharing options...
Syme Posted February 12, 2016 Share Posted February 12, 2016 Looking at the drime5 kernel source I was pleasantly surprised to see that there is actually quite a lot there. I expected that they would probably do like almost every Android phone does and include all the important drivers as binary blobs, but it looks like most of the HEVC encoder driver is actually right there in the open-source part. Of course the code that actually sets the bitrate is in the closed-source camera application, but knowing which functions are used to actually pass the parameters to the driver should make it easier to find where to look in the closed-source part. Another pleasant surprise was that the firmware update files look fairly straightforward to unpack. I'm no expert in reverse engineering, but judging by a cursory examination, the level of wacky encryption/obfuscation I've seen in the firmware updates for other devices doesn't seem to be present in the NX1 files. At least that's my impression from browsing the files for an hour or two. It's always possible I could be completely wrong. Dean, Marco Tecno and Pavel Mašek 3 Quote Link to comment Share on other sites More sharing options...
kidzrevil Posted February 12, 2016 Author Share Posted February 12, 2016 2 hours ago, Syme said: Looking at the drime5 kernel source I was pleasantly surprised to see that there is actually quite a lot there. I expected that they would probably do like almost every Android phone does and include all the important drivers as binary blobs, but it looks like most of the HEVC encoder driver is actually right there in the open-source part. Of course the code that actually sets the bitrate is in the closed-source camera application, but knowing which functions are used to actually pass the parameters to the driver should make it easier to find where to look in the closed-source part. Another pleasant surprise was that the firmware update files look fairly straightforward to unpack. I'm no expert in reverse engineering, but judging by a cursory examination, the level of wacky encryption/obfuscation I've seen in the firmware updates for other devices doesn't seem to be present in the NX1 files. At least that's my impression from browsing the files for an hour or two. It's always possible I could be completely wrong. Progress ! Thats what i like to hear !!! Quote Link to comment Share on other sites More sharing options...
Marco Tecno Posted February 12, 2016 Share Posted February 12, 2016 Out of curiosity: is it possible to compare the fw for nx500 and nx1 in order to implement in nx1 the choice of having cropped 4k, for digital lossless zooming in video? iamoui, Mattias Burling and Geoff CB 3 Quote Link to comment Share on other sites More sharing options...
SMGJohn Posted February 12, 2016 Share Posted February 12, 2016 It should be possible to construct a new firmware and just apply it into the camera, basically all the features are already there we just need to unlock them. Though I would still like to see a hack to give it raw video output in 4k. Quote Link to comment Share on other sites More sharing options...
Marco Tecno Posted February 12, 2016 Share Posted February 12, 2016 For raw video output you mean...12bit? Or really raw in the sense of still images? In the second case, I doubt it could be technically possible. Quote Link to comment Share on other sites More sharing options...
SMGJohn Posted February 12, 2016 Share Posted February 12, 2016 1 hour ago, Marco Tecno said: For raw video output you mean...12bit? Or really raw in the sense of still images? In the second case, I doubt it could be technically possible. Its as much possible as the existence of Magic Lantern, yes I mean CineDNG files. Apparently the Tizen Dev Tools exists but for Ubuntu Linux only. Explains how to build a package for NX1 or NX500 Quote System requirement (Strongly recommended) * OS: Ubuntu 12.04 or newer Installing Development Tools in Ubuntu * Open the source list by using text editor. $ sudo vi /etc/apt/sources.list * Add Tizen tools repository to the source list. deb http://download.tizen.org/tools/latest-release/Ubuntu_12.04 / * Resynchronize the package index files from the sources specified in the source list by executing the following command: $ sudo apt-get update * Install a development tool by executing the following command: $ sudo apt-get install gbs Build root strap setup * Download build rootstrap(NX1_packages.tar.gz) and unpack into home directory $ sudo tar xfz {build rootstrap name} --same-owner * Change root to the build rootstrap $ sudo chroot standard-armv7l * Change account to abuild $ su abuild Building a package * Source packages are in the /home/abuild/rpmbuild/SRPMS * Build a package with rpmbuild $ cd /home/abuild/rpmbuild/SRPMS $ rpmbuild --rebuild {src.rpm name} * You can find binary rpms in /home/abuild/rpmbuild/RPMS Building a kernel setup * Download the kernel file(NX1_kernel.tar.gz) and unpack into home directory $ tar xfz {kernel file name} Building the kernel * Build the kernel $ cd linux-3.5 $ make - End of file (2014.11.10) - Edit: I found Tizen SDK Tool for Windows, wonder if it will work with the Tizen OS in the NX series. vaga and Alborat 2 Quote Link to comment Share on other sites More sharing options...
Marco Tecno Posted February 12, 2016 Share Posted February 12, 2016 Referring to nx1, each raw file (28mp) is about 40MB. So 30fps would translate into 1.2GB/sec. So even if the sensor could be able to stream at that rate, no IO device could record it (possibly those new pci-e ssd devices, but you'd need 1TB for few minutes of video...). Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.